M文件的编写
一、实验环境
微机WIN XP系统MATLAB软件
二、实验目的
1.学习MATLAB中的关系运算和逻辑运算,掌握他们的表达形式和用法。
2.掌握MATLAB中的选择结构和循环结构。
3.学会用MATLAB进行M文件的编写和调用。
三、预备知识
1、关系和逻辑运算
关系运算符用来完成关系运算,在控制程序流程方面有着极为重要的方面。MATLAB常用的关系符有:<、>、<=小于或等于、>=大于或等于、==等于、~=不等于。
关系运算符可以用来比较两个数值,若所描述的关系成立,则结果为1,表示逻辑真,反之,若所描述的关系不成立,结果为0,表示逻辑假。
MATLAB中的逻辑运算符有&与、|或、~非。
逻辑运算法则
2、选择结构
if语句和switch语句
if语句的一般形式如下:
if A1 %表达式1
B1 %命令1
else if A2 %表达式2
B2 %命令2
else B3 %命令3
end
switch语句的一般结构如下:
switch a %读入一个语句
case A1 %情况1
B1 %命令1
case A2
B2
case …
…
other case %其余情况
Bn %最后一个命令
3、循环结构
for语句一般用于循环次数已知的情况下,而while语句一般用于
循环次数未知的情况。
for语句的格式为:for 变量=表达式
命令1
命令2
…
end
while语句的格式为:while 表达式
命令
end
四、实验内容和步骤
1.创建一个矩阵,用函数all和any作用于该矩阵,比较结果。
>> a=[1,2,0,3;2,0,1,4];
>> b=all(a)
b =
1 0 0 1
>> c=any(a)
c =
1 1 1 1
>> d=all(b)
d =
>> e=any(b)
e =
1
2.编写一个switch语句,判断输入数的奇偶性。
clear
n=input('n=');
switch mod(n,2);
case 1
A=’奇’,
case 0
A=’偶’
otherwise
A=’空’,
end
输入和输出为:n=9
A =
奇
3.编写一个程序画出下列分段函数所表示的曲面,并用M文件存储。
f(x1,x2)=0.5457exp(-0.75x2^2-3.75x1^2-1.5x1) x1+x2>1
0.7575exp(-x2^2-6x1^2) -1 0.5457exp(-0.75x2^2-3.75x1^2+1.5x1) x1+x2<=-1 步骤1.打开M文件编辑器file,编写程序: a=2;b=2; clf; x=-a:0.2:a;y=-b:0.2:b; for i=1:length(x) for j=1:length(x) if x(j)+y(i)>1 z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2-1.5*x(j)); else if x(j)+y(i)<=-1 z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j)); else z(i,j)=0.7575*exp(-y(i)^2-6*x(j)^2); end end end end axis([-a,a,-b,b,min(min(z)),max(max(z))]); colormap(flipud(winter));surf(x,y,z); 步骤2.选择file/save命令,将文件保存命名为firsr.m。 步骤3 在命令窗口输入文件名,可看见图形如下: 四、练习 1.编写一段程序计算n的阶乘。 步骤一:打开M文件编辑器,编写以下内容:clear n=input('n='); sum=1; for i=1:n sum=sum*i; end sum 步骤二:将文件保存并命名。 步骤三:在命令窗口输入文件名然后可得到: n=5 sum = 120 2.编写一个程序求出阶乘大于或等于99^99的最小整数。编写程序如下: clear sum=1; for i=1:1000 sum=sum*i; if sum>=99^99 break end end i 最后得出结果: i = 120 六、讨论、心得 通过本次实验,我掌握了MATLAB的选择结构和循环结构,学会了编写和调用M文件,这样我们就可以将常用的程序编写在M文件里,每次只需要调用该文件里的就可以而不必每次都去敲命令,为我们的操作提供了便捷的方式。但是我们在编写M 文件时,要注意它的格式,M文件与函数文件的区别,以及命名时不能修改它的名字。经过多次的实验我愈发感到了MATLAB 的强大,它将会是我们今后的学习、工作的好帮手。