《MATLAB R2016完全自学一本通》
目录
第4章 MATLAB编程基础
一、M文件编辑器
实现复杂运算的文件(一堆代码)。创建方式:
二、变量
1、变量命名规则
(1)大小写有区别
(2)必须以字母开头,后面可是任意字母或下划线,但不能有空格、中文或标点
(3)不能使用关键字,避免使用函数名,若采用则该函数失效
(4)最多可包含63个字符,从第64个字符后的字符会被忽略
2、验证变量名是否合法
可调用isvarname函数,来判断变量名是否合规则;
- 若返回值为1,则该变量名合法
- 若返回值为0,则该变量名不合法
3、变量类型
(1)局部变量
(2)全局变量
(3)永久变量
4、默认的特殊变量
特殊变量 | 描述 |
---|---|
ans | 系统默认的用作保存运算结果的变量名 |
pi | 圆周率 |
eps | 机器零阈值,MATLAB中的最小数 |
inf | 表示无穷大 |
NaN 或 nan | 表示不定数 |
i 或 j | 虚数 |
nargin | 函数的输入参数个数 |
nargout | 函数的输出参数个数 |
realmin | 可用的最小正实数 |
realmax | 可用的最大正实数 |
bitmax | 可用的最大正整数(以双精度格式存储) |
varargin | 可变的函数输入参数个数 |
varargout | 可变的函数输出参数个数 |
beep | 使计算机发出“嘟嘟”声音 |
5、关键字
共有20个,在命令行窗口输入命令iskeyword,即可查询。
二、控制流结构
1、顺序结构
2、if-else-end 分支结构
如:【执行语句后的;灵活添加,有需要就加,没有需要就不加】
if ( )
语句1 ;
else
语句2 ;
end
说明:
(1)要调用strcmp函数比较不同长度的字符串
3、switch-case 结构
switch value
case test1
语句1
case test2
语句2
……
otherwise
语句n
end
说明:
(1)上面的句法格式保证了至少有一组指令会被执行
(2)value应为一个标量或一个字符串
(3)test可为一个标量、一个字符串、一个元胞数组,若是元胞数组,MATLAB将会把表达式value的值与元胞数组中的所有元素进行比较,如果其中有某个元素与表达式value的值相等,则认为此次比较的结果为真,执行相应的语句。
(4)可比较不同长度的字符串
4、try-catch 结构
try
语句1
catch
语句2
end
lasterr //显示出错原因
说明:
(1)try-catch 结构只提供两个可供选择的命令组
(2)只有执行语句1发生错误时,才执行语句2
(3)可调用lasterr函数查询出错的原因,若执行结果为空字符串,则表示语句1被成功执行
(4)若执行语句2时也发生错误,该结构将会被终止
5、for 循环语句
for x=array
语句
end
说明:
(1)循环次数是确定的,由array数组的列数决定
(2)循环变量x被依次赋值为array数组的各列
(3)循环内部语句末尾的分号隐藏重复的打印,若语句指令中包含变量,则循环后在命令行窗口直接输入变量r来显示变量r经过循环后的最终结果
例如:
sum=0;
for i=1:1:100
sum=sum+i;
end
sum
6、while 循环结构
while expression
commands
end
说明:
(1)在循环之前,首先检测expression的值,若为真,则执行命令组;第一次执行语句完毕后,继续检测expression的逻辑值,若仍为真,则继续执行命令组,直到expression的逻辑值为假,结束while循环
(2)表达式的值可以是标量值、数组,若表达式为数组且数组所有元素的逻辑值均为真时,while循环才继续执行命令组
(3)若表达式为空数组,则默认表达式的值为假
三、控制程序流的其他常用指令
1、return 指令
2、input 和 keyboard 指令
x = input(prompt) 输入的东西当成数字或者矩阵;
str = input(prompt,‘s’) 输入的东西当成字符串存起来;