(这里这列举笔者不熟悉的,容易忘的数组运算)
1、数组的转置
>> a=[1 2 3 4 5 6 7]a =1 2 3 4 5 6 7>> b=a'b =1234567
2、对数组的赋值
>> a([1 4])=[0 0]a =0 2 3 0 5 6 7
3、注意用“冒号”产生数组和用“linspace(a,b,n)”产生数组的区别
linspace(1,2,5)ans =1.0000 1.2500 1.5000 1.7500 2.0000>> 1:3:8ans =1 4 7
4、数组的乘除运算:通过格式“.*”,"./"可实现数组的乘除运算。要求运算规则要求数组A和B的维数相同。
乘法:数组A和B的维数相同,运算为数组对应元素相乘,计算结果与A和B是相同维数的数组。
>> a=[1 2 3 4 5]a =1 2 3 4 5>> b=[2 2 2 2 2 ]b =2 2 2 2 2>> a.*bans =2 4 6 8 10
除法:数组A和B的维数相同,运算为数组对应元素相除,计算结果与A和B是相同维数的数组。
>> a./bans =0.5000 1.0000 1.5000 2.0000 2.5000
左除和右除的关系:A./B=B.\A(其中A是被除数,B是除数)
5、数组的乘法
>> aa =1 2 3 4 5>> bb =2 2 2 2 2>> a.^bans =1 4 9 16 25
6、可以通过dot()来实现数组的点积运算
但是运算规则要求数组A和B的维数相同,其调用格式如下
A=[1 5 6 8 9 6]
B=[9 5 6 2 4 0]
>> A=[1 5 6 8 9 6]A =1 5 6 8 9 6>> B=[ 9 5 6 2 4 0]B =9 5 6 2 4 0>> C=dot(A,B)%数组的点积C =122>> D=sum(A.*B)%数组元素的乘积之和D =122
7、数组的关系运算
A=[1 5 6 8 9 6]
B=[9 5 6 2 4 0]
A<B%A与B就是上一步的A和Bans =1 0 0 0 0 0
8、数组的逻辑运算(且& 或| 非~)
A=[1 5 6 8 9 6]
B=[9 5 6 2 4 0]
>> A&B % A和B都是上边的A和B
ans =1 1 1 1 1 0>> A|Bans =1 1 1 1 1 1>> ~Bans =0 0 0 0 0 1