《Matlab基础教程》由会员分享,可在线阅读,更多相关《Matlab基础教程(44页珍藏版)》请在金锄头文库上搜索。
1、MatlabMatlab基础教程基础教程(2) 一种演草纸式的科学计算语言一种演草纸式的科学计算语言.(3) MATLAB 是一高性能的技术计算语言是一高性能的技术计算语言. 强大的数值计算和工程运算功能符号计算功能强大的科学数据可视化能力 多种工具箱MATLAB可以进行:l数学计算、算法开发、数据采集l建模、仿真、原型 l数据分析、开发和可视化l科学和工程图形应用程序的开发,包括图形用户界面的创建。MATLAB广泛应用于:l数值计算、图形处理、符号运算、数学建模、系统辨识、小波分析、实时控制、动态仿真等领域。MATLAB的构成:的构成:lMATLAB开发环境:进行应用研究开发的交互式平台开发
2、环境:进行应用研究开发的交互式平台lMATLAB 数学与运算函数库:用于科学计算的函数数学与运算函数库:用于科学计算的函数lMATLAB 语言:进行应用开发的编程工具语言:进行应用开发的编程工具l图形化开发:二维、三维图形开发的工具图形化开发:二维、三维图形开发的工具l应用程序接口应用程序接口 (API):用于与其他预言混编:用于与其他预言混编l面向专门领域的工具箱:小波工具箱、神经网络工具面向专门领域的工具箱:小波工具箱、神经网络工具箱、信号处理工具箱、图像处理工具箱、模糊逻辑工箱、信号处理工具箱、图像处理工具箱、模糊逻辑工具箱、优化工具箱、鲁棒控制工具箱等几十个不同应具箱、优化工具箱、鲁棒
3、控制工具箱等几十个不同应用的工具箱。用的工具箱。开发环境包括:命令窗口、图形窗口、编辑窗口、帮助开发环境包括:命令窗口、图形窗口、编辑窗口、帮助窗口。窗口。 命令窗口命令窗口可在提示符后输入交互式命令可在提示符后输入交互式命令 结果会自动的产生结果会自动的产生例如:例如: MATLAB prompt () and cursor (|)command (typed at prompt)MATLAB output图形窗口在窗口中输入:lPlot(1,2,4,9,16,1,2,3,4,5)lMATLAB 画出如下图形: 编辑窗口用来创建和修改M-files (MATLAB 脚本) 帮助窗口 MATL
4、AB 语言的特点语言的特点Matlab的基本数据单元是不需指定维数的矩阵。的基本数据单元是不需指定维数的矩阵。Matlab的的所所有有计计算算都都是是通通过过双双精精度度进进行行的的,在在内存中的数都是双精度的。内存中的数都是双精度的。double 是一个双精度浮点数,每个存储的双精是一个双精度浮点数,每个存储的双精度数用度数用64位。位。char用于存储字符,每个存储的字符用用于存储字符,每个存储的字符用16位。位。 MATLAB程序构成 程序程序M文件与文件与m函数函数图形显示图形显示流程控制流程控制其它输出其它输出函数函数语句语句变量变量各种运算符各种运算符常变量及其命名规则常变量及其命
5、名规则变量名可以有数字、字母、下划线构成;变量名可以有数字、字母、下划线构成;变量的首字符必须是字母变量的首字符必须是字母;区分变量名的大小写区分变量名的大小写每个变量名最长只能包含每个变量名最长只能包含19个字符。个字符。 MATLAB中预定义变量中预定义变量Ans 分配最新计算表达式的值,这个表达式并没有给定一个名字lEps 返回机器精度lRealmax 返回计算机能处理的最大浮点数lRealmin 返回计算机能处理的最小的非零浮点数lPi ,3.14159265lInf 定义为1/0 。当出现被零除时,Matlab就返回inf,并不中断执行而继续计算lNaN 定义为“Not a Numb
6、er”,这个非数值要么是类型,要么是inf/inf向量的创建l在matlab的命令窗口键入以下字符l a = 1 2 3 4 5 6 9 8 7l a = l 1 2 3 4 5 6 9 8 7l 希望得到元素从0到20,步距为2的一个向量,只需键入以下命令即可l t = 0:2:20l t = l 2 4 6 8 10 12 14 16 18 20矩阵的创建矩阵的创建输入矩阵时每一行元素有分号或者回车键输入矩阵时每一行元素有分号或者回车键分隔。例如:分隔。例如:l l B = 1 2 3 4;5 6 7 8;9 10 11 12l B =l 1 2 3 4l 5 6 7 8l 9 10 11
7、 12各各种种运运算算符符语句语句Matlab语言最基本的赋值语句结构为:语言最基本的赋值语句结构为:变量名列表变量名列表=表达式表达式注注1:整个赋值语句以;结束,则不在屏幕上返:整个赋值语句以;结束,则不在屏幕上返回结果,否则立即返回结果。回结果,否则立即返回结果。注注2:多个语句可在同一行,用逗号分开。:多个语句可在同一行,用逗号分开。注注3:表达式太长可以用续行符号:表达式太长可以用续行符号函数函数lMatlab由包括许多标准函数,每个函数由包括许多标准函数,每个函数都完成某一特定功能的代码组成。都完成某一特定功能的代码组成。 lMatlab也允许用户编写自己所需的函数,也允许用户编写
8、自己所需的函数,其扩展名为其扩展名为.m,其中必须以关键字,其中必须以关键字function开头开头.流程控制流程控制l循环语句循环语句 for, whilel条件转移条件转移 if end, if elseif else endl开关语句开关语句 switch casel注释语句注释语句 %l中断语句中断语句 breakl暂停语句暂停语句 pausel回显语句回显语句 echo on/off1 1、for循环语句循环语句基本格式基本格式for for 循环变量起始值:步长:终止值循环变量起始值:步长:终止值 循环体循环体 end end步长缺省值为步长缺省值为1,可以在正实数或负实数范,可以
9、在正实数或负实数范围内任意指定。对于正数,循环变量的围内任意指定。对于正数,循环变量的值大于终止值时,循环结束;对于负数,值大于终止值时,循环结束;对于负数,循环变量的值小于终止值时,循环结束。循环变量的值小于终止值时,循环结束。循环结构可以嵌套使用。循环结构可以嵌套使用。 for i=1:5for i=1:5 for j=1:5 for j=1:5 a(i,j)=1/(i+j-1); a(i,j)=1/(i+j-1); end endendenda=a= 1.0000 0.5000 0.3333 0.2500 0.2000 1.0000 0.5000 0.3333 0.2500 0.2000
10、 0.5000 0.3333 0.2500 0.2000 0.16670.5000 0.3333 0.2500 0.2000 0.1667 0.3333 0.2500 0.2000 0.1667 0.1429 0.3333 0.2500 0.2000 0.1667 0.1429 0.2500 0.2000 0.1667 0.1429 0.1250 0.2500 0.2000 0.1667 0.1429 0.1250 0.2000 0.1667 0.1429 0.1250 0.1111 0.2000 0.1667 0.1429 0.1250 0.11112、while循环语句循环语句基本格式基本
11、格式while 表达式表达式 循环体循环体 end若表达式为真,则执行循环体的内容,若表达式为真,则执行循环体的内容,执行后再判断表达式是否为真,若不为执行后再判断表达式是否为真,若不为真,则跳出循环体,向下继续执行。真,则跳出循环体,向下继续执行。While循环和循环和for循环的区别在于,循环的区别在于,while循环结构的循环体循环结构的循环体被执行的次数不是确定的,而被执行的次数不是确定的,而for结构中循环体的执行次数是结构中循环体的执行次数是确定的。确定的。用用while循环语句编写一个计算循环语句编写一个计算1000以内的以内的Fibonacci数:数: f=1 1; i=1;
12、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 21 34 55 89 144 233 377 610 9873、if,else,elseif语句(1)if 逻辑表达式 执行语句 end(2)if 逻辑表达式 (3) if 逻辑表达式1 执行语句1 执行语句1 else elseif 逻辑表达式2 执行语句2 执行语句2 end end4、switch语句 switch 表达式(可以是标量或字符串) case 值1 语句1 case 值2 语句2 . otherwise 语句3 endMATLAB程序
13、的基本组成结构程序的基本组成结构说明说明清除命令:清除命令:清除清除workspace中的变量和图形中的变量和图形(clear,close)定义变量:定义变量:包括全局变量的声明及参数值的设定包括全局变量的声明及参数值的设定逐行执行命令:逐行执行命令:指指MATLAB提供的运算指令或工具箱提供的运算指令或工具箱 提供的专用命令提供的专用命令控制循环控制循环 : 包含包含for,if then,switch,while等语句等语句 逐行执行命令逐行执行命令 end绘图命令:绘图命令:将运算结果绘制出来将运算结果绘制出来l当然更复杂程序还需要调用子程序,或与当然更复杂程序还需要调用子程序,或与si
14、mulink以以及其他应用程序结合起来。及其他应用程序结合起来。MATLAB的程序类型有三种,一种是在命令窗口下执行的脚本的程序类型有三种,一种是在命令窗口下执行的脚本M文件;另外一种是可以存取的文件;另外一种是可以存取的M文件,也即程序文件;最后一文件,也即程序文件;最后一种是函数(种是函数(function)文件。)文件。 1、脚本、脚本M文件文件在命令窗口中输入并执行,它所用的变量都要在工作空间中获取,在命令窗口中输入并执行,它所用的变量都要在工作空间中获取,不需要输入输出参数的调用,退出不需要输入输出参数的调用,退出MATLAB后就释放了。后就释放了。 2、程序、程序M文件文件l以以.
15、m格式进行存取,包含一连串的格式进行存取,包含一连串的MATLAB指令和指令和必要的注解。需要在工作空间中创建并获取变量,必要的注解。需要在工作空间中创建并获取变量,也就是说处理的数据为命令窗口中的数据,没有输也就是说处理的数据为命令窗口中的数据,没有输入参数,也不会返回参数。入参数,也不会返回参数。l程序运行时只需在工作空间中键入其名称即可。程序运行时只需在工作空间中键入其名称即可。3、函数文件、函数文件与在命令窗口中输入命令一样,函数接受输入参数,然后执与在命令窗口中输入命令一样,函数接受输入参数,然后执行并输出结果。用行并输出结果。用help命令可以显示它的注释说明。命令可以显示它的注释
16、说明。具有标准的基本结构。具有标准的基本结构。 (1)函数定义行(关键字)函数定义行(关键字function)lfunctionout1,out2,. = filename(in1,in2,.)l输入和输出(返回)的参数个数分别由输入和输出(返回)的参数个数分别由nargin和和nargout两个两个MATLAB保留的变量来给出。保留的变量来给出。(2)第一行帮助行,即)第一行帮助行,即H1行行l以(以(%)开头,作为)开头,作为lookfor指令搜索的行指令搜索的行(3)函数体说明及有关注解)函数体说明及有关注解l以(以(%)开头,用以说明函数的作用及有关内容)开头,用以说明函数的作用及有关
17、内容(4)函数体语句)函数体语句l函数体内使用的除返回和输入变量这些函数体内使用的除返回和输入变量这些在在function语句中语句中直接引用的变量以外的所有变量都是局部变量,即在该函直接引用的变量以外的所有变量都是局部变量,即在该函数返回之后,这些变量会自动数返回之后,这些变量会自动在在MATLAB的工作空间中的工作空间中清除掉。如果希望这些中间变量成为在整个程序中都起作清除掉。如果希望这些中间变量成为在整个程序中都起作用的变量,则可以将它们设置为全局变量。用的变量,则可以将它们设置为全局变量。 MATLAB提供了丰富的绘图功能提供了丰富的绘图功能help graph2d可得到所有画二维图形
18、的命可得到所有画二维图形的命令令help graph3d可得到所有画三维图形的命可得到所有画三维图形的命令令1 1、基本的绘图命令、基本的绘图命令plot(x1,y1,option1,x2,y2,option2,)x1,y1x1,y1给出的数据分别为给出的数据分别为x,yx,y轴坐标值,轴坐标值,option1option1为选项参数,以逐点连折线的方式绘制为选项参数,以逐点连折线的方式绘制1 1个二个二维图形;同时类似地绘制第二个二维图形。维图形;同时类似地绘制第二个二维图形。这是这是plotplot命令的完全格式,在实际应用中可以根命令的完全格式,在实际应用中可以根据需要进行简化。比如:据
19、需要进行简化。比如:plot(x,y)plot(x,y);plot(x,y,option)plot(x,y,option)选项参数选项参数optionoption定义了图形曲线的颜色、线型及定义了图形曲线的颜色、线型及标示符号,它由一对单引号括起来。标示符号,它由一对单引号括起来。2、选择图像、选择图像 figure(1););figure(2););figure(n) 打开不同的图形窗口,以便绘制不同的图形。打开不同的图形窗口,以便绘制不同的图形。3、grid on:在所画出的图形坐标中加入栅格在所画出的图形坐标中加入栅格 grid off:除去图形坐标中的栅格除去图形坐标中的栅格4、hol
20、d on:把当前图形保持在屏幕上不变,同时把当前图形保持在屏幕上不变,同时 允许在这个坐标内绘制另外一个图形。允许在这个坐标内绘制另外一个图形。 hold off:使新图覆盖旧的图形使新图覆盖旧的图形5、设定轴的范围、设定轴的范围 axis(xmin xmax ymin ymax) axis(equal):将:将x坐标轴和坐标轴和y坐标轴的单位刻度大坐标轴的单位刻度大小调整为一样。小调整为一样。6、文字标示、文字标示text(x,y,字符串字符串)在图形的指定坐标位置在图形的指定坐标位置(x,y)处,标示单引号括起来的字处,标示单引号括起来的字符串。符串。ltitle(字符串字符串)在所画图形
21、的最上端显示说明该图形标题的字符串。在所画图形的最上端显示说明该图形标题的字符串。lxlabel(字符串字符串),ylabel(字符串字符串)设置设置x,y坐标轴的名称。坐标轴的名称。l输入特殊的文字需要用反斜杠(输入特殊的文字需要用反斜杠()开头。)开头。7、legend(字符串字符串1,字符串字符串2,字符串字符串n)l在屏幕上开启一个小视窗,然后依据绘图命令的先后在屏幕上开启一个小视窗,然后依据绘图命令的先后次序,用对应的字符串区分图形上的线。次序,用对应的字符串区分图形上的线。8、subplot(m,n,k):分割图形显示窗口m:上下分割个数,n:左右分割个数,k:子图编号9、semi
22、logx:绘制以x轴为对数坐标(以10为底),y轴为线性坐标的半对数坐标图形。 semilogy:绘制以y轴为对数坐标(以10为底),x轴为线性坐标的半对数坐标图形。10、了解应用型绘图指令:可用于数值统计分析或离散数据处理bar(x,y);hist(y,x)stairs(x,y);stem(x,y)三维的绘图命令基本与二维的相同,稍有三维的绘图命令基本与二维的相同,稍有差别,不再详述。差别,不再详述。l绘图实例绘图实例l函数分析函数分析l矩阵运算矩阵运算l线性方程组线性方程组l曲线拟合曲线拟合l微分方程微分方程绘图实例绘图实例fplot(func,-1 1.5) %作图result = fu
23、nc(0) %求函数值xsolve = fzero(func,3) %求解Xmin = fminbnd(func,0.5,1)%求最小值函数分析函数分析矩阵运算矩阵运算lA = 1 2 3 ; 4 5 6 ; 7 8 9;lB = 1 2 3 ; 4 5 6;lC = 1 0 1 ; 0 2 3 ; 4 5 0;lA+C=A+ClBA =B*AldetA = det(A)ltraceA = trace(A)lBT = BlinvA = inv(A)lrankA = rank(A)lEigenVectors,EigenValues = eig(A)A = 3 1 -1 ; 1 2 4 ; -1
24、4 5 ;b = 3.6 ; 2.1 ; -1.4 ;X = AbEigenVectors,EigenValues = eig(A)线性方程组与特征值线性方程组与特征值l%一次多项是拟合l%已知离散点lx = 1 1.5 3 4 5 6 6.5 7 8;ly = 1.2 1 1.7 2.5 2 2.3 2.5 3 3.1;l%最小二乘拟合lp1 = polyfit(x,y,1);ly1 = polyval(p1,x);lplot(x,y1);lhold onlplot(x,y,ro)lgrid on%7次多项是拟合%已知离散点x = 1 1.5 3 4 5 6 6.5 7 8;y = 1.2
25、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);进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总
26、会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热怎么这么热”,于是三五成群,聚在大树,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到围跑跑跳跳,
27、热得满头大汗,不时听到“强子,别跑了,快来我给你扇扇强子,别跑了,快来我给你扇扇”。孩。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,母亲总是,好似生气的样子,边扇边训,“你看热的,跑什么?你看热的,跑什么?”此时这把蒲扇,此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道!蒲扇是中国传统工艺品,在是那么凉快,那么的温馨幸福,有母亲的味道!蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表我国已有三千年多年的历史。取
28、材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅长的时间隧道,袅结束