




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.3 MATLAB介绍,(1) MATLAB 代表MATrix LABoratory 它的首创者是美国新墨西哥大学计算机系的系主任Cleve Moler博士,他在教授线性代数课程发现其他语言很不方便,便构思开发了MATLAB。最初采用FORTRAN语言编写,20世纪80年代后出现了MATLAB的第二版,全部采用C语言编写. 1984年Moler博士和一批数学家及软件专家创建了MathWorks公司,专门开发MATLAB。 1993年出现了微机版,到2003年是6.5版,(2) 一种演草纸式的科学计算语言. (3) MATLAB 是一高性能的技术计算语言. 强大的数值计算和工程运算功能 符号计
2、算功能 强大的科学数据可视化能力 多种工具箱,MATLAB可以进行: 数学计算、算法开发、数据采集 建模、仿真、原型 数据分析、开发和可视化 科学和工程图形应用程序的开发,包括图形用户界面的创建。 MATLAB广泛应用于: 数值计算、图形处理、符号运算、数学建模、系统辨识、小波分析、实时控制、动态仿真等领域。,MATLAB的构成: MATLAB开发环境:进行应用研究开发的交互式平台 MATLAB 数学与运算函数库:用于科学计算的函数 MATLAB 语言:进行应用开发的编程工具 图形化开发:二维、三维图形开发的工具 应用程序接口 (API):用于与其他预言混编 面向专门领域的工具箱:小波工具箱、
3、神经网络工具箱、信号处理工具箱、图像处理工具箱、模糊逻辑工具箱、优化工具箱、鲁棒控制工具箱等几十个不同应用的工具箱。,开发环境包括:命令窗口、图形窗口、编辑窗口、帮助窗口。,命令窗口 可在提示符后输入交互式命令 结果会自动的产生 例如:,图形窗口 在窗口中输入: Plot(1,2,4,9,16,1,2,3,4,5) MATLAB 画出如下图形:,编辑窗口 用来创建和修改M-files (MATLAB 脚本),帮助窗口,MATLAB 语言的特点 Matlab的基本数据单元是不需指定维数的矩阵。 Matlab的所有计算都是通过双精度进行的,在内存中的数都是双精度的。 double 是一个双精度浮点
4、数,每个存储的双精度数用64位。 char用于存储字符,每个存储的字符用16位。,MATLAB程序构成,常变量及其命名规则 变量名可以有数字、字母、下划线构成; 变量的首字符必须是字母; 区分变量名的大小写 每个变量名最长只能包含19个字符。,MATLAB中预定义变量 Ans 分配最新计算表达式的值,这个表达式并没有给定一个名字 Eps 返回机器精度 Realmax 返回计算机能处理的最大浮点数 Realmin 返回计算机能处理的最小的非零浮点数 Pi ,3.14159265 Inf 定义为1/0 。当出现被零除时,Matlab就返回inf,并不中断执行而继续计算 NaN 定义为“Not a
5、Number”,这个非数值要么是类型,要么是inf/inf,向量的创建 在matlab的命令窗口键入以下字符 a = 1 2 3 4 5 6 9 8 7 a = 1 2 3 4 5 6 9 8 7 希望得到元素从0到20,步距为2的一个向量,只需键入以下命令即可 t = 0:2:20 t = 2 4 6 8 10 12 14 16 18 20,矩阵的创建 输入矩阵时每一行元素有分号或者回车键分隔。例如: B = 1 2 3 4;5 6 7 8;9 10 11 12 B = 1 2 3 4 5 6 7 8 9 10 11 12,各种运算符,语句 Matlab语言最基本的赋值语句结构为: 变量名列
6、表=表达式 注1:整个赋值语句以;结束,则不在屏幕上返回结果,否则立即返回结果。 注2:多个语句可在同一行,用逗号分开。 注3:表达式太长可以用续行符号,函数 Matlab由包括许多标准函数,每个函数都完成某一特定功能的代码组成。 Matlab也允许用户编写自己所需的函数,其扩展名为.m,其中必须以关键字function开头.,流程控制 循环语句 for, while 条件转移 if end, if elseif else end 开关语句 switch case 注释语句 % 中断语句 break 暂停语句 pause 回显语句 echo on/off,1、for循环语句 基本格式 for
7、循环变量起始值:步长:终止值 循环体 end 步长缺省值为1,可以在正实数或负实数范围内任意指定。对于正数,循环变量的值大于终止值时,循环结束;对于负数,循环变量的值小于终止值时,循环结束。循环结构可以嵌套使用。,for i=1:5 for j=1:5 a(i,j)=1/(i+j-1); end end a= 1.0000 0.5000 0.3333 0.2500 0.2000 0.5000 0.3333 0.2500 0.2000 0.1667 0.3333 0.2500 0.2000 0.1667 0.1429 0.2500 0.2000 0.1667 0.1429 0.1250 0.20
8、00 0.1667 0.1429 0.1250 0.1111,2、while循环语句 基本格式 while 表达式 循环体 end 若表达式为真,则执行循环体的内容,执行后再判断表达式是否为真,若不为真,则跳出循环体,向下继续执行。,While循环和for循环的区别在于,while循环结构的循环体被执行的次数不是确定的,而for结构中循环体的执行次数是确定的。,用while循环语句编写一个计算1000以内的Fibonacci数: f=1 1; i=1; while f(i)+f(i+1)1000 f(i+2)=f(i)+f(i+1); i=i+1; end f= 1 1 2 3 5 8 13
9、21 34 55 89 144 233 377 610 987,3、if,else,elseif语句 (1)if 逻辑表达式 执行语句 end (2)if 逻辑表达式 (3) if 逻辑表达式1 执行语句1 执行语句1 else elseif 逻辑表达式2 执行语句2 执行语句2 end end,4、switch语句 switch 表达式(可以是标量或字符串) case 值1 语句1 case 值2 语句2 . otherwise 语句3 end,MATLAB程序的基本组成结构 说明 清除命令:清除workspace中的变量和图形(clear,close) 定义变量:包括全局变量的声明及参数值
10、的设定 逐行执行命令:指MATLAB提供的运算指令或工具箱 提供的专用命令 控制循环 : 包含for,if then,switch,while等语句 逐行执行命令 end 绘图命令:将运算结果绘制出来 当然更复杂程序还需要调用子程序,或与simulink以及其他应用程序结合起来。,MATLAB的程序类型有三种,一种是在命令窗口下执行的脚本M文件;另外一种是可以存取的M文件,也即程序文件;最后一种是函数(function)文件。 1、脚本M文件 在命令窗口中输入并执行,它所用的变量都要在工作空间中获取,不需要输入输出参数的调用,退出MATLAB后就释放了。 2、程序M文件 以.m格式进行存取,包
11、含一连串的MATLAB指令和必要的注解。需要在工作空间中创建并获取变量,也就是说处理的数据为命令窗口中的数据,没有输入参数,也不会返回参数。 程序运行时只需在工作空间中键入其名称即可。,3、函数文件 与在命令窗口中输入命令一样,函数接受输入参数,然后执行并输出结果。用help命令可以显示它的注释说明。 具有标准的基本结构。 (1)函数定义行(关键字function) functionout1,out2,. = filename(in1,in2,.) 输入和输出(返回)的参数个数分别由nargin和nargout两个MATLAB保留的变量来给出。 (2)第一行帮助行,即H1行 以(%)开头,作为
12、lookfor指令搜索的行 (3)函数体说明及有关注解 以(%)开头,用以说明函数的作用及有关内容 (4)函数体语句 函数体内使用的除返回和输入变量这些在function语句中直接引用的变量以外的所有变量都是局部变量,即在该函数返回之后,这些变量会自动在MATLAB的工作空间中清除掉。如果希望这些中间变量成为在整个程序中都起作用的变量,则可以将它们设置为全局变量。,MATLAB提供了丰富的绘图功能 help graph2d可得到所有画二维图形的命令 help graph3d可得到所有画三维图形的命令,1、基本的绘图命令 plot(x1,y1,option1,x2,y2,option2,) x1
13、,y1给出的数据分别为x,y轴坐标值,option1为选项参数,以逐点连折线的方式绘制1个二维图形;同时类似地绘制第二个二维图形。 这是plot命令的完全格式,在实际应用中可以根据需要进行简化。比如: plot(x,y);plot(x,y,option) 选项参数option定义了图形曲线的颜色、线型及标示符号,它由一对单引号括起来。,2、选择图像 figure(1);figure(2);figure(n) 打开不同的图形窗口,以便绘制不同的图形。 3、grid on:在所画出的图形坐标中加入栅格 grid off:除去图形坐标中的栅格 4、hold on:把当前图形保持在屏幕上不变,同时 允
14、许在这个坐标内绘制另外一个图形。 hold off:使新图覆盖旧的图形 5、设定轴的范围 axis(xmin xmax ymin ymax) axis(equal):将x坐标轴和y坐标轴的单位刻度大小调整为一样。,6、文字标示 text(x,y,字符串) 在图形的指定坐标位置(x,y)处,标示单引号括起来的字符串。 title(字符串) 在所画图形的最上端显示说明该图形标题的字符串。 xlabel(字符串),ylabel(字符串) 设置x,y坐标轴的名称。 输入特殊的文字需要用反斜杠()开头。 7、legend(字符串1,字符串2,字符串n) 在屏幕上开启一个小视窗,然后依据绘图命令的先后次序
15、,用对应的字符串区分图形上的线。,8、subplot(m,n,k):分割图形显示窗口 m:上下分割个数,n:左右分割个数,k:子图编号 9、semilogx:绘制以x轴为对数坐标(以10为底),y轴为线性坐标的半对数坐标图形。 semilogy:绘制以y轴为对数坐标(以10为底),x轴为线性坐标的半对数坐标图形。 10、了解应用型绘图指令:可用于数值统计分析或离散 数据处理 bar(x,y);hist(y,x) stairs(x,y);stem(x,y),三维的绘图命令基本与二维的相同,稍有差别,不再详述。,绘图实例 函数分析 矩阵运算 线性方程组 曲线拟合 微分方程,绘图实例,fplot(f
16、unc,-1 1.5) %作图 result = func(0) %求函数值 xsolve = fzero(func,3) %求解 Xmin = fminbnd(func,0.5,1) %求最小值,函数分析,矩阵运算 A = 1 2 3 ; 4 5 6 ; 7 8 9; B = 1 2 3 ; 4 5 6; C = 1 0 1 ; 0 2 3 ; 4 5 0; A+C=A+C BA =B*A detA = det(A) traceA = trace(A) BT = B invA = inv(A) rankA = rank(A) EigenVectors,EigenValues = eig(A),A = 3 1 -1 ; 1 2 4 ; -1 4 5 ;b = 3.6 ; 2.1 ; -1.4 ;X = AbEigenVectors,EigenValues = eig(A),线性方程组与特征值,%一次多项是拟合 %已知离散点 x = 1 1.5 3 4 5 6 6.5 7 8; y = 1.2 1 1.7 2.5 2 2.3 2.5 3 3.1; %最小二乘拟合 p1 = polyfit(x,y,1); y1 = polyval(p1,x); plot(x,y1); hold on plot(x,y,ro) grid on,%7次多项是拟合 %已知离散点 x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 灶具项目安全评估报告
- 2025-2030年中国油润滑装置项目投资可行性研究分析报告
- 中国船舶控制电器行业市场发展前景及发展趋势与投资战略研究报告(2024-2030)
- 2025年中国圆角不锈钢化妆箱行业市场发展前景及发展趋势与投资战略研究报告
- 房地产市场报告 -2025年二季度沈阳写字楼和零售物业市场报告
- 菏泽市城市房屋拆迁管理办法
- 蒙城市投资项目管理办法
- 虹口区锅炉监测管理办法
- 医疗健康管理课件
- 西安市公司投资管理办法
- DB37-T 2040-2023 金属矿山尾矿干排安全技术规范
- 审计知识培训课件
- 干细胞治疗宠物
- 二零二五年度户外烧烤场地租赁及食品安全保障服务协议3篇
- 开窗计划-街区营造洞察报告 2025.1
- 《柔毛淫羊藿规范化种植技术规程》
- 2025年度地下综合管廊工程质量保修协议2篇
- 2021年县乡人大换届选举调研报告
- 煤矿千米钻机使用培训
- 化学检验员(高级)复习题与参考答案
- 2024设计院与职工劳动合同书样本
评论
0/150
提交评论