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 强制终止程序。

在开始语句之前,我们首先需要对语句有一些认识。

  1. 不同与 Java/C++,matlab 是使用 end 区分语句块(类似大括号的效果)的。
  2. 条件表达式均不需要加括号,也不需要以冒号结束。

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
        % 操作
  1. 表达式的值应该是一个其值可以列举的表达式。
  2. case 的结果表取值有多个时,要用cell数组表示,如 case {1, 2}
  3. 和 Java/C++ 不同,switch语句中不需要显式地 break,即当表达式的值匹配到一个 case 后,其他 case 下的语句均不会被执行。

https://www.bilibili.com/video/BV19J411W7Ta?p=16

for 循环语句

for k=行向量
    % 操作
end
  1. for 循环会把行向量中的值依次赋给k执行循环。
  2. 和 python 类似,结束循环后 k 的值是最后一次循环的值。
  3. 循环语句应当尽可能用矩阵运算代替。
  4. 这里给出的是for语句的一个特例,一般地,k 可以是一个m维 列向量,相应地等号右边应为一个mxn维矩阵。这里n是循环次数。

while 循环语句

while 条件
    % 操作
    % 改变条件
end
  1. 通常用于循环次数不确定的情形。
  2. 每个循环语句不要忘记修改循环条件,否则这个循环可能会一直进行下去。

break & continue 转向语句

break 结束整个循环

continue 跳过当前循环

注意和 C++ 类似,转向语句只能结束/跳出当前循环,内层循环的转向语句没有办法影响外层循环。

最后修改:2020 年 05 月 11 日
如果觉得我的文章对你有用,请随意赞赏