第十三章 数组之间的运算
加减法运算
要求:参与运算的数组应该具有相等的尺寸
>> a=ones(3,3)
a =
1 1 1
1 1 1
1 1 1
>> b=magic(3)
b =
8 1 6
3 5 7
4 9 2
>> c=a+b
c =
9 2 7
4 6 8
5 10 3
>> c=a-b
c =
-7 0 -5
-2 -4 -6
-3 -8 -1
乘法
要求:数组维数相容,A*B,A的列数等于B的行数。
>> a=ones(2,3)
a =
1 1 1
1 1 1
>> b=ones(3,2)
b =
1 1
1 1
1 1
>> c=a*b
c =
3 3
3 3
除法
两种运算
A/B Ainv(B)或Apinv(B) 意思为A乘B的逆
A\B inv(A)*B或pinv(A)*B 意思是A 的逆乘B
inv数组求逆函数,pinv广义数组求逆函数
>> a=rand(4)
a =
0.9293 0.6160 0.5853 0.7572
0.3500 0.4733 0.5497 0.7537
0.1966 0.3517 0.9172 0.3804
0.2511 0.8308 0.2858 0.5678
>> b=rand(4)
b =
0.0759 0.9340 0.0119 0.3112
0.0540 0.1299 0.3371 0.5285
0.5308 0.5688 0.1622 0.1656
0.7792 0.4694 0.7943 0.6020
>> a/b
ans =
-0.7605 1.6304 2.3007 -0.4135
0.0985 1.0819 0.2793 0.1744
1.6114 -2.3255 -3.9014 2.9142
0.6475 0.5368 0.2090 0.0796
>> a\b
ans =
-0.4007 1.1217 -0.8160 -0.4565
1.6826 0.9702 1.0701 0.3615
0.5031 0.5807 -0.1757 -0.2076
-1.1658 -1.3812 0.2824 0.8376
第十四章 数组的点运算
乘法
符号: . *
参与运算的两个数组必须等大小
a.* b表示a和b中对应元素相乘
a. *b=b. *a 等价
>> a=[8 1 6;3 5 7;4 9 2]
a =
8 1 6
3 5 7
4 9 2
>> b=[2 1 1;1 2 1;1 1 2]
b =
2 1 1
1 2 1
1 1 2
>> a.*b
ans =
16 1 6
3 10 7
4 9 4
>> b.*a
ans =
16 1 6
3 10 7
4 9 4
除法
注意:
参与运算的两个数组必须等大小。
参与运算的两个数组的对应元素做除法。
分为a./b与b.\a。分子分母的理解
>> a=magic(3)
a =
8 1 6
3 5 7
4 9 2
>> b=ones(3)
b =
1 1 1
1 1 1
1 1 1
>> a./b
ans =
8 1 6
3 5 7
4 9 2
>> a.\b
ans =
0.1250 1.0000 0.1667
0.3333 0.2000 0.1429
0.2500 0.1111 0.5000
>> b./a
ans =
0.1250 1.0000 0.1667
0.3333 0.2000 0.1429
0.2500 0.1111 0.5000
乘方
也叫求幂
求N个相同因数乘积的运算,叫做乘方。乘方的结果叫做幂(power)。
分类
数组.^ 标量 A.^3
标量.^ 数组 2.^A
数组.^数组 a. ^b
>> a=magic(3)
a =
8 1 6
3 5 7
4 9 2
%数组.^标量
>> a.^2
ans =
64 1 36
9 25 49
16 81 4
%标量.^数组
>> 2.^a
ans =
256 2 64
8 32 128
16 512 4
%数组.^数组
>> a=magic(3)
a =
8 1 6
3 5 7
4 9 2
>> b=[2 2 2;2 2 2;2 2 2]
b =
2 2 2
2 2 2
2 2 2
>> a.^b
ans =
64 1 36
9 25 49
16 81 4
>> b.^a
ans =
256 2 64
8 32 128
16 512 4