M文件的编写

M文件的编写
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 的强大,它将会是我们今后的学习、工作的好帮手。

相关主题
相关文档
最新文档