东拼西凑来的MATLAB一些零星知识,一看就懂,不解释了
1.if-else
n=8;
if n==1
n=n+1
elseif n==5
n=n-1
else
n=n/2
end
2.for
for i=1:100
if i==10
break;
end
end
3.zeros
zeros(m, n); % 生成一个m*n的零矩阵
zeros(m); % 生成一个m*m的零矩阵(即m阶方阵)
zeros(m, n, k, ...); % 生成一个m*n*k*...的零矩阵
zeros(size(A)); % 生成一个与矩阵A的维度一致的零矩阵
4.直接得到矩阵一列、或者一行
A(1,:) %输出A矩阵的第一行
A(:,1) %输出A矩阵的第一列
A(1:2, 2:3) %输出A矩阵的1到2行,和2到3列之间的数据
5.点乘与乘
*代表变量相乘,或者矩阵相乘
.*是矩阵中对应位置变量相乘,组成新得矩阵
数之间的运算时“.*”和“*”是没有区别的:m = 2,n = 3,m.*n = 6, m*n = 6
矩阵略有不同,假设a,b表示两个矩阵,a*b表示矩阵a与矩阵b进行矩阵相乘,a.*b表示矩阵a中的元素与矩阵b中的元素按位置依次相乘,得到的结果将作为新矩阵中相同位置的元素。
>> [1 2 3].*[3 4 5]
ans =
3 8 15
>> [1 2 3].*[3 4 5]'
ans =
3 6 9
4 8 12
5 10 15
>> [1 2 3]*[3 4 5]'
ans =
26