合集如下:
MATLAB入门到精通(一):简介及数据类型
MATLAB入门到精通(二):基本语句及绘图
MATLAB入门到精通(三):常用函数及数学应用
六、编程语句
6.1 选择结构
6.1.1 if 结构
if结构的基本结构如下:
if 判断条件1
执行语句1
elseif 判断条件2
执行语句2
...
...
else
执行语句n
end
具体实例:
% 判断数字是正数、负数还是0
a=1;
if a>0
disp('正数');
elseif a<0
disp('负数');
else
disp('0');
end
6.1.2 switch结构
if结构的基本结构如下:
switch (判断条件)
case 结果1
执行语句1
...
...
otherwise,
执行语句n
end
其中otherwise是可选的,当所有的结果都不符合时就会被执行。
具体实例:
switch (1+1)
case 1
disp('1+1=1');
case 2
disp('1+1=2');
otherwise
disp('我什么都不知道');
end
6.1.3 try/catch结构
try/catch结构是一种特殊的条件语句,只有发生异常时catch中的内容才会执行。
try/catch的基本结构如下:
try
语句1
语句2
...
catch
语句n
...
end
具体实例如下:
try
a=1/0;
catch
disp('我在写bug');
end
6.2 循环结构
6.2.1 while 循环
while循环是一个重复次数不确定的语句块,基本结构如下:
while 条件
语句1
语句2
...
end
如果条件非零,则循环内的语句执行,直到条件为0。具体实例如下:
%计算3的阶乘
result=1;
n=3;
while n>1
result=result*n;
n=n-1;
end
disp(result);
6.2.2 for 循环
for 循环是指定循环次数的语句块,其基本结构如下:
for index=x:s:n %x:起始位置;s:步长;n:终止位置
语句1
...
语句n
end
具体实例如下:
%计算从1加到100
n=100;
result=0;
for x=1:n
result=result+x;
end
disp(result)
6.3 continue和break语句
continue和break语句可以控制跳出循环。
continue:终止本次循环,执行下一次循环。
break:终止所在循环的整个循环语句。
七、M脚本文件
这里介绍的可能有点不及时了,上面已经使用过M脚本文件了。
7.1 什么是M脚本文件
(1)该文件中的指令形式和前后位置与解决同一个问题时在指令窗口输入的那组指令没有任何区别。
(2)MATLAB在运行这个文件时,只是简单地从文件中读取一条条指令,送到MATLAB中执行。
(3)文件扩展名“m”。
7.2 M脚本文件常用的一些函数
函数名 | 描述 |
---|---|
beep | 让计算机尖叫 |
disp(变量) | 只显示结果,不显示变量名 |
echo | 在M脚本文件被执行时,控制M脚本文件内容是否在Command窗口中显示 |
input | 提示用户输入数据 |
keyboard | 临时终止M文件的执行,让键盘获得控制权,回车键取消。 |
pause | 暂停,直到用户按下任意键或到指定时间后为止 |
waitforbuttonpress | 暂停,直到用户按下鼠标或其他按键为止 |
7.3 变量的一些介绍
Matlab的变量不需要事先定义。Matlab能识别一般常用的加减乘除运算,对于简单地计算可以字命令窗口中输入表达式,摁【Enter】键即可完成。Matlab会自动的将运算结果存入默认变量 ans 中,并显示其结果(如果表达式后加上“;”,则不会显示),用户可自行设定自己的变量。
下面介绍一些Matlab中的特殊变量:
变量名 | 变量含义 |
---|---|
ans | Matlab中默认变量 |
pi | 圆周率π |
eps | 返回某数的最小浮点数精度 |
inf | 无穷大 |
NaN | 非数 |
i(j) | 复数中的虚数单位 |
nargin | 所用函数的输入变量数目 |
nargout | 所用函数的输出变量数目 |
realmin | 最小可用正实数 |
realmax | 最大可用正实数 |
八、M函数文件
函数能够把大量有用的数学公式或者命令集中在一个模块中,因此,他们对某些复杂问题有很强的解决能力。
8.1 M函数文件的构建规则
下面罗列一些M函数文件的标准
(1)M函数文件名必须和function声明行中的函数名一致。实际上,当用户输入一个M函数并执行时,Matlab寻找的是以这个函数的名字命名的.m文件,而不是function声明中的函数名。
(2)M函数的命名规则:
- 以字母开头,后面任意的字母,数字,下划线的组合。
- 不能超过63个字符,超出则不显示。
- 与文件名一致
(3)介于函数声明和第一行命令之间的若干行注释一般作为函数的帮助文档,当使用help命令查看时将显示这一部分内容。
下面通过一个例子说明规则:
该文件为 myFunction命名的M函数文件。
function result = myFunction(var) %第一行位函数的声明
% 声明和命令之间的为函数帮助文档部分
%求正切的方法
% result 表示返回的结果变量,可多个返回值(中括号),调用函数得到的就是这个值
% var 表示函数的参数列表
result=tan(v); % 函数的主题部分
8.2 函数句柄
介绍一种函数的高级使用方式:函数句柄。一句话介绍函数句柄就是:将一个函数封装成一个变量。使函数能够更方便的在不同文件中调用,并快速使用。当一个函数句柄被创建是,它将记录函数的详细信息,因此,当使用一个函数句柄调用该函数时,Matlab会立即执行而不需要再进行文件搜索。
下面通过几个的例子了解怎么使用:
%% 句柄的创建方式一: 方法名=@方法名
myFunction1=@cos;
myFunction1(pi)
%% 句柄的创建方式二: 方法名=@(变量名) 方法体
myFunction2=@(x) x^2;
myFunction2(2)
%% 句柄的创建方式三: 方法名=str2func('方法名')
myFunction3=str2func('tan');
myFunction3(pi/4)
函数还有很多用法,想赶赶进度,暂时先整理这些,后续有机会再补上。
九、二维图形
Matlab可以表示数据的二维、三维和四维图形。通过对图形的线型、立面、色彩、光线、视角等属性的控制,可把数据的内在特征表现的更加细腻和完美。本章介绍二维图形的绘制和图形的处理。
9.1 plot()函数
9.1.1 基本调用格式
绘制二维图形最常用的函数就是plot()函数,通过不同形式的输入,该函数可以实现不同的功能,其基本调用格式如下:
plot(y)
此命令中参数y可以是向量、实数矩阵或复数向量。
若y为向量,则绘制的图形以向量索引位横坐标值、以向量元素的值为纵坐标值;
若y为实数矩阵,则绘制y的列向量对其坐标索引的图形,plot函数将绘制Y的列与行号之间的关系。x轴的刻度范围是从1到Y的行数。这里有点难理解。举个例子:以矩阵的第一列为例,第一列的行号就是横坐标,第一列的元素就是纵坐标,以此类推。
若y为复数向量,则plot(y)相当于plot(real(y),imag(y))
例如:用plot(y)命令绘制向量:
t=1:.1:2*pi; %横坐标
y=sin(t); %纵坐标
plot(