Loading... ## 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 ```matlab if 条件 % 操作 end ``` 当条件结果为标量时,非零表示条件成立,否则条件成立。 当条件结果是矩阵时,矩阵非空且不包含零元素,则条件成立,否则不成立。 注意不要漏了 `end` ### 双分支 ```matlab if 条件 % 操作1 else % 操作2 end ``` ### 多分支 ```matlab if 条件1 % 操作1 elseif 条件2 % 操作2 else % 操作3 end ``` 注意在matlab中,表示“否则判断”的关键词`elseif`。 ## switch 选择语句 ```matlab 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 循环语句 ```matlab for k=行向量 % 操作 end ``` 1. for 循环会把行向量中的值依次赋给k执行循环。 2. 和 python 类似,结束循环后 k 的值是最后一次循环的值。 3. 循环语句应当尽可能用矩阵运算代替。 4. 这里给出的是for语句的一个特例,一般地,k 可以是一个m维 列向量,相应地等号右边应为一个mxn维矩阵。这里n是循环次数。 ## while 循环语句 ```matlab while 条件 % 操作 % 改变条件 end ``` 1. 通常用于循环次数不确定的情形。 2. 每个循环语句不要忘记修改循环条件,否则这个循环可能会一直进行下去。 ## break & continue 转向语句 `break` 结束整个循环 `continue` 跳过当前循环 注意和 C++ 类似,转向语句只能结束/跳出当前循环,内层循环的转向语句没有办法影响外层循环。 最后修改:2020 年 05 月 11 日 © 允许规范转载 赞 0 如果觉得我的文章对你有用,请随意赞赏