第六章 MATLAB 程序设计
MATLAB 有两种工作方式:
一种是交互式的命令行工作方式;
另一种是 M 文件的程序工作方式
6.1 M 文件
用 MATLAB 语言编写的程序,称为 M 文件。
M 文件有两类:命令文件和函数文件。
命令文件没有输入参数,也不返回参数;对 MATLAB 工作空间中的变量进行操作。
函数文件可以输入参数、返回参数。
本节介绍命令文件。
M 文件的建立与编辑
3.2 数据的输入输出
MATLAB 的输入输出方式包括命令窗口的输入输出以及图形界面的输入输出。此外,它还允许对文件进行读写。
Input
函数
调用格式:
A = input(提示信息, 选项);
pause
函数
当程序运行时,为了查看程序的中间结果或观看输出的图形,有时需要暂停程序的执行。这时可以使用 pause
函数,调用格式为:
pause(延迟秒数)
Disp
函数
MATLAB 提供的命令窗口输出函数主要有 disp
函数,调用格式为:
Disp(输出项)
关系及逻辑运算
MATLAB 提供以下的关系判断及逻辑的运算元:
<
<=
>
>=
==
~=
&
|
~
6.3 选择结构
if
语句和 switch
语句
6.4 循环结构
for
语句和 while
语句
6.5 函数文件
函数文件由 function
语句引导,一般格式为:
`function 输出形参表 = 函数名 (输入形参表)
注释说明部分
函数体
6.6 全局变量和局部变量
全局变量会破坏函数对变量的封装,降低程序的可读性。
全局变量名字一般用大写字母表示。
%变量互换
a = 1:9;
b = [11, 12, 13; 14, 15, 16; 17, 18, 19];
c = a; a = b; b = c;
a
b
%变量输入 input
a = input('a=?');
b = input('b=?');
c = input('c=?');
d = b*b - 4*a*c;
x = [(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]
%选择结构
%if 三角形
A = input('请输入三角形的三条边:');
if A(1) + A(2) > A(3) & A(1) + A(3) > A(2) & A(2) + A(3) > A(1)
P = (A(1) + A(2) + A(3)) / 2;
S = sqrt(P*(P-A(1))*(P-A(2))*(P-A(3)));
disp(S);
else
disp('不能构成一个三角形')
end
%switch
num = input('请输入一个数');
switch num
case -1
disp('I am a teacher.');
case 0
disp('I am a student.');
case 1
disp('You are a teacher.');
otherwise
disp('You are a student.');
end
%循环结构
%for
y = 0; n = 100;
for i = 1:n
y = y+1/(2*i-1);
end
y
a = 0; b = 3*pi; n = 1000;
h = (b-a) / n;
x=a; s=0; f0=exp(-0.5*x)*sin(x+pi/6);
for i=1:n
x=x+h;
f1=exp(-0.5*x)*sin(x+pi/6);
s=s+(f0+f1)*h/2;
f0=f1;
end
s
%
s = [0;0;0;0];
a = [12,13,14;15,16,17;18,19,20;21,22,23];
for k=a
s=s+k;
end
disp(s');
%while
y=0;i=1;
while 1
f=1/(2*i-1);
y=y+f;
if y>3
break;
end
i=i+1;
end
n=i-1
y=y-f
%
A = rand(3);
E=zeros(size(A));
F=eye(size(A));
K=1;
while norm(E+f-3,1)>0
E=E+F;
F=A*F/K;
K=K+1;
end
E
expm(A)
%求[100, 1000]内的全部素数
n=0;
for m=100:1000
flag=1; j=m-1;
i=2;
while i<=j&flag
if rem(m,i)==0
flag=0;
end
i=i+1;
end
if flag
n=n+1;
prime(n)=m;
end
end
prime
%
for i=1:10
fac(i)=factor(i);
end
fac
网友评论