因课题需要,根据书籍初步自学matlab,结合刷教程书的一点心得,做一个简单记录,方便自己能形成一个输入输出循坏,加深理解和记忆。
参考书籍:Matlab揭秘,David McMahon著,郑碧波译.
二、Matlab中最基本的向量与矩阵运算知识
1、对向量的操作
1)向量的基本运算:
- 定义一个向量
创建一个列向量,元素与元素之间用分号(;)隔开,如 a = [2; 1; 4];
创建一个行向量,元素与元素之间用空格(space)或者逗号(,)隔开,如 b = [3, 1, 5];
- 向量的转置、共轭转置
向量转置可以使用(')来完成,如 b = a';
当向量元素中涉及到复数时,转置运算会自动完成共轭转置。
如果只想转置而不进行共轭处理,可以使用(.'),如 b = a.';
- 向量的加减运算、数乘法运算
Matlab中向量的加减运算只用参与运算的向量同型即可,数乘法的运算规则和线性代数中一致。
- 向量的幂方运算
在Matlab中向量的乘方必须在幂运算符( ^)前面加上句号(.),
只有这样才是对向量每一个元素进行幂运算,否则将报错。如 y = x .^2;
- 向量的点积与叉积(数量积与向量积)
向量的点积要通过点乘运算(.*)来完成,否则无法满足点积的定义。
同时,点积运算也可以使用dot(a, b)命令来完成。
向量的叉积则要求两个向量必须是三维的,然后使用cross命令来实现,如 c = cross(a, b);
- 向量的模(两种求解方法)
一是根据点积定义长度来求解,即一个向量的模的平方就等于它与自身做点积,如 a = sqrt(a .* a)。
同时要注意的是,对于复数向量的模,我们必须先求解向量的共轭向量。
如果是直接用转置符号求共轭转置,将会出错,这里应该严格使用conj命令求解共轭向量,然后再用它们做点积。
二是使用dot(a, b)来求点积,然后开根号,这样即使是复数向量,也不会出错。(推荐使用,简单明了)
2)向量的复杂运算:
- 由小向量合并得到大向量:
Matlab中提供了一种操作,可以允许我们把向量合并在一起创建新向量。
两个列向量合并为一个列向量,两个行向量合并为一个行向量。
如 a = [1; 4; 5]; b = [2; 3; 4]; c = [a; b]; 或m = [1, 2, 3]; n = [2, -1, 3]; k = [m, n];
- 创建等差元素向量
根据问题需要,我们可以创建元素间距相等的向量,语法为:x = [x0 : q : xn];
如 x = [0 : 2 : 10] = 0 2 4 6 8 10
- 特征化向量(一些便捷