收藏 分销(赏)

MATLAB简介及程序编写-PPT.ppt

上传人:精*** 文档编号:1613722 上传时间:2024-05-06 格式:PPT 页数:50 大小:362KB
下载 相关 举报
MATLAB简介及程序编写-PPT.ppt_第1页
第1页 / 共50页
MATLAB简介及程序编写-PPT.ppt_第2页
第2页 / 共50页
MATLAB简介及程序编写-PPT.ppt_第3页
第3页 / 共50页
MATLAB简介及程序编写-PPT.ppt_第4页
第4页 / 共50页
MATLAB简介及程序编写-PPT.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

1、MATLAB简介及程序编写MATLAB 简介 一、关于MATLAB 、MATLAB的特点 、MATLAB工具箱及启动 二、MATLAB程序编写、MTLAB的基本元素及使用方法 、M文件及函数、程序语言的编写三、上机实验2MATLAB 简介 关于MATLAB、MATLABMATLAB的特点的特点功能强大功能强大语言简单语言简单扩充能力强、可开发性强扩充能力强、可开发性强编程易、效率高编程易、效率高 (从形式上看,从形式上看,MATLABMATLAB程序文程序文 件是一个纯文本文件,扩展名为件是一个纯文本文件,扩展名为m.m.用任何字处理软件都用任何字处理软件都可以对它进行编写和修改,因此程序易调

2、试,人机交互可以对它进行编写和修改,因此程序易调试,人机交互性强。性强。)3 、MATLABMATLAB工具箱及启动工具箱及启动()()MATLABMATLAB工具箱:工具箱:MATLAB MATLAB 主程序主程序 最优化工具箱最优化工具箱(Optimization Toolbox(Optimization Toolbox)图像处理工具箱图像处理工具箱(Image Processing Toolbox(Image Processing Toolbox)线性矩阵不等式控制工具箱线性矩阵不等式控制工具箱(LMI Control Toolbox)(LMI Control Toolbox)偏微分方程

3、工具箱偏微分方程工具箱(Partial Differential Equation (Partial Differential Equation Toolbox)Toolbox)统计工具箱统计工具箱(Statistics Toolbox)(Statistics Toolbox)符号数学工具箱符号数学工具箱(Symbolic Math Toolbox)(Symbolic Math Toolbox)MATLAB 简介 关于MATLAB 4(2)MATLAB(2)MATLAB启动启动 可以利用菜单、快捷键或文件夹三可以利用菜单、快捷键或文件夹三种方式进人种方式进人MATLABMATLAB工作窗口。工

4、作窗口。MATLAB 简介 关于MATLAB 5MATLAB 简介 MATLAB程序编写 MTLAB的基本元素及使用方法一、一、MTLABMTLAB的基本元素及使用方法的基本元素及使用方法1 1、常量和变量、常量和变量2 2、字符串、字符串 3 3、数组和矩阵的构造、数组和矩阵的构造4 4、运算符、运算符 5 5、数组和矩阵的运算、数组和矩阵的运算 6大家应该也有点累了,稍作休息大家有疑问的,可以询问和交流大家有疑问的,可以询问和交流7 1 1常量和变量常量和变量1 1)常量和变量的定义)常量和变量的定义 常量是常量是MATLABMATLAB语言预定义的一些变量,在默认的情况下这些语言预定义的

5、一些变量,在默认的情况下这些变量的值为常数。变量的值为常数。变量是变量是MATLABMATLAB的基本元素之一,与其他常规程序设计语言不的基本元素之一,与其他常规程序设计语言不同的是同的是MATLABMATLAB语言不要求对所使用的变量进行事先说明,而且它也语言不要求对所使用的变量进行事先说明,而且它也不需要指定变量的类型,系统会根据该变量被赋予的值或是对该变不需要指定变量的类型,系统会根据该变量被赋予的值或是对该变量所进行的操作来自动确定变量的类型。量所进行的操作来自动确定变量的类型。变量的命名规则:变量的命名规则:变量名长度不超过变量名长度不超过3131位,超过位,超过3131位的字符位的

6、字符系统将忽略不计;系统将忽略不计;变量名区分大小写;变量名区分大小写;变量名必须以字母开头,变量名必须以字母开头,变量名中可以包含字母、数字或下划线。变量名中可以包含字母、数字或下划线。MATLAB 简介 MATLAB程序编写 82 2)常量和变量的运算)常量和变量的运算 MATLABMATLAB关于常量和变量的运算与关于常量和变量的运算与C C语言基本相同语言基本相同 例:计算例:计算MATLAB 简介 MATLAB程序编写 9MATLAB 简介 MATLAB程序编写2 2字符串字符串 字符和字符串也是字符和字符串也是MATLABMATLAB的重要组成部分,的重要组成部分,MATLABMA

7、TLAB具有强大具有强大的字符串处理功能,特别是在的字符串处理功能,特别是在MATLAB 6.5MATLAB 6.5中有专门的符号运算工具中有专门的符号运算工具箱箱(Symbolic toolbox)(Symbolic toolbox)使其进行符号运算的功能更为强大使其进行符号运算的功能更为强大。1 1)设定字符串)设定字符串 MATLABMATLAB对字符串的设定非常简单,只需用单引号对字符串的设定非常简单,只需用单引号,将需设,将需设定的字符串引注即可定的字符串引注即可。2 2)字符串的操作)字符串的操作 由于由于MATLABMATLAB语言是采用语言是采用C C语言开发的,因此它的字符串

8、操作与语言开发的,因此它的字符串操作与C C语言的相应操作基本相同。在语言的相应操作基本相同。在MATLAHMATLAH中用中用evaleval函数来执行字符串的函数来执行字符串的功能。功能。10MATLAB 简介 MATLAB程序编写3 3数组和矩阵的构造数组和矩阵的构造1)1)数组数组 只要用空格或逗号间隔数组元素只要用空格或逗号间隔数组元素,并用方括号括起来就可以了。并用方括号括起来就可以了。例如例如 x=0 1x=0 1,7 57 5注:还可以用增量法和注:还可以用增量法和linspacelinspace函数法来构造数组增量法构造数组。函数法来构造数组增量法构造数组。增量法构造数组增量

9、法构造数组 例如例如 b=10:15b=10:15 b=10:0.5:12 b=10:0.5:12 b=10:-1:5 b=10:-1:5 lingspace lingspace函数法构造数组函数法构造数组 用用lingspacelingspace函数构造数组函数构造数组,需要指定首尾和元素总个数需要指定首尾和元素总个数,形式为形式为 x=linspace(first,last,num)x=linspace(first,last,num)例如例如 x=linspace(0,10,5)x=linspace(0,10,5)11MATLAB 简介 MATLAB程序编写2)2)矩阵矩阵 MATLAB里

10、,二数组称为矩阵,在方括号里输入多个元素可以构造矩阵的一个行,并用逗号或空格将每个元素隔开,不同行用分号隔开.例如,b=0 1 5;3 7 9 12MATLAB 简介 MATLAB程序编写4 4运算符运算符 与其他程序语言类似与其他程序语言类似,MATLAB,MATLAB提供了数学表达式功能提供了数学表达式功能.但是但是,与与大多数程序语言不同的是大多数程序语言不同的是,这些表达式主要对矩阵操作这些表达式主要对矩阵操作.算术运算符实现四则运算以及幂算术运算符实现四则运算以及幂,转置等运算,表达式采用的转置等运算,表达式采用的算术运算符如表算术运算符如表1.11.1所示。所示。13MATLAB

11、简介 MATLAB程序编写5 5数组和矩阵的运算数组和矩阵的运算 由数学知识可知,数组和矩阵有着不同的概念。在由数学知识可知,数组和矩阵有着不同的概念。在MATLABMATLAB中,数组和矩阵在形式上很多一致之处,但是实中,数组和矩阵在形式上很多一致之处,但是实际上它们遵循不同的运算规则。际上它们遵循不同的运算规则。14MATLAB 简介 MATLAB程序编写15MATLAB 简介 MATLAB程序编写16MATLAB 简介 MATLAB程序编写二、二、M M文件及函数文件及函数 1.M1.M文件文件 如果需要重复调用命令如果需要重复调用命令,或者命令的数比较多或者命令的数比较多,将它们写成将

12、它们写成M M文文件的形式并保存件的形式并保存.M.M文件分为脚本式文件分为脚本式M M文件和函数式文件和函数式M M文件。文件。(1)(1)脚本式脚本式M M文件文件例如例如 在编辑器中输入如下代码在编辑器中输入如下代码 a=1 2 3;0,1,0;3,4,5;a=1 2 3;0,1,0;3,4,5;b=det(a)b=det(a)c=inv(a)c=inv(a)d=b*c d=b*c保存为保存为math.m math.m 在命令窗口中输入在命令窗口中输入mathmath可以执行文件。可以执行文件。17MATLAB 简介 MATLAB程序编写(2)(2)函数式函数式M M文件文件 例如给出例

13、如给出x x求求在编辑器中输入在编辑器中输入 function y=tentimes(x)function y=tentimes(x)%本程序求输入值与本程序求输入值与1010的乘积的乘积%用演示用演示MATLABMATLAB函数帮助的实现方法函数帮助的实现方法y=x*10;y=x*10;将它保存到将它保存到MATLABMATLAB的的workwork目录中目录中,M,M文件名为文件名为tentimes.mtentimes.m18MATLAB 简介 MATLAB程序编写在命令窗口输入在命令窗口输入 help tentimeshelp tentimes显示显示 本程序求输入值与本程序求输入值与1

14、010的乘积的乘积 用演示用演示MATLABMATLAB函数帮助的实现方法函数帮助的实现方法输入输入 y=tentimes(10)y=tentimes(10)得到返回值得到返回值 y=y=100 10019MATLAB 简介 MATLAB程序编写 注:比较好的编程习惯注:比较好的编程习惯,往往在程序的开往往在程序的开始部分始部分 写一些文本写一些文本,提供关于怎么使用函数提供关于怎么使用函数的帮助信息的帮助信息.紧接函数定义行的以紧接函数定义行的以%符号开头的符号开头的第一组连续行是函数的帮助文本第一组连续行是函数的帮助文本.20MATLAB 简介 MATLAB程序编写2.2.函数函数 MAT

15、LABMATLAB提供了很多内部数学函数提供了很多内部数学函数,包括包括abs,sqrt,expabs,sqrt,exp和和sin.sin.对负数取平方根或对数不会导致错对负数取平方根或对数不会导致错误误,MATLAB,MATLAB会自动返回复数计算结果会自动返回复数计算结果.MATLAB.MATLAB还提供了很还提供了很多高级的数学函数多高级的数学函数,包括包括besselbessel和和gamma gamma 函数函数,在命令窗在命令窗口入下面的命令口入下面的命令,可以看此类函数的列表可以看此类函数的列表.help elfun help elfun 输入以下的命令输入以下的命令,可以看到更

16、多的高级数学函数和可以看到更多的高级数学函数和矩阵函数矩阵函数 help specfunhelp specfun help elmat help elmat21MATLAB 简介 MATLAB程序编写注:(注:(1 1)任意任意M M文件中的第文件中的第1 1个函数称为主函数个函数称为主函数.主函数可以主函数可以有任意多个子函数有任意多个子函数,它们可以作为主函数的子函数它们可以作为主函数的子函数.(2 2)大多数情况下)大多数情况下,主函数是主函数是M M文件中可以从文件中可以从MATLABMATLAB命令或从命令或从另一个另一个M M文件函数调用的唯一函数文件函数调用的唯一函数.调用该函数

17、时调用该函数时,使用定义使用定义该函数的该函数的M M文件的名称文件的名称.例如例如,average,average 函数在文件函数在文件average.maverage.m中中.function y=average(x)%function y=average(x)%计算矢量元素的平均值计算矢量元素的平均值y=sum(x)/length(x);y=sum(x)/length(x);可以从可以从MATLABMATLAB命令行用下面的命令计算命令行用下面的命令计算3 3个数的平均值个数的平均值 average(2 5 2)average(2 5 2)ans=ans=3 322MATLAB 简介 M

18、ATLAB程序编写注意注意:一般使主函数的名称与一般使主函数的名称与M M文件的相同文件的相同.如如果函数名与文件名不同果函数名与文件名不同,必须用文件名调用函数必须用文件名调用函数.M M文件中可以包含一个以上的函数文件中可以包含一个以上的函数.文件中除主文件中除主函数以外的函数称为子函数,主函数放在最上面函数以外的函数称为子函数,主函数放在最上面,子函子函数放在下面数放在下面,各子函数不分先后顺序各子函数不分先后顺序.23MATLAB 简介 MATLAB程序编写三、程序语言的编写三、程序语言的编写 程序控制语句决定程序运行时的走向程序控制语句决定程序运行时的走向,包括条件控包括条件控制制,

19、循环控制循环控制,错误控制和终止运行控制等错误控制和终止运行控制等,这里介绍条这里介绍条件控制和循环控制件控制和循环控制.24MATLAB 简介 MATLAB程序编写1 1条件控制条件控制 条件控制使得可以有选择地运行程序块条件控制使得可以有选择地运行程序块.当条件可以用是或否来当条件可以用是或否来回答时回答时,使用使用ifif语句语句;当条件根据表达式值的不同可有多个选项时当条件根据表达式值的不同可有多个选项时,使用使用switchswitch和和casecase语句语句.(1 1)if语句语句 在在MATLAB中,中,if语句有语句有3种格式。种格式。(1)单分支单分支if语句:语句:if

20、 条件条件 语句组语句组 end当条件成立时,则执行语句组,执行完之后继续执行当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语语句的后继语句,若条件不成立,则直接执行句,若条件不成立,则直接执行if语句的后继语句。语句的后继语句。25MATLAB 简介 MATLAB程序编写例如例如 :当输入自变量的值:当输入自变量的值,由如下分段函数给出由如下分段函数给出的值的值 26MATLAB 简介 MATLAB程序编写编辑编辑M M文件文件math.mmath.m:x=input(x=);x=input(x=);if x0if x math mathx=1x=1x=x=1 1y=y=3 3

21、28MATLAB 简介 MATLAB程序编写(2)双分支双分支if语句:语句:if 条件条件 语句组语句组1 else 语句组语句组2 end 当条件成立时,执行语句组当条件成立时,执行语句组1,否则执行语句组,否则执行语句组2,语句组,语句组1或语句组或语句组2执行后,再执行执行后,再执行if语句的语句的后继语句。后继语句。29MATLAB 简介 MATLAB程序编写例例3-4 计算分段函数的值。计算分段函数的值。程序如下:程序如下:x=input(请输入请输入x的值的值:);if x=A&c=a&c=0&c=9 disp(abs(c)-abs(0);else disp(c);end32MA

22、TLAB 简介 MATLAB程序编写有多个选择时有多个选择时,可以类似地使用可以类似地使用if/elseifif/elseif语句语句.例如例如 B B样条函数的判断函数样条函数的判断函数程序如下程序如下:function f=pdbsline(x)function f=pdbsline(x)if x0if x0f=0;f=0;elseif x1elseif x1 f=x;f=x;elseif x2elseif x pdbsline(-1)pdbsline(-1)ans=ans=0 0 pdbsline(1.36)pdbsline(1.36)ans=ans=0.64000.6400 pdbsl

23、ine(2.5)pdbsline(2.5)ans=ans=0 0 pdbsline(1)pdbsline(1)ans=ans=1 134MATLAB 简介 MATLAB程序编写(2)switch/case(2)switch/case语句语句 该语句的通用格式为该语句的通用格式为:switch switch-expression switch switch-expression case case-expression1,case case-expression1,statements1;statements1;case case-expression2,case case-expression

24、2,statements2;statements2;case case-expression3,case case-expression3,statements3;statements3;otherwise otherwise statements;statements;end end 35MATLAB 简介 MATLAB程序编写 switch-expressionswitch-expression给出开关条件给出开关条件,当当有有case-expressioncase-expression与之匹配时与之匹配时,就执行其后就执行其后的语句的语句.如果没有如果没有case-expressionc

25、ase-expression与之匹配与之匹配,就执行就执行otherwiseotherwise后面的语句后面的语句.在执行过程中在执行过程中,只有一个只有一个casecase命令被执行命令被执行,当执行完命令后当执行完命令后,程序就跳出分支结构程序就跳出分支结构,执行执行endend下面的语句下面的语句.36MATLAB 简介 MATLAB程序编写 例如例如:编写转换成绩等级的函数文件编写转换成绩等级的函数文件,考试成绩在考试成绩在80,10080,100分数分数段的显示优秀段的显示优秀,在在70,80)70,80)分数段显示良好分数段显示良好,60,70),60,70)分数段显示及分数段显示

26、及格格,0,60),0,60)分数段显示不及格分数段显示不及格.程序如下程序如下:function result=cj(x):function result=cj(x)n=fix(x/10);n=fix(x/10);switch n switch n case 8,9,10 case 8,9,10 disp(disp(优秀优秀););case 7 case 7 disp(disp(良好良好););case 6 case 6 disp(disp(及格及格););otherwiseotherwise disp(disp(不及格不及格););end end37MATLAB 简介 MATLAB程序编写

27、保存为保存为cj.mcj.m,在命令窗口输入在命令窗口输入:cj(98)cj(98)优秀优秀 cj(80)cj(80)优秀优秀 cj(67)cj(67)及格及格 cj(23)cj(23)不及格不及格38MATLAB 简介 MATLAB程序编写2 2循环控制循环控制 使用循环控制语句使用循环控制语句,可以重复执行代码块可以重复执行代码块,用用forfor语语句执行指定次数句执行指定次数;while;while语句适合于循环一直执行语句适合于循环一直执行,直到直到满足条件为止的情况满足条件为止的情况;continue;continue和和breakbreak语句对退出循语句对退出循环给予更多控制环

28、给予更多控制.(1)for (1)for循环循环 forfor循环允许一组命令以固定的和预定的次数重复执循环允许一组命令以固定的和预定的次数重复执行行,for,for循环的一般形式如下循环的一般形式如下:for v=expression(for v=expression(循环变量循环变量=初值:步长:终值初值:步长:终值)statements;statements;end end39MATLAB 简介 MATLAB程序编写2 2循环结构循环结构1)for语句语句for语句的格式为:语句的格式为:for 循环变量循环变量=表达式表达式1:表达式表达式2:表达式表达式3 循环体语句循环体语句 en

29、d其中表达式其中表达式1的值为循环变量的初值,表达式的值为循环变量的初值,表达式2的的值为步长,表达式值为步长,表达式3的值为循环变量的终值。步的值为循环变量的终值。步长为长为1时,表达式时,表达式2可以省略。可以省略。40MATLAB 简介 MATLAB程序编写41MATLAB 简介 MATLAB程序编写例例3-9 已知已知,当,当n=100时,求时,求y的值。的值。程序如下:程序如下:y=0;n=100;for i=1:n y=y+1/(2*i-1);endy42MATLAB 简介 MATLAB程序编写在实际在实际MATLAB编程中,采用循环语句会编程中,采用循环语句会降低其执行速度,所以

30、前面的程序通常由降低其执行速度,所以前面的程序通常由下面的程序来代替:下面的程序来代替:n=100;i=1:2:2*n-1;y=sum(1./i);y43MATLAB 简介 MATLAB程序编写(2)(2)while语句语句 while语句的一般格式为:语句的一般格式为:while(条件条件)循环体语句循环体语句 end 其执行过程为:若条件成立,则执行循其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如环体语句,执行后再判断条件是否成立,如果不成立则跳出循环。果不成立则跳出循环。44MATLAB 简介 MATLAB程序编写例如例如:求自然数前项求自然数前项n n和和,输

31、入项数输入项数n n 程序如下程序如下:n=input(n=)n=input(n=)sum=0;k=1;%sum=0;k=1;%给和与循环变量赋初值给和与循环变量赋初值 while k=nwhile k=n sum=sum+k;sum=sum+k;k=k+1;k=k+1;end end sum sum 执行程序执行程序:输入输入10,10,回车得回车得 n=n=10 10 sum=sum=55 5545MATLAB 简介 MATLAB程序编写(3)continue(3)continue命令命令 continuecontinue命令经常与命令经常与forfor或或whilewhile语句一起使用

32、语句一起使用,作用是结束本次循环作用是结束本次循环,即跳过循环体中下面尚未执即跳过循环体中下面尚未执行的语句行的语句,接着下一次是否执行循环的判断接着下一次是否执行循环的判断.(4)break(4)break命令命令 breakbreak命令经常与命令经常与forfor或或whilewhile语句一起使用语句一起使用,作用是终止本次循环作用是终止本次循环,跳出最内层的循环跳出最内层的循环.46MATLAB 简介 MATLAB程序编写(3)continue(3)continue命令命令 continuecontinue命令经常与命令经常与forfor或或whilewhile语句一起使用语句一起使

33、用,作用是结束本次循环作用是结束本次循环,即跳过循环体中下面尚未执即跳过循环体中下面尚未执行的语句行的语句,接着下一次是否执行循环的判断接着下一次是否执行循环的判断.(4)break(4)break命令命令 breakbreak命令经常与命令经常与forfor或或whilewhile语句一起使用语句一起使用,作用是终止本次循环作用是终止本次循环,跳出最内层的循环跳出最内层的循环.47MATLAB 简介 上机实验48MATLAB 简介 上机实验程序程序:1 1、x=input(x=);x=input(x=);if x0 if x0 elseif x0 y=1;y=1;else else y=0;y=0;end end x,y x,y49MATLAB 简介 上机实验2 2、oushuhe=0;oushuhe=0;jishuhe=0;jishuhe=0;i=1;i=1;while i1000 while i1000 if mod(i,2)=0 if mod(i,2)=0 oushuhe=oushuhe+i;oushuhe=oushuhe+i;else else jishuhe=jishuhe+i;jishuhe=jishuhe+i;end end i=i+1;i=i+1;end end oushuhe oushuhe jishuhe jishuhe50

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服