基本表示方法
变量和赋值语句
MATLAB赋值语句有两种形式:
(1)变量=表达式
a=[1,2,3;4,5,6]
输出为:
a =
1 2 3
4 5 6
(2)表达式
[1,2,3;4,5,6]
输出为:
ans =
1 2 3
4 5 6
[注1]在(2)的形式下,将表达式的值赋给MATLAB的永久变量ans.
[注2]在一条语句中,如果表达式太复杂,一行写不下,可以加上三个小黑点(续行符)并按下回车键,然后接下去再写.例如:
s=1-1/2+1/3-1/4+1/5-1/6+1/7-...
1/8+1/9-1/10+1/11-1/12
输出为:
s =
0.6532
变量命名规则
- 变量名的大小写是敏感的。
- 变量名的第一个字符必须为英文字母,而且不能超过31个字符。
- 变量名可以包含以下连字符、数字,但不能为空格符、标点。
连字符或数字 | 含义 |
---|---|
ans | 预设的计算结果的变量名 |
eps | MATLAB定义的正的极小值=2.2204e-16 |
pi | 内建的π=(3.1415926…) |
i或j | 虚数单位 |
nargin | 函数输入参数个数 |
nargout | 函数输出参数个数 |
realmax | 最大的正实数 |
realmin | 最小的正实数 |
flops | 浮点运算次数 |
MATLAB表达式
- 算术表达式
运算符有:+(加)、-(减)、*(乘)、/(右除)、(左除)、^(乘方)
对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系. - 关系表达式
运算符有:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于) - 逻辑表达式
运算符有:&(与)、|(或)和~(非)
MATLAB矩阵表示
MATLAB常用数学函数
三角函数和双曲函数
名称 | 含义 | 名称 | 含义 | 名称 | 含义 |
---|---|---|---|---|---|
sin | 正切 | csc | 余割 | atanh | 反双曲正切 |
cos | 余弦 | asec | 反正割 | acoth | 反双曲余切 |
tan | 正切 | acsc | 反余割 | sech | 双曲正割 |
cot | 余切 | sinh | 双曲正弦 | csch | 双曲余割 |
asin | 反正弦 | cosh | 双曲余弦 | asech | 反双曲正割 |
acos | 反余弦 | tanh | 双曲正切 | acsch | 反双曲余割 |
atan | 反正切 | coth | 双曲余切 | atan2 | 四象限反正切 |
acot | 反余切 | asinh | 反双曲正弦 | ||
sec | 正割 | acosh | 反双曲余弦 |
指数函数
名称 | 含义 | 名称 | 含义 | 名称 | 含义 |
---|---|---|---|---|---|
exp | e(自然对数)为底的指数 | log10 | 10为底的对数 | pow2 | 2的幂 |
log | 自然对数 | log2 | 2为底的对数 | sqrt | 平方根 |
复数函数
名称 | 含义 | 名称 | 含义 | 名称 | 含义 |
---|---|---|---|---|---|
abs | 绝对值 | conj | 复数共轭 | real | 复数实部 |
angle | 相角 | imag | 复数虚部 |
其他函数
名称 | 含义 | 名称 | 含义 |
---|---|---|---|
min | 最小值 | max | 最大值 |
mean | 平均值 | median | 中位数 |
std | 标准差 | diff | 相邻元素的差 |
sort | 排序 | length | 个数 |
norm | 欧氏长度 | sum | 总和 |
prod | 总乘积 | dot | 内积 |
cumsum | 累计元素总和 | cumprod | 累计元素乘积 |
cross | 外积 |
- MATLAB的数据保存和传送的基本单元不是标量,而是复数阵列型数据,即数组;Matlab的算术、关系、逻辑运算的基本运算单元也不是标量,是数组;提供的许多M函数的基本作用单元也不是标量,是数组。
- MATLAB中的行标识、列标识皆从1开始,行标识从上到下递增,列标识从左到右递增。例如:
a=[22,23,24,25;32,33,34,35;42,43,44,45]
a的存储格式就为:
矩阵运算
建立矩阵
- 直接输入法:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔.(也可以用回车键代替分号)。
例如:
%输入为
A=[1 2 3;4 5 6;7 8 9]
B=[1,2,3;4,5,6;7,8,9]
%以下为输出结果:
A =
1 2 3
4 5 6
7 8 9
B =
1 2 3
4 5 6
7 8 9
- 冒号表达式:在MATLAB中,冒号是一个重要的运算符.利用它可以产生向量,还可用来拆分矩阵.冒号表达式的一般格式是:
其中e1为初始值,e2为步长,e3为终止值.冒号表达式可产生一个由e1开始到e3结束,以步长e2自增的行向量。
例如:
%输入为
i=1:0.5:10
%输出结果为:
i =
1 至 7 列
1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000
8 至 14 列
4.5000 5.0000 5.5000 6.0000 6.5000 7.0000 7.5000
15 至 19 列
8.0000 8.5000 9.0000 9.5000 10.0000
- MATLAB常用数学函数:MATLAB提供了许多数学函数,函数的自变量规定为矩阵变量,运算法则是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与自变量同维数的矩阵。
例如:
%输入为
A= [1 2 3;4 5 6]
C=cos(pi*A)
%输出结果为:
A =
1 2 3
4 5 6
C =
-1 1 -1
1 -1 1
行列数组的创建
- 使用方括号“[ ]”操作符,例如:
%输入为
a=[1 3 pi 3+5*i] %or a=[1, 3, pi, 3+5*i]
%输出结果为:
a =
1.0000 + 0.0000i 3.0000 + 0.0000i 3.1416 + 0.0000i 3.0000 + 5.0000i
- 使用冒号“:”操作符,例如:
利用冒号“:”操作符创建行向量的基本语法格式:
x=Start:Increment:End
–Start表示新向量x的第一个元素;
–新向量x的最后一个元素不能大于End ;
–Increment可正可负,若负,则必须Start>End;若正,则必须Start<End,否则创建的为空向量。
–若Increment=1,则可简写为:x=Start:End。
%输入为
b=1:10
%输出结果为:
b =
1 2 3 4 5 6 7 8 9 10
- 利用函数linspace,例如:
函数linspace的基本语法
x= linspace(x1, x2, n)
–该函数生成一个由 n 个元素组成的行向量;
–x1为其第一个元素;
–x2为其最后一个元素;
–x1、x2之间元素的间隔=(x2-x1)/(n-1)。
–如果忽略参数n,则系统默认生成100个元素的行向量。
%输入为
x= linspace(1,2,5)
%输出结果为
x =
1.0000 1.2500 1.5000 1.7500 2.0000