资源描述:
《实验4程序编制.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验4程序编制一、实验目的熟悉MATLAB软件中关系运算和逻辑运算、M函数和M文件编制办法,以及程序结构与控制,学会编写一般性程序.二、实验内容与要求1.关系运算和逻辑运算关系运算符主要用来比较数与数、矩阵与矩阵之间的大小,并返回真(用“1”表示)、假(用“0”表示).基本的关系运算符主要有6个:>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、~=(不等于).【例1.31】>>2<4;%小于运算,结果为1>>4>=7;%大于等于运算,结果为0>>4==3;%等于运算,结果为0,注意,这里的“等于”不能输入“=”>>4~=3;%不等于运算,结
2、果为1逻辑运算有4种:与(&)、或(︱)、非(~)、异或(xor),变量中非零数逻辑量为“真”,0的逻辑量为“假”,逻辑运算结果以“1”表示“真”,以“0”表示“假”.【例1.32】>>a=3&0;%〝与〞运算,两个真值间结果为1,否则为0,所以这里a=0>>a=3
3、0;%〝或〞运算,有一个真值或两个真值结果为1,否则为0,所以这里a=1>>a=xor(3,5);%〝异或〞运算,只有一个真值结果为1,否则为0,所以这里a=0>>a=~4;%〝非〞运算,真变假,假变真,所以这里a=0问题1.16:输入,,,,,,结果如何?从中体会逻辑操作符、关系操作符、关系操作符、计
4、算操作符的优先等级和计算先后次序.???????2.M函数文件都是MATLAB内嵌的库函数,可以反复调用,十分方便.用户在实际工作中,往往需要编制自己的函数,以实现计算中的参数传递和函数的反复调用,建立函数文件的方法如下.格式:fuction[…]=ff(,…).说明:ff是函数名,是输入变量,是输出变量.【例1.33】已知一作匀速直线运动物体的初速度、加速度为,求任意时刻的速度和位移.建立文件名为ff.m的函数文件:funtion[v,s]=ff(,)%定义函数名和输入、输出变量v=v0+a*t;%给出输入、输出、输出变量间关系s=v0*t+a*t^2/2;在命令
5、窗口调用ff函数:>>[v,s]=ff(2,4,5)v=22s=60为了存储M函数,反复可以调用,通过编制一个M函数文件来实现,单击MATLAB中的File→New→M-File即进入文本编辑窗口,输入以上程序并保存(用自动给的文件名)即可 .注意:①输入变量用()括起来,输出变量用[]括起来.②函数名和文件名必须相同!函数名开头必须用字母,区分大小写.③程序开头必须以function开头,第二行以后可加入注释行或运算语句.④M函数文件可以调用其他一般M文件,M函数文件可以反复调用自己.⑤用内联函数命令inline也可实现M函数文件的大部分功能.【1.34】>>fu
6、=inline('2*x^2+3*x+1')%默认x是输入参量>>fv=inline('v0+a*t','a','t','v0');%建立内联函数fv,其中v0,a,t是变量>>v=fv(4,5,2)%求a=4,t=5,vo=2时函数fv的值fu=Inlinefunction:fu(x)=2*x^2+3*x+1fv=Inlinefunction:fv(a,t,v0)=v0+a*tv=223.M文件单击MATLAB中的File→New→M-File即进入文本编辑窗口(或用桌面快捷键),输入程序即可,开头可任意输入,MATLAB语句;输完程序后,单击保存按钮,在对话框中
7、输入文件名,文件名开头必须是字母.运行M文件有以下几种方法:在命令窗口输入文件名并回车;单击File→Open→*.m(文件名),打开该文件编辑窗口,再单击Tool→Run(或Debug→Run)即可运行;单击File→RunScript,输入文件名,再单击OK按钮即可.4.if条件语句格式:(1)if表达式执行语句end(2)if表达式执行语句1else执行语句2end(3)if表达式1执行语句1elseif表达式2执行语句2else执行语句3end注意:(1)中表达式值非0时,执行下面语句,否则跳过,执行end后面语句.(2)中表达式值非0时,执行语句1,否则执
8、行语句2.(3)中表达式1值非0时,执行语句1并终止if语句,否则计算表达式2的值,以此类推.【1.35】比较数的大小.解:编一个M文件.a=3;b=6;ifa>b%条件表达式1max=a;%命令串1elseifa==b%条件表达式2max='两数相等';%命令串2elsemax=b;%命令串3disp(['最大值为:',num2str(max)]);end注意:if和end必须成对出现使用,disp的使用方法主要有两种:disp(‘…’),disp([‘…’]).5.for循环语句格式:for=表达式可执行语句1…可执行语句nend注意:循环次数一般是给定的,