您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > MATLAB简介及程序编写
高等数学实验第一章MATLAB简介MATLAB简介一、关于MATLAB1、MATLAB的特点2、MATLAB工具箱及启动二、MATLAB程序编写1、MTLAB的基本元素及使用方法2、M文件及函数3、程序语言的编写三、上机实验MATLAB简介—关于MATLAB1、MATLAB的特点功能强大语言简单扩充能力强、可开发性强编程易、效率高(从形式上看,MATLAB程序文件是一个纯文本文件,扩展名为m.用任何字处理软件都可以对它进行编写和修改,因此程序易调试,人机交互性强。)2、MATLAB工具箱及启动(1)MATLAB工具箱:MATLAB主程序最优化工具箱(OptimizationToolbox)图像处理工具箱(ImageProcessingToolbox)线性矩阵不等式控制工具箱(LMIControlToolbox)偏微分方程工具箱(PartialDifferentialEquationToolbox)统计工具箱(StatisticsToolbox)符号数学工具箱(SymbolicMathToolbox)MATLAB简介—关于MATLAB(2)MATLAB启动可以利用菜单、快捷键或文件夹三种方式进人MATLAB工作窗口。MATLAB简介—关于MATLABMATLAB简介—MATLAB程序编写MTLAB的基本元素及使用方法一、MTLAB的基本元素及使用方法1、常量和变量2、字符串3、数组和矩阵的构造4、运算符5、数组和矩阵的运算1.常量和变量1)常量和变量的定义常量是MATLAB语言预定义的一些变量,在默认的情况下这些变量的值为常数。变量是MATLAB的基本元素之一,与其他常规程序设计语言不同的是MATLAB语言不要求对所使用的变量进行事先说明,而且它也不需要指定变量的类型,系统会根据该变量被赋予的值或是对该变量所进行的操作来自动确定变量的类型。变量的命名规则:①变量名长度不超过31位,超过31位的字符系统将忽略不计;②变量名区分大小写;③变量名必须以字母开头,变量名中可以包含字母、数字或下划线。MATLAB简介—MATLAB程序编写2)常量和变量的运算MATLAB关于常量和变量的运算与C语言基本相同例:计算MATLAB简介—MATLAB程序编写MATLAB简介—MATLAB程序编写2.字符串字符和字符串也是MATLAB的重要组成部分,MATLAB具有强大的字符串处理功能,特别是在MATLAB6.5中有专门的符号运算工具箱(Symbolictoolbox)使其进行符号运算的功能更为强大。1)设定字符串MATLAB对字符串的设定非常简单,只需用单引号‘’,将需设定的字符串引注即可。2)字符串的操作由于MATLAB语言是采用C语言开发的,因此它的字符串操作与C语言的相应操作基本相同。在MATLAH中用eval函数来执行字符串的功能。MATLAB简介—MATLAB程序编写3.数组和矩阵的构造1)数组只要用空格或逗号间隔数组元素,并用方括号括起来就可以了。例如x=[01,75]注:还可以用增量法和linspace函数法来构造数组增量法构造数组。增量法构造数组例如b=10:15b=10:0.5:12b=10:-1:5lingspace函数法构造数组用lingspace函数构造数组,需要指定首尾和元素总个数,形式为x=linspace(first,last,num)例如x=linspace(0,10,5)MATLAB简介—MATLAB程序编写2)矩阵MATLAB里,二数组称为矩阵,在方括号里输入多个元素可以构造矩阵的一个行,并用逗号或空格将每个元素隔开,不同行用分号隔开.例如,b=[015;379]MATLAB简介—MATLAB程序编写4.运算符与其他程序语言类似,MATLAB提供了数学表达式功能.但是,与大多数程序语言不同的是,这些表达式主要对矩阵操作.算术运算符实现四则运算以及幂,转置等运算,表达式采用的算术运算符如表1.1所示。MATLAB简介—MATLAB程序编写5.数组和矩阵的运算由数学知识可知,数组和矩阵有着不同的概念。在MATLAB中,数组和矩阵在形式上很多一致之处,但是实际上它们遵循不同的运算规则。MATLAB简介—MATLAB程序编写MATLAB简介—MATLAB程序编写MATLAB简介—MATLAB程序编写二、M文件及函数1.M文件如果需要重复调用命令,或者命令的数比较多,将它们写成M文件的形式并保存.M文件分为脚本式M文件和函数式M文件。(1)脚本式M文件例如在编辑器中输入如下代码a=[123;0,1,0;3,4,5];b=det(a)c=inv(a)d=b*c保存为math.m在命令窗口中输入math可以执行文件。MATLAB简介—MATLAB程序编写(2)函数式M文件例如给出x求在编辑器中输入functiony=tentimes(x)%本程序求输入值与10的乘积%用演示MATLAB函数帮助的实现方法y=x*10;将它保存到MATLAB的work目录中,M文件名为tentimes.mMATLAB简介—MATLAB程序编写在命令窗口输入helptentimes显示本程序求输入值与10的乘积用演示MATLAB函数帮助的实现方法输入y=tentimes(10)得到返回值y=100MATLAB简介—MATLAB程序编写注:比较好的编程习惯,往往在程序的开始部分写一些文本,提供关于怎么使用函数的帮助信息.紧接函数定义行的以%符号开头的第一组连续行是函数的帮助文本.MATLAB简介—MATLAB程序编写2.函数MATLAB提供了很多内部数学函数,包括abs,sqrt,exp和sin.对负数取平方根或对数不会导致错误,MATLAB会自动返回复数计算结果.MATLAB还提供了很多高级的数学函数,包括bessel和gamma函数,在命令窗口入下面的命令,可以看此类函数的列表.helpelfun输入以下的命令,可以看到更多的高级数学函数和矩阵函数helpspecfunhelpelmatMATLAB简介—MATLAB程序编写注:(1)任意M文件中的第1个函数称为主函数.主函数可以有任意多个子函数,它们可以作为主函数的子函数.(2)大多数情况下,主函数是M文件中可以从MATLAB命令或从另一个M文件函数调用的唯一函数.调用该函数时,使用定义该函数的M文件的名称.例如,average函数在文件average.m中.functiony=average(x)%计算矢量元素的平均值y=sum(x)/length(x);可以从MATLAB命令行用下面的命令计算3个数的平均值average([252])ans=3MATLAB简介—MATLAB程序编写注意:一般使主函数的名称与M文件的相同.如果函数名与文件名不同,必须用文件名调用函数.M文件中可以包含一个以上的函数.文件中除主函数以外的函数称为子函数,主函数放在最上面,子函数放在下面,各子函数不分先后顺序.MATLAB简介—MATLAB程序编写三、程序语言的编写程序控制语句决定程序运行时的走向,包括条件控制,循环控制,错误控制和终止运行控制等,这里介绍条件控制和循环控制.MATLAB简介—MATLAB程序编写1.条件控制条件控制使得可以有选择地运行程序块.当条件可以用是或否来回答时,使用if语句;当条件根据表达式值的不同可有多个选项时,使用switch和case语句.(1)if语句在MATLAB中,if语句有3种格式。(1)单分支if语句:if条件语句组end当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行if语句的后继语句。MATLAB简介—MATLAB程序编写例如:当输入自变量的值,由如下分段函数给出的值.MATLAB简介—MATLAB程序编写编辑M文件math.m:x=input('x=');ifx0y=x^3;elsey=3*x^2;endx,yMATLAB简介—MATLAB程序编写在命令窗口输入:mathx=1x=1y=3MATLAB简介—MATLAB程序编写(2)双分支if语句:if条件语句组1else语句组2end当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句。MATLAB简介—MATLAB程序编写例3-4计算分段函数的值。程序如下:x=input('请输入x的值:');ifx=0y=(x+sqrt(pi))/exp(2);elsey=log(x+sqrt(1+x*x))/2;endYMATLAB简介—MATLAB程序编写(3)多分支if语句:if条件1语句组1elseif条件2语句组2……elseif条件m语句组melse语句组nend语句用于实现多分支选择结构。MATLAB简介—MATLAB程序编写例3-5输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。c=input('请输入一个字符','s');ifc='A'&c='Z'disp(setstr(abs(c)+abs('a')-abs('A')));elseifc='a'&c='z'disp(setstr(abs(c)-abs('a')+abs('A')));elseifc='0'&c='9'disp(abs(c)-abs('0'));elsedisp(c);endMATLAB简介—MATLAB程序编写有多个选择时,可以类似地使用if/elseif语句.例如B样条函数的判断函数程序如下:functionf=pdbsline(x)ifx0f=0;elseifx1f=x;elseifx2f=2-x;elsef=0;endMATLAB简介—MATLAB程序编写保存为pdbsline.m,在命令窗口输入:pdbsline(-1)ans=0pdbsline(1.36)ans=0.6400pdbsline(2.5)ans=0pdbsline(1)ans=1MATLAB简介—MATLAB程序编写(2)switch/case语句该语句的通用格式为:switchswitch-expressioncasecase-expression1,statements1;casecase-expression2,statements2;casecase-expression3,statements3;……otherwisestatements;endMATLAB简介—MATLAB程序编写switch-expression给出开关条件,当有case-expression与之匹配时,就执行其后的语句.如果没有case-expression与之匹配,就执行otherwise后面的语句.在执行过程中,只有一个case命令被执行,当执行完命令后,程序就跳出分支结构,执行end下面的语句.MATLAB简介—MATLAB程序编写例如:编写转换成绩等级的函数文件,考试成绩在[80,100]分数段的显示优秀,在[70,80)分数段显示良好,[60,70)分数段显示及格,[0,60)分数段显示不及格.程序如下:functionresult=cj(x)n=fix(x/10);switchncase{8,9,10}disp('优秀');case7disp('良好');case6disp('及格');otherwisedisp('不及格');endMATLAB简介—MATLAB程序编写保存为cj.m,在命令窗口输入:cj(98)优秀cj(80)优秀cj(67)及格cj(23)不及格MATLAB简介—MATLAB程序编写2.循环控制使用循环控制语句,可以重复执行代码块,用for语句执行指定次数;while语句适合于循环一直执行,直到满足条件为止的情况;continue和break语句对退出循环给予更多控制.(1)for循环for循环允许一组命令以固定的和预定的次数重复执行,for循环的一般形式如下:forv=expression(循
本文标题:MATLAB简介及程序编写
链接地址:https://www.777doc.com/doc-7026113 .html