目录
1)向量
行向量
列向量通过在 方括号内把数值用分号(;)隔开来创建
>> a = [2; 1; 4]
a =
2
1
4
列向量
要创建行向量,我们仍然是把一组数值用方括号括起来,不过这次使用的分隔符是空格 (space)或逗号(,)。
>> v = [2 0 4]
v =
2 0 4
组合向量
设 u 和 v 是 MATLAB 中已经存在两个 列向量,各自带有 m 和 n 个元素。我们创建第三个向量 w,它的前 m 个元素来自 u,后 n 个元素来自 v。新创建的列向量一共有 m+n 个元素。这时可以写成 w = [u; v]
>> A = [1; 4; 5];
>> B = [2; 3; 3];
>> D = [A;B]
D =
1
4
5
2
3
3
创建等差向量
有时需要创建带有等差元素的向量,差值为 q 为一个实数。创建一个首元素为 xi,末元 素为 xe的向量 x 的语法如下: x = [xi : q: xe] 例如,要创建一个含有从 0 到 10 之间偶数的向量的写法为:
>> x = [0:2:10]
x =
0 2 4 6 8 10
提醒:这个和遍历有点像,第一位置为开始切片地方,第二个位置为最终切片地方,第三个位置为步长
特征化向量
命令 length 返回向量中包含元素的个数
哈哈哈哈和python len()函数用法一样
>> A = [2;3;3;4;5];
>> length(A)
ans =
5
>> B = [1;1];
>> length(B)
ans =
2
还有max() min()这个用法也是一样的,分别求向量在最大和最小
>> A = [8 4 4 1 7 11 2 0];
>> max(A)
ans =
11
>> min(A)
ans =
0
向量的点乘和叉乘
向量的数量积(点乘),使用数组乘法(.*)来完成
>> J.*J
ans =
0
9
16
引用向量的值
向量 v 的第 i 个元素可以用 v(i) 来引用
>> A = [12; 17; -2; 0; 4; 4; 11; 19; 27];
>> A(2)
ans =
17
>> A(8)
ans =
19
哈哈又和python特别像,取索引啊
基本运算
conj 命令计算向量的共轭复数向量
>> u = [i; 1+2i; 4];
>> v = conj(u)
v =
0 - 1.0000i
1.0000 - 2.0000i
4.0000
例如:
>> b = sum(v.*u) ??? Error using ==> times Matrix dimensions must agree.
这种求共轭复数向量做求和运算会出报错问题
而conj方法不会
>> v = conj(u) v = 0 - 1.0000i 1.0000 - 2.0000i 4.0000 >> b = sum(v.*u) b = 22
数量乘法
>> c = 3; >> b = c * a b = 6 3 12
a、b 两向量的点乘可以使用 dot(a, b)命令计算
>> a = [1;4;7]; b = [2;-1;5]; >> c = dot(a,b) c = 33
向量的另一个重要操作是叉乘。要计算向量的叉乘,这两个向量必须是的三维的
>> A = [1 2 3]; B = [2 3 4]; >> C = cross(A, B) C = -1 2 -1
2)矩阵
基本运算
>> B = [2,0,1;-1,7,4; 3,0,1]
B =
2 0 1
-1 7 4
3 0 1
转置
不包含复数
>> A = [-1 2 0; 6 4 1]
A =
-1 2 0
6 4 1
>> B = A'
B =
-1 6
2 4
0 1
包含复数
1.如果矩阵包含有复数元素,那么转置操作会自动计算复数的共轭值
>> C = [1+i, 4-i; 5+2*i, 3-3*i] C = 1.0000 + 1.0000i 4.0000 - 1.0000i 5.0000 + 2.0000i 3.0000 - 3.0000i >> D = C' D = 1.0000 - 1.0000i 5.0000 - 2.0000i 4.0000 + 1.0000i 3.0000 + 3.0000i
2.如果要转置复数矩阵的而不计算它的共轭值,那么我们使用(.'):
>> D = C.' D = 1.0000 + 1.0000i 5.0000 + 2.0000i 4.0000 - 1.0000i 3.0000 - 3.0000i
矩阵中数组乘法
>> A = [12 3; -1 6]; B = [4 2; 9 1]; >> C = A .* B C = 48 6 -9 6
矩阵相乘
>> A = [1 4; 8 0; -1 3]; B = [-1 7 4; 2 1 -2]; >> C = A*B C = 7 11 -4 -8 56 32 7 -4 -10