《MATLAB SYNTAX》第3章 流程控制

  在使用Matlab的过程中,可以直接在Matlab命令行窗口输入程序,采用交互式的方式进行编程,边输入程序边运行,但对于大型的复杂程序就会非常的麻烦,可以编写扩展名为.m的M文件:脚本M文件(Scripts)、函数M文件(Functions)。
  脚本M文件中的变量一般都是全局变量,程序运行后,这些变量保存在Matlab的基本工作空间内。函数M文件中的变量一般都是局部变量,存放在函数自身的函数工作空间中,不会和基本工作空间中的变量产生冲突。
  P码文件是对M文件的源代码不可见却可以执行的版本,后缀为.p,采用函数pcode()生成脚本M文件或函数M文件的P码文件。第一次执行M文件时,Matlab需要将其解析(parse)一次(已解析内容会放入内存,第二次执行时无需再解析,这就增加了程序的执行效率),产生P码文件,如果再调用M文件时,便会直接执行其P码文件。Matlab的解析速度非常快,一般不用产生P码文件,只有当一些程序要调用到非常多的M文件时,如GUI应用程序时,才会作预解析,以增加以后的调用速度。

%nargin用来记录函数输入参数的个数
function y = myMax(x1,x2,x3)
    if nargin == 0
        y = NaN;
        return;
    elseif nargin == 1
        y = max(x1);
    elseif nargin == 2
        y = max(max(x1),max(x2));
    else
        y = max([max(x1),max(x2),max(x3)]);
    end
end
%nargout用来记录函数输出参数的个数
function [y1,y2] = myMin(x1,x2)
    if nargin == 1
        y1 = min(x1); 
        y2 = y1;
    elseif nargin == 2
        y1 = min(x1);
        y2 = min(x2);
    end
    if nargout == 1
        y1 = min(y1,y2);
    end
end

(3.1) if语句

if 逻辑表达式
    执行语句;
end
if 逻辑表达式
    执行语句1;
else
    执行语句2;
end
if 逻辑表达式1
    执行语句1;
elseif 逻辑表达式2
    执行语句2;
...
elseif 逻辑表达式n-1
    执行语句n-1;
else
    执行语句n;
end

(3.2) try-catch语句

try
    执行语句1;
catch
    执行语句2;
end

先执行执行语句1,若没发生错误,执行完后结束此结构,若发生错误,那么执行语句2会被执行。

(3.3) switch语句

switch 变量
    case 数值1
        执行语句1;
    case 数值2
        执行语句2;
    ...
    case 数值n-1
        执行语句n-1;
    otherwise
        执行语句n;
end

(3.4) for循环

for 循环变量 = 初值:步长:终值
    执行语句;
end

(3.5) while循环

while 逻辑表达式
    执行语句;
end

(3.6) 其他控制语句

break; %for循环或while循环结构进行终止
continue; %结束本次循环,进行下一次循环
a = input('message'); %将用户输入的内容赋值给变量a
a = input('message','s'); %将用户输入的内容以字符串的形式赋值给变量a
pause; %暂停程序的执行,等待用户按任意键继续
pause(n); %暂停程序n秒的时间
echo; %在函数执行期间显示/不显示语句
return; %终止程序的运行

《 M A T L A B   S Y N T A X 》 系 列 博 客 创 作 参 考 资 料 来 源 《MATLAB\ SYNTAX》系列博客创作参考资料来源 MATLAB SYNTAX

  1. 《自动控制原理实验教程》.巨林仓.西安交通大学出版社.
  2. 《MATLAB工程与科学绘图》.周博.薛世峰.清华大学出版社.
  3. 《MATLAB R2018a完全自学一本通》.刘浩.韩晶.电子工业出版社.
  4. 《科学计算与MATLAB语言》.刘卫国.蔡旭晖.吕格莉.何小贤.中国大学MOOC.
  5. 《MATLAB软件与基础数学实验》.李换琴.朱旭.王勇茂.籍万新.西安交通大学出版社.
  6. 《Matlab教程 - 图像处理》@正月点灯笼.https://www.bilibili.com.
  7. 《MATLAB从入门到秃头》@古德谓尔.https://www.bilibili.com.

博 客 创 作 : A i d e n   L e e 博客创作:Aiden\ Lee Aiden Lee
特别声明:文章仅供学习参考,转载请注明出处,严禁盗用!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值