版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 MATLAB 程序设计与应用程序设计与应用汪建军汪建如 何何 提提 高高 你你 的的 编编 程程 和和 数数 值值 计计 算算 能能 力力 课程说明课程说明教材教材学生学生课程名称课程名称MATLAB学时学时36时时 1-12周周学分学分 MATLAB系系 统统 环环 境境MATLAB系统环境系统环境系统环境帮助系统MATLAB发展开发了Eispack软件包用于特征值的求解用于特征值的求解开发了Linpack软件包用于线性方程组的求解用于线性方程组的求解MATLAB安装系统界面MATLAB特点MATLAB功能1970s美国新美国新墨西哥州大学墨西哥州大学Cleve
2、MolerMATrix LABoratoryMATLABMATLAB系统环境系统环境系统环境帮助系统MATLAB发展同Cleve Moler & Steve Bangert开发第2代专业版MATLAB同时兼有数值计算和数据图示化功能MATLAB安装系统界面MATLAB特点MATLAB功能 1983 John Little MATLAB系统环境系统环境系统环境帮助系统MATLAB发展1984年商业化3.0DOS版1992年Mathworks4.0版1994年推出年推出4.2版版 扩充了扩充了4.0版本功能版本功能 提供了图形界面设提供了图形界面设计方面方法计方面方法1997年推出年推出5
3、.0版版 允许了更允许了更多的数据结构多的数据结构 如单元数据如单元数据 结结构数据构数据 多维矩阵多维矩阵 对象与类等对象与类等 使其成为一种更方便编程的语使其成为一种更方便编程的语言言1999年推出年推出5.3版版进一步改进进一步改进MATLA B功能功能MATLAB安装系统界面MATLAB特点MATLAB功能MATLAB系统环境系统环境系统环境帮助系统MATLAB发展2000年年10月底推出了其全新月底推出了其全新的的 MATLAB 6.0正式版正式版 在核心数值算法在核心数值算法 界面设计界面设计 外外部接口部接口 应用桌面等诸多方面应用桌面等诸多方面进行了极大改进进行了极大改进200
4、2年年6月发布了其全新的月发布了其全新的 MATLAB 6.5正式版正式版2004年年5月推出月推出Matlab7.0MATLAB 7.9 R2009bMATLAB 7.10 R2010b 2010.9.3MATLAB安装系统界面MATLAB特点MATLAB功能MATLAB系统环境系统环境系统环境帮助系统MATLAB发展MATLAB安装系统界面MATLAB特点MATLAB功能成为线性代数成为线性代数 自动控制理论自动控制理论 数理统计数理统计 数字信号处理数字信号处理 时间时间序列分析序列分析 动态系统仿真等高动态系统仿真等高级课程的教学工具级课程的教学工具成为研究生进行科学研究成为研究生进行
5、科学研究的必备数据分析和计算工具的必备数据分析和计算工具成为设计研究单位和工业成为设计研究单位和工业部门用于解决工程问题的工具部门用于解决工程问题的工具MATLAB系统环境系统环境系统环境帮助系统MATLAB发展功能强大功能强大离线和在线计算离线和在线计算数值和符号计算数值和符号计算数学和文字统一处理数学和文字统一处理计算结果和编程可视化计算结果和编程可视化功能性和学科性工具箱功能性和学科性工具箱界面友好界面友好 语言自然语言自然 计算单元为矩阵计算单元为矩阵 指令表达近似于数学式指令表达近似于数学式 开放性强开放性强核心及工具箱文件可读可改核心及工具箱文件可读可改MATLAB安装系统界面MA
6、TLAB特点MATLAB功能MATLAB系统环境系统环境系统环境帮助系统MATLAB发展MATLAB提供了丰富的矩阵运算提供了丰富的矩阵运算处理功能处理功能 基于矩阵运算的基于矩阵运算的处理处理变量变量是是 矩阵矩阵 运算运算是是 矩阵的运算矩阵的运算如如 A B C都是矩阵都是矩阵C = A + B 此即矩阵的加运算此即矩阵的加运算如常数如常数 Y=5 MATLAB也看做是也看做是 一个一个1 1的矩阵的矩阵MATLAB安装系统界面MATLAB特点MATLAB功能 矩阵运算功能MATLAB系统环境系统环境系统环境帮助系统MATLAB发展符号运算符号运算即用字符串进行数学即用字符串进行数学计算
7、计算允许变量不赋值而参与运算允许变量不赋值而参与运算求解代数方程求解代数方程 微积分微积分 复合导数复合导数 积分积分 二重积分二重积分 有理函数有理函数 微分方微分方程程 泰勒级数展开泰勒级数展开 寻优等寻优等MATLAB安装系统界面MATLAB特点MATLAB功能 符号运算功能MATLAB系统环境系统环境系统环境帮助系统MATLAB发展采用用于建模采用用于建模 仿真仿真和分析的动态系统软件包和分析的动态系统软件包用结构图编程用结构图编程不用程序编程不用程序编程拖动方块拖动方块 连接线条连接线条 即可实现编程功能即可实现编程功能MATLAB安装系统界面MATLAB特点MATLAB功能 图形化
8、编程MATLAB系统环境系统环境系统环境帮助系统MATLAB发展符号数学工具箱符号数学工具箱控制系统工具箱控制系统工具箱信号处理工具箱信号处理工具箱图象处理工具箱图象处理工具箱MATLAB主工具箱主工具箱神经元网络工具箱神经元网络工具箱SIMULINK仿真工具箱仿真工具箱MATLAB安装系统界面MATLAB特点MATLAB功能 丰富的MATLAB工具箱moreMATLAB系统环境系统环境系统环境帮助系统MATLAB发展MATLAB安装系统界面MATLAB特点MATLAB功能 MATLAB的兼容功能可与可与C、C+、FORTRAN语言语言跨平台兼容跨平台兼容用函数用函数CMEX FMEX实现实现
9、MATLAB系统环境系统环境系统环境帮助系统MATLAB发展非法操作时给出非法操作时给出提示提示 但并不影响其操作但并不影响其操作1/0Warning: Divide by zeroans = InfMATLAB安装系统界面MATLAB特点MATLAB功能 MATLAB的容错功能MATLAB系统环境系统环境系统环境帮助系统MATLAB发展准备下载空间准备下载空间 Matlab6.5约约1G Matlab7.0约约1.2G使用下载版本依使用下载版本依PC性能性能 一般一般Matlab7.x采用下载途径有采用下载途径有flashget http htp BT web迅雷迅雷 360确定下载安装文件
10、格式确定下载安装文件格式 rar zip bin ccd cue img sub iso 后面后面5种种 需虚拟光驱工具如需虚拟光驱工具如Daemon tools打开下载安装文件打开下载安装文件MATLAB安装系统界面MATLAB特点MATLAB功能MATLAB安装前的准备MATLAB系统环境系统环境MATLAB安装MATLAB系统环境系统环境系统环境帮助系统MATLAB发展菜单栏菜单栏工具栏工具栏快捷方式快捷方式工作空间窗口工作空间窗口命令窗口命令窗口命令历史窗口命令历史窗口当前路径窗口当前路径窗口MATLAB安装系统界面MATLAB特点MATLAB功能MATLAB系统界面组成MATLAB系
11、统环境系统环境MATLAB系统界面菜单栏菜单栏工具栏工具栏快捷方式快捷方式命令窗口命令窗口命令历史窗口命令历史窗口当前路径当前路径工作窗口工作窗口 MATLAB系统环境系统环境MATLAB系统界面 当前路径窗口当前路径窗口当前路径窗口当前路径当前路径在默认设置下在默认设置下 当前路径窗口自动当前路径窗口自动显示于显示于MATLAB界面中界面中也可以选择也可以选择Desktop| Current Directory命令调出或隐藏该命令命令调出或隐藏该命令窗口窗口当前路径窗口显示着当前用户工当前路径窗口显示着当前用户工作所在的路径作所在的路径MATLAB系统环境系统环境MATLAB系统界面 当前路
12、径当前路径的历史记录列表当前路径的历史记录列表添加新的当前路径添加新的当前路径回到当前路径的上一级路径回到当前路径的上一级路径MATLAB系统环境系统环境MATLAB系统界面 搜索路径Matlab命令命令是变量是变量执行执行yesnoyes执行执行no 当前目录下当前目录下的的 M文件文件 内部函数内部函数yes执行执行搜索路径中其他搜索路径中其他目录下的目录下的 M文件文件执行执行yesnono停止停止当前目录的设置方法当前目录的设置方法当前目录搜索路径的设置方法当前目录搜索路径的设置方法使用使用path命令命令在命令窗口中输入在命令窗口中输入path(path,c:mydir)使用对话框或
13、改使用对话框或改pathdef.m文件文件在命令窗口中输入在命令窗口中输入pathtool 在弹出对话框中设置在弹出对话框中设置MATLAB系统环境系统环境MATLAB系统界面 快捷方式1324MATLAB系统环境系统环境MATLAB系统界面 工作空间窗口工作空间窗口工作空间窗口它是它是MATLAB用于存储各种用于存储各种变量和结果的内存空间变量和结果的内存空间显示所有显示所有 变量的名称变量的名称 取值取值 变量类型说明变量类型说明可以查看变量可以查看变量 编辑编辑 修改修改 删删除变量除变量MATLAB系统环境系统环境MATLAB系统界面 命令历史窗口命令历史窗口命令历史窗口自动保存用过命
14、令的历史记录自动保存用过命令的历史记录 标明记录的时间标明记录的时间 方便查询方便查询双击命令历史窗口中的命令可再双击命令历史窗口中的命令可再次运行命令历史次运行命令历史清除历史记录可点击菜单清除历史记录可点击菜单 Edit|clear Command HistoryMATLAB系统环境系统环境MATLAB系统界面 工作空间窗口工作空间窗口工作空间窗口 MATLAB主要交主要交互窗口互窗口 用于输入命令并显示除用于输入命令并显示除图形以外的所有执行结果图形以外的所有执行结果命令后带分号命令后带分号 不显示命令结果不显示命令结果多条命令一行执行多条命令一行执行 命令间用逗号隔开命令间用逗号隔开多
15、条命令多行执行多条命令多行执行 命令间用逗号加省略号隔开命令间用逗号加省略号隔开MATLAB系统环境系统环境系统环境帮助系统MATLAB发展帮助命令帮助命令 help命令命令 lookfor命令命令帮助窗口帮助窗口MATLAB安装系统界面MATLAB特点MATLAB功能MATLAB帮助系统MATLAB系统环境系统环境MATLAB帮助系统 帮助命令显示帮助的主题显示帮助的主题显示算符和特殊字符显示算符和特殊字符显示显示help命令的用法命令的用法显示显示plot函数的用法函数的用法显示带有例子的显示带有例子的plot函数的用法函数的用法查找有关键字查找有关键字plot的所有的所有M文件文件MAT
16、LAB系统环境系统环境MATLAB帮助系统 帮助窗口按关键字查找按关键字查找按索引查找按索引查找按演示分类查找按演示分类查找打开帮助窗口的方法打开帮助窗口的方法点击主窗口工具栏中的点击主窗口工具栏中的help按钮按钮运行运行helpwin helpdesk doc命令命令选择选择help菜单中的菜单中的MATLAB Help命令命令按主题查找按主题查找 MATLAB应应 用用 举举 例例MATLAB应用举例应用举例最小二乘拟合x=10:10:1000;y=1./x;N=size(x),N=N(1,2);y1=y+rand(1,N);B=zeros(N,1)+1 x (x).2 (x).3 (x
17、).4 (x).5 (x).6 ;L=y;parameter=inv(B*B)*B*L;parameternewy=B*parameter;figureplot(x,y,*);hold on;plot(x,newy,r-)MATLAB应用举例应用举例解析公式推导MATLAB应用举例应用举例向量场分析MATLAB应用举例应用举例Delaunay三角网构建rand(state,0);x = rand(1,10);y = rand(1,10);TRI = delaunay(x,y);subplot(1,2,1),.triplot(TRI,x,y)axis(0 1 0 1);hold on;plot(
18、x,y,or);hold offMATLAB应用举例应用举例统计直方图MATLAB应用举例应用举例统计图表设计测绘学院近五年承担科研项目测绘学院近五年承担科研项目近近500500项项,科研总经费达,科研总经费达1.81.8亿元亿元,年均,年均超超35003500万万MATLAB应用举例应用举例2004年苏门答腊地震引起的地球重力场变化MATLAB应用举例应用举例汶川地震同震应力图MATLAB应用举例应用举例高精度地球重力场模型构建与局部大地水准面确定MATLAB应用举例应用举例等高线追踪0 0 0 2 10 220 0 0 3 15 260 0 3 10 21 320 0 4 13 22 29
19、0 0 0 7 17 26手工绘制手工绘制计算机计算机MATLAB应用举例应用举例Surf面状模型(精细插值和面状模型(精细插值和增加纹理)增加纹理)水底地形三维显示MATLAB应用举例应用举例莱特兄弟的飞机莱特兄弟的飞机三维仿真 MATLAB方方 法法 入入 门门MATLAB学习方法学习方法1. 熟悉熟悉MATLAB工具的基本使用方法工具的基本使用方法2. 熟悉熟悉MATLAB语言的基本用法语言的基本用法3. 熟悉熟悉MATLAB中绘制图形图表的命令中绘制图形图表的命令4. 了解了解MATLAB中中MAPPING工具箱工具箱5. 能够使用能够使用MATLAB完成简单的计算和图形显示完成简单的
20、计算和图形显示6. 根据所学的专业知识,能够利用根据所学的专业知识,能够利用MATLAB建立一些简单的数学模型建立一些简单的数学模型7. 多读源代码,多实践操作多读源代码,多实践操作怎样学习和应用怎样学习和应用MATLABMATLAB?.MATLAB学习方法学习方法http:/www.spatial- 空间经济学统计的网站,提供很多MATLAB成熟源码http:/ 常用的操作命令和键盘技巧MATLAB 的数据类型向量与矩阵的处理程序流程控制M 文件及文件操作MATLAB入门入门简单的数学运算 常用的操作命令和键盘技巧MATLAB 的数据类型向量与矩阵的处理程序流程控制M 文件及文件操作MATL
21、AB入门入门运算运算基本运算符基本运算符数组运算符数组运算符实例实例+1+2; a+b-1-2; a-b*.*1*2; a.*b右除右除/./1/2; a./b左除左除.12; a.b幂幂.21; a.2简单的数学运算 数学运算符MATLAB入门入门简单的数学运算 数学函数MATLAB 是一个科学计算软件,因此可以支持很多常用是一个科学计算软件,因此可以支持很多常用到的数学函数到的数学函数n y = abs(x) % 取取 x 的绝对值的绝对值n y = sin(x) % 取取 x 的正弦值的正弦值n y = exp(x) % 自然指数自然指数 exp(x)n y = log(x) % 自然对
22、数自然对数 ln(x)MATLAB 也支持复数运算,通常以也支持复数运算,通常以 i 或或 j 代表单位虚数代表单位虚数 MATLAB入门入门简单的数学运算 数学函数sinasincosacostanatan, atan2cotacotexploglog10log2pow2sqrtabsfloorfixceilMATLAB入门入门简单的数学运算 标点符号的意义标点符号标点符号定定 义义标标 点点 符符 号号定定 义义; ;区分行,取消运行显示等区分行,取消运行显示等. .小数点以及域访问等小数点以及域访问等, ,区分列,函数参数分隔符等区分列,函数参数分隔符等连接语句连接语句: :在数组中应用
23、较多在数组中应用较多 字符串的标识符号字符串的标识符号( )( )指定运算优先级等指定运算优先级等= =赋值符号赋值符号 矩阵定义的标志等矩阵定义的标志等! !调用操作系统命令调用操作系统命令 用于构成元胞数组等用于构成元胞数组等%注释语句的标识注释语句的标识MATLAB入门入门简单的数学运算 注释若要加入批注(若要加入批注(Comments) 可以使用百分比符号(可以使用百分比符号(%) 例如例如 y = (5*2+3.5)/5; % 将运算结果储存在变量将运算结果储存在变量 y 但不用显示于屏幕但不用显示于屏幕 z = y2 % 将运算结果储存在变量将运算结果储存在变量 z并显示于屏幕并显
24、示于屏幕z = 7.2900 MATLAB入门入门简单的数学运算 常用的操作命令和键盘技巧MATLAB 的数据类型向量与矩阵的处理程序流程控制M 文件及文件操作MATLAB入门入门常用的操作命令命令命令该命令的功能该命令的功能命令命令该命令的功能该命令的功能holdhold图形保持命令图形保持命令dispdisp显示变量或文字内容显示变量或文字内容clcclc清除工作窗清除工作窗loadload加载指定文件的变量加载指定文件的变量clearclear清除内存变量清除内存变量cdcd显示或改变工作目录显示或改变工作目录clfclf清除图形窗口清除图形窗口echoecho工作窗信息显示开关工作窗信
25、息显示开关diarydiary日志文件命令日志文件命令quitquit退出退出MATLABMATLABpathpath显示搜索目录显示搜索目录savesave保存内存变量到指定文件保存内存变量到指定文件typetype显示文件内容显示文件内容dirdir显示当前目录下文件显示当前目录下文件packpack整理内存碎片整理内存碎片MATLAB入门入门常用的键盘操作和快捷键键盘按钮和快捷键盘按钮和快捷键键该操作的功能该操作的功能键盘按钮和快捷键键盘按钮和快捷键该操作的功能该操作的功能(Ctrl(Ctrlp)p)调用上一行调用上一行Home(CtrlHome(Ctrla)a)光标置于当前行开头光标置
26、于当前行开头(Ctrl(Ctrln)n)调用下一行调用下一行End(CtrlEnd(Ctrle)e)光标置于当前行结尾光标置于当前行结尾(Ctrl(Ctrlb)b)光标左移一字符光标左移一字符Esc(CtrlEsc(Ctrlu)u)清除当前输入行清除当前输入行(Ctrl(Ctrlf)f)光标右移一字符光标右移一字符Del(CtrlDel(Ctrld)d)删除光标处字符删除光标处字符CtrlCtrl光标左移一单词光标左移一单词Backspace(CtrlBackspace(Ctrlh)h)删除光标前字符删除光标前字符CtrlCtrl光标右移一单词光标右移一单词CtrlCtrlz z恢复上一次删除
27、恢复上一次删除MATLAB入门入门简单的数学运算 常用的操作命令和键盘技巧MATLAB 的数据类型向量与矩阵的处理程序流程控制M 文件及文件操作MATLAB入门入门MATLAB 的数据类型 数值记述和命名规则 数值的记述数值的记述 matlab的数值采用习惯的十进制表示的数值采用习惯的十进制表示 可以带小数点或负号可以带小数点或负号 这些记述都合法这些记述都合法 3 -99 0.001 1.3e-3 4.5e33 变量命名规则变量命名规则变量名变量名 函数名对字母大小写敏感函数名对字母大小写敏感变量名的第一个字母必须是英文字母变量名的第一个字母必须是英文字母对对6.5版,变量名最多可包含版,变
28、量名最多可包含63个字符个字符(英文、数字和下英文、数字和下连符连符) 对以前的版本,变量名的字符不超过对以前的版本,变量名的字符不超过31个个变量名不得包含空格变量名不得包含空格 标点标点 但可以包含下划线但可以包含下划线MATLAB入门入门MATLAB 的数据类型 保留常量Matlab 的保留常量(永久变量)的保留常量(永久变量)neps 容差变量,定义为容差变量,定义为1.0到最近的浮点的距离。到最近的浮点的距离。PC机上定义为机上定义为2-52ni,j 虚数单位虚数单位nPi 圆周率圆周率nNaN 非数(非数(Not a Number),由),由0/0, /,0* 等运算产生等运算产生
29、nInf/inf 正无穷大,定义为(正无穷大,定义为(1/0)MATLAB入门入门MATLAB 的数据类型 预定义变量名称名称说明说明名称名称说明说明pi圆周率常数圆周率常数eps浮点数的相对误差浮点数的相对误差INF无穷大无穷大i (或或j)虚数单位虚数单位NaN(或或nan)不定值不定值nargin函数实际输入参数个数函数实际输入参数个数realmax最大的正实数最大的正实数1.797693134862316e+308nargout函数实际输出参数个数函数实际输出参数个数realmin最小的正实数最小的正实数2.225073858507201e-308ANS(或或ans)默认变量名,存储最
30、近一默认变量名,存储最近一次运算结果次运算结果MATLAB入门入门MATLAB 的数据类型 内存变量的查阅和删除在在workspace中操作中操作whowhosclearMATLAB入门入门MATLAB 的数据类型 变量的文件存取 通过菜单进行存取通过菜单进行存取save和和load命令命令 save Filename 保存所有变量到保存所有变量到Filename.mat save Filename v1 v2 保存保存v1,v2到到Filename.mat save Filename v1 v2 append 把把v1,v2添加到添加到Filename.mat save Filename v
31、1 v2 ascii 保存保存v1,v2为为8位位ascii文件文件Filename save Filename v1 v2 ascii double 保存保存v1,v2位位16位位ascii文件文件Filename load Filename 读取读取Filename.mat文件中所有变量文件中所有变量 load Filename v1 v2 读取读取Filename.mat文件中的文件中的v1,v2MATLAB入门入门MATLAB 的数据类型 变量的文件存取MATLAB入门入门MATLAB 的数据类型 运算符和表达式数学表达式数学表达式Matlab运算符运算符Matlab表达式表达式加加a
32、+b+a+b减减a-b-a-b乘乘ab*A*b除除ab/或或a/b或或ba幂幂ababMATLAB入门入门MATLAB 的数据类型 MATLAB表达式算术表达式算术表达式 运算符有:运算符有:(加加)、(减减)、*(乘乘)、/(右除右除)、(左除左除)、(乘方乘方) 对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。的关系。关系表达式关系表达式运算符有:运算符有:(小于小于)、(大于大于)、=(大于或等大于或等于于)、=(等于等于)、=(不等于不等于)逻辑表达式逻辑表达式 运算符有:运算符有:&(与与)、|(或或
33、)和和(非非)MATLAB入门入门运算法则运算法则 在逻辑运算中,逻辑命题为真用在逻辑运算中,逻辑命题为真用1表示,逻辑命题为假表示,逻辑命题为假用用0表示。表示。 参与逻辑运算的可以是两个标量、两个同维矩阵或参与逻辑运算的可以是两个标量、两个同维矩阵或 参与逻辑运算的元素一个为标量,另一个为矩阵。参与逻辑运算的元素一个为标量,另一个为矩阵。 在算术、关系、逻辑运算中,算术运算优先级最高,在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。逻辑运算优先级最低。MATLAB 的数据类型 MATLAB运算法则MATLAB入门入门 Matlab用用“/”或或“”表示表示“左除左除”或或
34、“右除右除”。对标。对标量而量而 言,两者没有区别,但对言,两者没有区别,但对矩阵矩阵而言,而言, “左除左除”和和“右除右除”将产生不同的影响。将产生不同的影响。 表达式由变量名、运算符和函数名组成。表达式由变量名、运算符和函数名组成。 表达式自左至右执行运算。表达式自左至右执行运算。 优先级的规定:指数运算级别最高,乘除次之,加减优先级的规定:指数运算级别最高,乘除次之,加减级别最低。级别最低。 括号可以改变运算的次序。括号可以改变运算的次序。 赋值符赋值符“=”和运算符两侧允许有空格,以增加可读性和运算符两侧允许有空格,以增加可读性MATLAB 的数据类型 MATLAB运算法则MATLA
35、B入门入门例:复数例:复数z=3+4i(1)书写格式一:书写格式一: z=3 + 4i(2)书写格式二:书写格式二:z=3 + 4*i说明说明:(1)在格式一中,在格式一中,4i表示一个完整的虚数,表示一个完整的虚数, 在在4和和i之间不允许之间不允许“空格空格”存在。存在。(3)复数标量宜采用格式一表达,复数标量宜采用格式一表达, 计算速度比格式二快。计算速度比格式二快。MATLAB 的数据类型 复数和复数矩阵MATLAB入门入门MATLAB 的数据类型 复数和复数矩阵复数复数z的实部的实部复数复数z的虚部的虚部复数复数z的模的模复数复数z的幅角主值的幅角主值real函数函数 image函数
36、函数 abs函数函数 angle函数函数MATLAB入门入门运算法则运算法则 在逻辑运算中,逻辑命题为真用在逻辑运算中,逻辑命题为真用1表示,逻辑命题为假表示,逻辑命题为假用用0表示。表示。 参与逻辑运算的可以是两个标量、两个同维矩阵或参与逻辑运算的可以是两个标量、两个同维矩阵或 参与逻辑运算的元素一个为标量,另一个为矩阵。参与逻辑运算的元素一个为标量,另一个为矩阵。 在算术、关系、逻辑运算中,算术运算优先级最高,在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。逻辑运算优先级最低。MATLAB 的数据类型 浮点数和显示格式MATLAB入门入门l 一般一般MATLAB的数据都是
37、以的数据都是以double型双精度数值来表示型双精度数值来表示的,这些双精度数在系统内部用二进制来表示。的,这些双精度数在系统内部用二进制来表示。l 这是计算机通常的表示数据的方式,但也带来了一些问这是计算机通常的表示数据的方式,但也带来了一些问题,比如有很多实数不能被精确地表示,对能够表示的值也题,比如有很多实数不能被精确地表示,对能够表示的值也有一个限制,并且还存在一个浮点相对误差限。有一个限制,并且还存在一个浮点相对误差限。epsl 所谓相对误差限是指所谓相对误差限是指MATLAB 语言能够区分两个不同大语言能够区分两个不同大小的数时,这两个数之间的最小差值。小的数时,这两个数之间的最小
38、差值。MATLAB 的数据类型 浮点数和显示格式MATLAB入门入门l 任何任何MATLAB的语句的执行结果都可以在屏幕上显示,同时的语句的执行结果都可以在屏幕上显示,同时赋值给指定的变量,没有指定变量时,赋值给一个特殊的变量赋值给指定的变量,没有指定变量时,赋值给一个特殊的变量ans,数据的显示格式由,数据的显示格式由format命令控制。命令控制。l format只是影响结果的显示,不影响其计算与存储;只是影响结果的显示,不影响其计算与存储;MATLAB总是以双字长浮点数(双精度)来执行所有的运算。总是以双字长浮点数(双精度)来执行所有的运算。l 如果结果为整数,则显示没有小数如果结果为整
39、数,则显示没有小数MATLAB 的数据类型 浮点数和显示格式MATLAB入门入门format (short):短格式(小于1000的以输出到小数点后4位,大于1000的用5位有效数字的科学计数形式输出)format long:长格式(15位有效数字输出)format short e:用5位有效数字的科学计数形式输出format long e:用15位有效数字的科学计数形式输出format bank:2位十进制 99.12format hex:十六进制格式MATLAB 的数据类型 浮点数和显示格式MATLAB入门入门MATLAB 的数据类型 浮点数和显示格式MATLAB入门入门简单的数学运算 常
40、用的操作命令和键盘技巧MATLAB 的数据类型向量与矩阵的处理程序流程控制M 文件及文件操作MATLAB入门入门向量和矩阵的处理 向量的创建1. 命令行直接输入命令行直接输入 2. 冒号表达式冒号表达式 A=1 2 3 %行向量生成行向量生成 用法:初始值:步长:终止值用法:初始值:步长:终止值 A = A=1:2:5 1 2 3 A = 1 3 5 A=1,2,3%行向量生成行向量生成 3. 函数生成法函数生成法A = 1 2 3 用法:用法:linspace(a,b,n) a为起始值为起始值 b为为 终止值终止值 n为向量元素个数为向量元素个数 A=1;2;3%列向量生成列向量生成 A=l
41、inspace(1,5,3)A = A = 1 1 3 5 2 3 MATLAB入门入门向量和矩阵的处理 矩阵的创建1. 命令行直接输入命令行直接输入 2. 矩阵的扩展矩阵的扩展 A=1 2 3;4 5 6 A=1 2 3; 4 5 6;A= C=A eye(2);1 2 3 4 5 1 2 3 C= 4 5 6 1 2 3 1 0 2. 利用利用M文件建立矩阵文件建立矩阵 4 5 6 0 1 Step 1:用文本编辑器生成数据用文本编辑器生成数据 1 2 3 4 5文件文件mydata.m 保存至保存至matlab中的中的work文件夹。数据文件为文件夹。数据文件为 data= 1 2 3;
42、 4 5 6;Step 2:在命令窗口键入在命令窗口键入mydata 生成名为生成名为data的矩阵的矩阵 MATLAB入门入门向量和矩阵的处理 矩阵元素提取及矩阵拆分A = 1 2 3 4; 5 6 7 8; 9 10 11 12; % 建立建立 34 的矩阵的矩阵 A(2,3) = 5 % 将将矩阵矩阵A第二第二行行、第三、第三列列的元素值,的元素值,改变为改变为5 A = 1 2 3 4 5 6 5 8 9 10 11 12 B = A(2,1:3) % 取出矩阵取出矩阵A的第二的第二行行、第一至第三、第一至第三列列,并储存并储存成矩阵成矩阵B B = 5 6 5 A = A B % 将
43、矩阵将矩阵B 转置后转置后、再以、再以列列向量向量并并入矩阵入矩阵A A = 1 2 3 4 5 5 6 5 8 6 9 10 11 12 5 MATLAB入门入门向量和矩阵的处理 矩阵元素提取及矩阵拆分A = 1 2 3 4; 5 6 7 8; 9 10 11 12; % 建立建立 34 的矩阵的矩阵 A(:, 2) = % 删除矩阵删除矩阵A第二列第二列 A = 1 3 4 5 7 8 9 11 12 A(:, 1:2) = % 删除矩阵删除矩阵A第一、二列第一、二列 A = 3 4 7 8 11 12 A(:, end) = % 删除矩阵删除矩阵A的最后一列的最后一列 A = 1 2 3
44、 5 6 7 9 10 11MATLAB入门入门向量和矩阵的处理 矩阵元素提取及矩阵拆分A = 1 2 3 4; 5 6 7 8; 9 10 11 12; % 建立建立 34 的矩阵的矩阵MATLAB中的矩阵是按列存储的,中的矩阵是按列存储的,A(i, j)对应于对应于A(i+(j-1)*3),例如例如 A(2,3)=7 A(8)=7MATLAB入门入门向量和矩阵的处理 矩阵的运算X=1;2;3Addition (+) Z = X + 2Z = 3 ; 4 ; 5 Subtraction (-)Multiplication (*) Z = 2 * XZ = 2 ; 4 ; 6 Division
45、 (/) Z = X / 2Z = 0.5 ; 1 ; 1.5 MATLAB入门入门向量和矩阵的处理 矩阵的运算X=1;2;3Addition (+) Z = X + 2Z = 3 ; 4 ; 5 Subtraction (-)Multiplication (*) Z = 2 * XZ = 2 ; 4 ; 6 Division (/) Z = X / 2Z = 0.5 ; 1 ; 1.5 MATLAB入门入门向量和矩阵的处理 矩阵的运算nInner Productniiininiyxyyyxxxyx111 X = 1 , 2 , 3 ; Y = 1 ; 2 ; 3 ; Z = X * YZ =
46、 14niTnixxxxxx11 Z = XZ = 1 ; 2 ; 3 nTransposeMATLAB入门入门向量和矩阵的处理 矩阵的运算nEuclidean Normniixxxx12nCross Product X = 1 , 2 , 3 ; Z = X * XZ = 14MATLAB入门入门向量和矩阵的处理 矩阵的运算nInversen X = 1 2 3 ; 2 3 1 ; 3 1 2;n Y = inv(X);n Z = X*YZ = 1 0 0 ; 0 1 0 ; 0 0 1 nDeterminantn Z = det( X )Z = -18nEXAMPLE (2 x 2)2 ,
47、 11 , 22 , 21 , 1xxxxX Eigenstates V , D = eig(Z) Eigenvalues D = -1.73, 1.73, 6.00 Eigenvectors V = 0.79 0.21 0.58 ; -0.21 -0.79 0.58 ; -0.58 0.58 0.58MATLAB入门入门向量和矩阵的处理 矩阵的运算nb = ?n A = 1 , 2 ; 3 , 4 ; x = 1 ; 2 ; b = A*x b = 5 ; 11 ; x = ? A = 1 , 2 ; 3 , 4 ; b = 5 ; 11 ; x = Ab x = 1 ; 2 Algorit
48、hms Gaussian EliminationLU Factorizationbbbbxxxxxxxniniiniiniini11in,1ij,1i1,1nn,in,n,1ni,ii,i,1n1,i1,1,1AAAAAAAAAAAAAMATLAB入门入门向量和矩阵的处理 矩阵的运算 Standard Deviation Y = std( X ) Sort Y = sort( X ) Find Y = X( find( X 0.5 ) )nMeann X = rand(10);n Y = mean( X )nMediann Y = median( X )nMaximumn Y = max( X
49、 )nMinimumn Y = min( X )nxxnii1nxxnii12MATLAB入门入门简单的数学运算 常用的操作命令和键盘技巧MATLAB 的数据类型向量与矩阵的处理程序流程控制M 文件及文件操作MATLAB入门入门程序流程控制 for循环MATLAB 提供重复循环(提供重复循环(Loops)及条件判断)及条件判断(Conditions)等程序流程控制()等程序流程控制(Flow Control)的指令的指令for 循环变量=矩阵表达式 循环体语句语句 endMATLAB入门入门程序流程控制 while循环和if条件n while 循环(循环(While-loop) while条件
50、式 表达式; endn if else end if 条件式 表达式; else 表达式; endMATLAB入门入门简单的数学运算 常用的操作命令和键盘技巧MATLAB 的数据类型向量与矩阵的处理程序流程控制M 文件及文件操作MATLAB入门入门M文件MATLAB的脚本文件,文件扩展名的脚本文件,文件扩展名“.m” . 命令行的集合,以实现较复杂的功命令行的集合,以实现较复杂的功能可用任何文本编辑器编辑,可在命令窗直接运行能可用任何文本编辑器编辑,可在命令窗直接运行.MATLAB入门入门M文件例1t=0:pi/50:4*pi; %定义自变量取值数组定义自变量取值数组y0=exp(-t/3);
51、 %计算与自变量相应的计算与自变量相应的y0数组数组y=exp(-t/3).*sin(3*t); %计算与自变量相应的计算与自变量相应的y数组数组plot(t,y,-r,t,y0,:b,t,-y0,:b) %用不同颜色、线型绘制曲线用不同颜色、线型绘制曲线grid %在在“坐标纸坐标纸”画小方格画小方格 teyt3sin330tey02468101214-1-0.8-0.6-0.4-0.60.81MATLAB入门入门M文件clear;x=-8:0.5:8; %定义自变量定义自变量x的一维刻度向量的一维刻度向量y=x; %定义自变量定义自变量y的一维刻度向量的一维刻度向量X=
52、ones(size(y)*x; %计算自变量平面上取值点坐标的二维数组计算自变量平面上取值点坐标的二维数组Y=y*ones(size(x); %计算自变量平面上取值点坐标的二维数组计算自变量平面上取值点坐标的二维数组R=sqrt(X.2+Y.2)+eps;%计算中间变量计算中间变量Z=sin(R)./R; %计算与自变量二维数组相应的函数值计算与自变量二维数组相应的函数值mesh(Z);%绘制三维网格图绘制三维网格图colormap(hot) %指定网格图用指定网格图用hot色图绘制色图绘制 2222)sin(yxyxz010203040010203040-0.500.51例2MATLAB入门
53、入门文件操作Matlab的文件的文件I/O操作操作Matlab提供的进行外部文件访问的低层操作函数,提供最简单的文件的读取和存储提供的进行外部文件访问的低层操作函数,提供最简单的文件的读取和存储等操作,类似于等操作,类似于C语言的语言的I/O操作,但是语法更为简单操作,但是语法更为简单文件操作一般流程文件操作一般流程打开文件打开文件(fopen)读取读取/存储文件存储文件(fread/fwrite)关闭文件关闭文件(fclose)MATLAB入门入门文件操作函数函数名函数名功能说明功能说明fopen打开文件打开文件fread从文件中读取二进制数据从文件中读取二进制数据fwrite把二进制数据写到文件里把二进制数据写到文件里feof判断是否到达文件结尾判断是否到达文件结尾ferror查询文件的查询文件的I/O的错误状态的错误状态fprintf把格式化的数据写到文件或者屏幕上把格式化的数据写到文件或者屏幕上fscanf从文件中读取格式化的数据从文件中读取格式化的数据fclose关闭文件关闭文件MATLAB入门入门文件操作 fopen函数fopen操作函数操作函数fid = fopen(filename,允许模式允许模式) fid是文件标识是文件标识允许模式包括:允许模式包括:n r 打开文件进行读操作(默认)打开文件进行读操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际工程合同与索赔 心得
- 合伙分股合同模板
- 眼内炎治疗新进展
- 2024合同协议书法司法解释中英文对照
- 2024薪酬制物业管理合同
- 2024工程装修施工合同范文
- 欧陆风云3(EU3)常用秘籍与国家代码
- 2024劳动合同的注意事项
- 沈阳城市学院《影视导演》2023-2024学年第一学期期末试卷
- 沈阳城市学院《诉讼可视化》2023-2024学年第一学期期末试卷
- 主播艺人入职面试信息登记表
- 灌注桩桩基工程桩头破除、缺陷修补、接桩施工方案
- 掘进工作面贯通专项辨识评估报告
- 疼痛评估:准确评估病人疼痛
- 部编版五年级上册第二单元习作《“漫画”老师》教学实录
- 《严以律已+做遵纪守法的好少年+主题班会教育》
- 强生干式生化V350检测仪标准操作程序(SOP)
- 06-2018泥石流灾害防治工程勘查规范(试行)
- 洛阳市女职工生育保险待遇申报表
- 2023年旅行社经营管理教案
- 扁桃体炎-课件
评论
0/150
提交评论