8.编程&脚本
8.1 脚本
脚本是一个包含多行连续的 MATLAB 命令和函数调用的文件,是最简单的一种MATLAB程序。在命令行中键入脚本名称即可运行该脚本。
要创建脚本,请使用 edit 命令。
edit mysphere
该命令会打开一个名为 mysphere.m 的空白文件。
输入代码,以创建一个单位球、将半径加倍并绘制结果图:
[x,y,z] = sphere;
r = 2;
surf(x*r,y*r,z*r)
axis equal
接下来,添加代码以计算球的表面积和体积:
A = 4*pi*r^2;
V = (4/3)*pi*r^3;
编写代码时,最好添加描述代码的注释。
注释能够让其他人员理解您的代码,并且有助于您在稍后返回代码时再度记起。使用百分比 (%) 符号添加注释。
将文件保存在当前文件夹中。要运行脚本,请在命令行中键入脚本名称: mysphere
还可以从编辑器使用运行按钮运行脚本。
% Create and plot a sphere with radius r.
[x,y,z] = sphere; % Create a unit sphere.
r = 2; surf(x*r,y*r,z*r) % Adjust each dimension and plot.
axis equal % Use the same scale for each axis.
% Find the surface area and volume.
A = 4*pi*r^2;
V = (4/3)*pi*r^3;
8.2 实时脚本
实时脚本有助于查看代码和输出并与之交互,还可以包含格式化文本、方程和图像。
例如,通过选择另存为并将文件类型更改为 MATLAB 实时代码文件 (*.mlx),将 mysphere 转换为实时脚本。然后,用格式化文本替换代码注释。
如上。
要使用 edit 命令创建新的实时脚本,需要在文件名中包含 .mlx 扩展名:
edit newfile.mlx
8.3 循环及条件语句
在任何脚本中,您都可以定义按循环重复执行或按条件执行的代码段。循环使用 for 或 while 关键字,条件语句使用 if 或 switch。
循环在创建序列时很有用。例如,创建一个名为 fibseq 的脚本,该脚本使用 for 循环来计算斐波那契数 列的前 100 个数。在这个序列中,最开始的两个数是 1,随后的每个数是前面两个数的和。
N = 100;
f(1) = 1;
f(2) = 1;
for n = 3:N
f(n) = f(n-1) + f(n-2);
1-21
end
f(1:10)
运行该脚本时,for 语句定义一个名为 n 的计数器,该计数器从 3 开始。然后,该循环重复为 f(n) 赋值, n 在每次执行中递增,直至达到 100。脚本中的最后一条命令 f(1:10) 显示 f 的前 10 个元素。
条件语句仅在给定表达式为 true 时执行。例如,根据随机数的大小为变量赋值:'low'、'medium' 或 'high'。在本例中,随机数是在 1 和 100 之间的一个整数。
num = randi(100)
if num < 34
sz = 'low'
elseif num < 67
sz = 'medium'
else
sz = 'high'
end
语句 sz = 'high' 仅在 num 大于或等于 67 时执行。