在使用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》系列博客创作参考资料来源
- 《自动控制原理实验教程》.巨林仓.西安交通大学出版社.
- 《MATLAB工程与科学绘图》.周博.薛世峰.清华大学出版社.
- 《MATLAB R2018a完全自学一本通》.刘浩.韩晶.电子工业出版社.
- 《科学计算与MATLAB语言》.刘卫国.蔡旭晖.吕格莉.何小贤.中国大学MOOC.
- 《MATLAB软件与基础数学实验》.李换琴.朱旭.王勇茂.籍万新.西安交通大学出版社.
- 《Matlab教程 - 图像处理》@正月点灯笼.https://www.bilibili.com.
- 《MATLAB从入门到秃头》@古德谓尔.https://www.bilibili.com.
博 客 创 作 : A i d e n L e e 博客创作:Aiden\ Lee 博客创作:Aiden Lee
特别声明:文章仅供学习参考,转载请注明出处,严禁盗用!