*一、MATLAB中的递增表达总结
前面已经谈过,在MATLAB中使用“ start : increment : end ”的形式处理增量,这与C/C++中是不同的。如:
>> v = [1 3 5 7 9]
v =
1 3 5 7 9
>> v(1 : 2 :end)
ans =
1 5 9
这里start : increment : end分别是1 : 2 : 9
对于for循环,C中通常的形式有如:
for(i=0;i<10;i++)
而按照上面的规律,MATLAB中对应循环十次的语句为:
for i=0 : 1 : 9
二、数组相乘与矩阵相乘
如果A,B为两个矩阵,那么A与B相乘有两种方式:数组乘积--每个对应位置元素相乘;矩阵相乘--按照高数中定义的方法。
为了区分两种乘法,MATLAB中使用“ * ” 与“ .* ” 符号进行区分,如:
>> A=[1 2 3 ; 4 5 6 ; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> B=[0 2 4 ; 3 5 6 ; 3 4 9]
B =
0 2 4
3 5 6
3 4 9
>> A*B <--矩阵相乘,最普遍的数学运算
ans =
15 24 43
33 57 100
51 90 157
>> A.*B <--数组相乘,相对特殊,所以符号也特殊一点
ans =
0 4 12
12 25 36
21 32 81
三、**xor、all、any
xor表示异或,从名字就可以看出,其强调的是相异即不同,所以当用于判断两个数不同时,返回值才是1;否则返回0
all用于判断某向量,如果全为非零即“全真”,则返回1;否则0
any类似,只要向量中有非零的,就返回1;否则0。注:其在矩阵中按列操作
四、取某矩阵A元素个数的方法总结
仍是刚才的矩阵A
>> n1=length(A(:))
n1 =
9
该方法将A转化为向量形式,然后数个数
>> n2=numel(A)
n2 =
9
该方式直接运用了numel()函数