Matlab 顺序结构程序
https://www.bilibili.com/video/BV19J411W7Ta?p=14
程序文件的扩展名为 .m
脚本文件
- 记录了一系列语句
- 可以直接在命令行窗口执行
- 文件名就是脚本名,直接输入文件名执行
函数文件
- 定义了一个函数
- 不能直接执行,需要以函数调用的方式执行
- 文件名就是函数名,直接直接输入函数名调用
文件的建立
从菜单 主页-新建脚本
edit
命令
文件的调用
直接输入文件名(文件需在path)中
顺序结构
数据的输入
input(msg)
,msg
是提示信息,为一个字符串
数据的输出
disp(s)
s
可以是一个字符串、一个矩阵等,和不加;
的赋值语句相比,它不会输出s
的类型
程序的暂停
pause(t)
t
表示暂停的时间,单位是秒。pause
程序一直暂停直到用户按下Enter
- 在程序允许过程中,可以按
Ctrl + C
强制终止程序。
在开始语句之前,我们首先需要对语句有一些认识。
- 不同与 Java/C++,matlab 是使用
end
区分语句块(类似大括号的效果)的。 - 条件表达式均不需要加括号,也不需要以冒号结束。
if 选择语句
单分支
https://www.bilibili.com/video/BV19J411W7Ta?p=15
if 条件
% 操作
end
当条件结果为标量时,非零表示条件成立,否则条件成立。
当条件结果是矩阵时,矩阵非空且不包含零元素,则条件成立,否则不成立。
注意不要漏了 end
双分支
if 条件
% 操作1
else
% 操作2
end
多分支
if 条件1
% 操作1
elseif 条件2
% 操作2
else
% 操作3
end
注意在matlab中,表示“否则判断”的关键词elseif
。
switch 选择语句
switch 表达式
case 结果1
% 操作1
case 结果2
% 操作2
case 结果3
% 操作3
otherwise
% 操作
- 表达式的值应该是一个其值可以列举的表达式。
- 当
case
的结果表取值有多个时,要用cell数组表示,如case {1, 2}
- 和 Java/C++ 不同,switch语句中不需要显式地
break
,即当表达式的值匹配到一个case
后,其他case
下的语句均不会被执行。
https://www.bilibili.com/video/BV19J411W7Ta?p=16
for 循环语句
for k=行向量
% 操作
end
- for 循环会把行向量中的值依次赋给k执行循环。
- 和 python 类似,结束循环后 k 的值是最后一次循环的值。
- 循环语句应当尽可能用矩阵运算代替。
- 这里给出的是for语句的一个特例,一般地,k 可以是一个m维 列向量,相应地等号右边应为一个mxn维矩阵。这里n是循环次数。
while 循环语句
while 条件
% 操作
% 改变条件
end
- 通常用于循环次数不确定的情形。
- 每个循环语句不要忘记修改循环条件,否则这个循环可能会一直进行下去。
break & continue 转向语句
break
结束整个循环
continue
跳过当前循环
注意和 C++ 类似,转向语句只能结束/跳出当前循环,内层循环的转向语句没有办法影响外层循环。