MATLAB的表达式和函数
● 变量
再Matlab中变量名的命名有自己的规则:
- 变量名区分大小写。
- 变量名长度不超31位,第31个字符之后的字符将被MATLAB语言所忽略。
- 变量名以字母开头,可以由字母、数字、下划线组成,但不能使用标点。
MATLAB不要求事先对变量进行声明,也不需要指定变量类型,MATLAB会自动依据所赋予变量的值或对变量所进行的操作来识别变量的类型。在赋值过程中如果赋值变量已存在,MATLAB语言将使用新值代替旧值,并以新值类型代替旧值类型。
在MATLAB中也存在变量作用域的问题。在未加特殊说明的情况下,MATLAB语言将所识别的一切变量视为局部变量,即仅在其使用的M文件内有效。若要将变量定义为全局变量,则应当对变量进行说明,即在该变量前加关键字global。一般来说全局变量均用大写的英文字符表示。
变量名称 | 变量含义 | 变量名称 | 变量含义 |
---|---|---|---|
ans | MATLAB中默认变量 | i(j) | 复数中的虚数单位 |
pi | 圆周率 | nargin | 所用函数的输入变量数目 |
eps | MATLAB定义的正极小数,为2.2204e-16 | nargout | 所用函数的输出变量数目 |
inf | 无穷大,如1/0 | realmin | 最小可用正实数 |
NaN | 不定值,如/0,∞/∞,0*∞ | realmax | 最大可不清用正实数 |
MATLAB的数据类型
- 整数
- 浮点数
- 复数:建立复数有两种方法:一种是直接语句建立,x=2+3i或(j);一种是用complex(x,y)。
- 无穷大数:inf、-inf。
- 非数值:NaN。
● 逻辑
● 字符串
● 单元数组
(1)使用赋值语句创建数组
A={‘1’,‘2’;‘3’,‘4’}
(2)使用cell函数创建数组
cellName=cell(3,4)
● 结构体
(1)使用赋值语句创建结构体
student.name=‘ming’
student.age=10
student.grade=4
student.subject={‘chinese’ ‘math’ ‘english’}
student
※student是一个1X1的结构体数组
(2)使用函数struct创建结构体
student=struct(‘name’,‘ming’,‘age’,‘10’,‘grade’,‘4’,‘subject’,‘chinese,math,english’)
MATLAB的运算符
●算术运算符
●关系运算符
●逻辑运算符
逻辑运算符 | 说明 |
---|---|
& | 逻辑与 |
I | 逻辑或 |
~ | 逻辑非 |
函数 | 运算法则 |
---|---|
xor(x,y) | 异或运算。x与y不同时,返回1;相同时,返回0 |
any(x) | 如果在一个向量x中,有任何元素是非零,返回1,否则返回0;如果矩阵x中的每一列有非零元素,返回1,否则返回0 |
all(x) | 如果在一个向量x中,所有元素非零,返回1,否则返回0;如果矩阵x中的每一列所有元素非零,返回1,否则返回0 |
●运算符优先级
优先级 | 运算法则 |
---|---|
1 | 括号:() |
2 | 转置和乘幂: .A’或rot90(A) 和 ^ |
3 | 一元加减运算和逻辑非:+,-,~ |
4 | 乘除,点乘,点除:*,/,点乘和点除是矩阵中元素的运算 |
5 | 冒号运算: |
6 | 关系运算:>,>=,<,<=,==,~= |
7 | 逐个元素的逻辑与:& |
8 | 逐个元素的逻辑或:I |
9 | 捷径逻辑与:&& |
10 | 捷径逻辑或:I I |
●MATLAB的标点符号
名称 | 符号 | 功能 |
---|---|---|
空格 | 用作输入变量之间的分隔符以及数组行元素之间的分隔符 | |
逗号 | , | 用作要显示计算结果的命令之间的分隔符;用作输入变量之间的分隔符;用于数组行元素之间的分隔符 |
点号 | . | 用作数值中的小数点 |
分号 | ; | 用作不显示计算结果命令行的结尾;用作不显示计算结果之间的分隔符;用作数组元素行之间的分隔 |
冒号 | : | 用于生成一维数值数组,表示一维数值的全部元素或多维数组的某一维的全部元素 |
百分号 | % | 用于注释的前面,在它后面的命令不需要执行 |
单引号 | ‘ | 用于括住字符 |
圆括号 | () | 用于引用数组元素;用于函数输入变量列表;用于确定算数运算的先后次序 |
方括号 | [ ] | 用于构成向量和矩阵;用于函数输出列表 |
花括号 | { } | 用于构成元胞数组 |
下划线 | _ | 用作一个变量、函数或文件名的连字符 |
续行号 | … | 用于把后面的行与该行连接以构成一个较长的命令 |
"At"号 | @ | 用于放在函数名前形成函数句柄;用于放在目录名前形成用户对象类目录 |
●基本数学函数
函数分类 | 函数名 | 说明 |
---|---|---|
三角函数 | sin | 正弦函数 |
三角函数 | sinh | 双曲正弦函数 |
三角函数 | asin | 反正弦函数 |
三角函数 | asinh | 反双曲正弦函数 |
三角函数 | cos | 余弦函数 |
三角函数 | cosh | 双曲余弦函数 |
三角函数 | acos | 反余弦函数 |
三角函数 | acosh | 反双曲余弦函数 |
三角函数 | tan | 正切函数 |
三角函数 | tanh | 双曲正切函数 |
三角函数 | atan | 反正切函数 |
三角函数 | atanh | 反双曲正切函数 |
三角函数 | sec | 正割函数 |
三角函数 | sech | 双曲正割函数 |
三角函数 | asec | 反正割函数 |
三角函数 | asech | 反双曲正割函数 |
三角函数 | cot | 余切函数 |
三角函数 | coth | 双曲余切函数 |
三角函数 | acot | 反余切函数 |
三角函数 | acoth | 反双曲余割函数 |
函数分类 | 函数名 | 说明 | 用法 |
---|---|---|---|
其他常用计算函数 | fix | 向零方向取整 | fix(X) |
其他常用计算函数 | round | 四舍五入到最近的整数 | round(X) |
其他常用计算函数 | floor | 向无穷大方向取整 | floor(X) |
其他常用计算函数 | rem | 求两数相除的余数 | r = rem(a,b) |
其他常用计算函数 | exp | 指数函数 | exp(X) |
其他常用计算函数 | log | 自然对数函数(e为底) | log(X) |
其他常用计算函数 | log10 | 以10为底的对数函数 | log10(X) |
其他常用计算函数 | sort | 开方函数 | 引于博主(永远怀着一颗学习的心) |
其他常用计算函数 | abs | 绝对值函数 | abs(X) |
●MATLAB的脚本文件
MATLAB中有一种文件叫做M文件,他是由一些列代码组成的扩展名为 .m的文件,虽然M文件是简单的ASCLL文本文件,但是语法与高级语言一样,是一种程序化的编程语言。M文件可分为脚本文件(MATLAB scripts)和函数文件(MATLAB functions)。脚本文件是包含多条MATLAB命令的文件;函数文件可以包含输入变量,并把结果传送给输出变量,两者的简要区别如下:
项目 | 脚本文件 | 函数文件 |
---|---|---|
文件内容 | 多条命令的综合体 | 常用于扩充MATLAB函数库 |
输入、输出变量 | 没有输入、输出变量 | 可以包含输入、输出变量 |
工作空间 | 使用MATLAB基本工作空间 | 运算中生成的所有变量都存放在函数工作空间 |
函数声明行 | 无 | 有 |
※ 写M文件时,选中某段程序内容,按快捷键【ctrl+I】让MATLAB帮你自动对齐程序。