收藏 分享(赏)

Matlab基础教程.ppt

上传人:weiwoduzun 文档编号:4174553 上传时间:2018-12-13 格式:PPT 页数:43 大小:386.51KB
下载 相关 举报
Matlab基础教程.ppt_第1页
第1页 / 共43页
Matlab基础教程.ppt_第2页
第2页 / 共43页
Matlab基础教程.ppt_第3页
第3页 / 共43页
Matlab基础教程.ppt_第4页
第4页 / 共43页
Matlab基础教程.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

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 Num

5、ber”,这个非数值要么是类型,要么是inf/inf,向量的创建 在matlab的命令窗口键入以下字符 a = 1 2 3 4 5 6 9 8 7a = 1 2 3 4 5 6 9 8 7希望得到元素从0到20,步距为2的一个向量,只需键入以下命令即可 t = 0:2:20t = 2 4 6 8 10 12 14 16 18 20,矩阵的创建 输入矩阵时每一行元素有分号或者回车键分隔。例如:B = 1 2 3 4;5 6 7 8;9 10 11 12B =1 2 3 45 6 7 89 10 11 12,各种运算符,语句 Matlab语言最基本的赋值语句结构为:变量名列表=表达式注1:整个赋值

6、语句以;结束,则不在屏幕上返回结果,否则立即返回结果。 注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:5for j=1:5a(i,j)=1/(i+j-1);end end a=1.0000 0.5000 0.3333 0.2500 0.20000.5000 0.3333 0.2500 0.2000 0.16670.3333 0.2500 0.2000 0.1667 0.14290.2500 0.2000 0.1667 0.1429 0.12500.2000 0.1667 0.1429 0.1250

8、 0.1111,2、while循环语句 基本格式 while 表达式循环体end 若表达式为真,则执行循环体的内容,执行后再判断表达式是否为真,若不为真,则跳出循环体,向下继续执行。,While循环和for循环的区别在于,while循环结构的循环体被执行的次数不是确定的,而for结构中循环体的执行次数是确定的。,用while循环语句编写一个计算1000以内的Fibonacci数:f=1 1;i=1;while f(i)+f(i+1)1000f(i+2)=f(i)+f(i+1);i=i+1;endf=1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987,3

9、、if,else,elseif语句 (1)if 逻辑表达式执行语句end (2)if 逻辑表达式 (3) if 逻辑表达式1执行语句1 执行语句1else elseif 逻辑表达式2执行语句2 执行语句2end end,4、switch语句switch 表达式(可以是标量或字符串)case 值1语句1case 值2语句2.otherwise语句3end,MATLAB程序的基本组成结构 说明 清除命令:清除workspace中的变量和图形(clear,close) 定义变量:包括全局变量的声明及参数值的设定 逐行执行命令:指MATLAB提供的运算指令或工具箱 提供的专用命令 控制循环 : 包含f

10、or,if then,switch,while等语句 逐行执行命令 end 绘图命令:将运算结果绘制出来 当然更复杂程序还需要调用子程序,或与simulink以及其他应用程序结合起来。,MATLAB的程序类型有三种,一种是在命令窗口下执行的脚本M文件;另外一种是可以存取的M文件,也即程序文件;最后一种是函数(function)文件。1、脚本M文件 在命令窗口中输入并执行,它所用的变量都要在工作空间中获取,不需要输入输出参数的调用,退出MATLAB后就释放了。 2、程序M文件 以.m格式进行存取,包含一连串的MATLAB指令和必要的注解。需要在工作空间中创建并获取变量,也就是说处理的数据为命令窗

11、口中的数据,没有输入参数,也不会返回参数。 程序运行时只需在工作空间中键入其名称即可。,3、函数文件 与在命令窗口中输入命令一样,函数接受输入参数,然后执行并输出结果。用help命令可以显示它的注释说明。 具有标准的基本结构。(1)函数定义行(关键字function) functionout1,out2, = filename(in1,in2,) 输入和输出(返回)的参数个数分别由nargin和nargout两个MATLAB保留的变量来给出。 (2)第一行帮助行,即H1行 以(%)开头,作为lookfor指令搜索的行 (3)函数体说明及有关注解 以(%)开头,用以说明函数的作用及有关内容 (4

12、)函数体语句 函数体内使用的除返回和输入变量这些在function语句中直接引用的变量以外的所有变量都是局部变量,即在该函数返回之后,这些变量会自动在MATLAB的工作空间中清除掉。如果希望这些中间变量成为在整个程序中都起作用的变量,则可以将它们设置为全局变量。,MATLAB提供了丰富的绘图功能help graph2d可得到所有画二维图形的命令 help graph3d可得到所有画三维图形的命令,1、基本的绘图命令 plot(x1,y1,option1,x2,y2,option2,)x1,y1给出的数据分别为x,y轴坐标值,option1为选项参数,以逐点连折线的方式绘制1个二维图形;同时类似

13、地绘制第二个二维图形。这是plot命令的完全格式,在实际应用中可以根据需要进行简化。比如: plot(x,y);plot(x,y,option) 选项参数option定义了图形曲线的颜色、线型及标示符号,它由一对单引号括起来。,2、选择图像figure(1);figure(2);figure(n)打开不同的图形窗口,以便绘制不同的图形。 3、grid on:在所画出的图形坐标中加入栅格grid off:除去图形坐标中的栅格 4、hold on:把当前图形保持在屏幕上不变,同时允许在这个坐标内绘制另外一个图形。hold off:使新图覆盖旧的图形 5、设定轴的范围axis(xmin xmax y

14、min ymax)axis(equal):将x坐标轴和y坐标轴的单位刻度大小调整为一样。,6、文字标示 text(x,y,字符串) 在图形的指定坐标位置(x,y)处,标示单引号括起来的字符串。 title(字符串) 在所画图形的最上端显示说明该图形标题的字符串。 xlabel(字符串),ylabel(字符串) 设置x,y坐标轴的名称。 输入特殊的文字需要用反斜杠()开头。7、legend(字符串1,字符串2,字符串n) 在屏幕上开启一个小视窗,然后依据绘图命令的先后次序,用对应的字符串区分图形上的线。,8、subplot(m,n,k):分割图形显示窗口 m:上下分割个数,n:左右分割个数,k:

15、子图编号9、semilogx:绘制以x轴为对数坐标(以10为底),y轴为线性坐标的半对数坐标图形。semilogy:绘制以y轴为对数坐标(以10为底),x轴为线性坐标的半对数坐标图形。10、了解应用型绘图指令:可用于数值统计分析或离散 数据处理bar(x,y);hist(y,x)stairs(x,y);stem(x,y),三维的绘图命令基本与二维的相同,稍有差别,不再详述。,绘图实例 函数分析 矩阵运算 线性方程组 曲线拟合 微分方程,绘图实例,fplot(func,-1 1.5) %作图 result = func(0) %求函数值 xsolve = fzero(func,3) %求解 Xm

16、in = 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 = Ab EigenVec

17、tors,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 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; %最小二乘拟合 p7 = polyfit(x,y,7); xi = 1:0.25:8; yi = polyval(p7,xi); plot(x,y,*r,xi,yi); grid on,曲线拟合,Van der Pol Equation,微分方程,标准形式改写,程序实现,function dydt = DifferentialCoe(t,y) dydt = y(2);(1-y(1)2)*y(2)-y(1);,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报