例如:用a中每一行数除以x中相对应的每一个数
x=[5 10 6 8 16 6 8 8 22 11];
a=[4 4 4 5 4 4 4 4 3 4
6 8 6 2 6 8 8 6 8 6
4 4 4 4 6 4 4 4 6 4
4 6 6 4 6 6 6 4 7 4
10 14 14 10 12 12 12 10 14 12
3 5 5 3 6 3 3 4 5 4
4 6 7 4 4 4 4 4 6 6
4 6 6 6 5 6 5 5 7 6
13 16 19 16 13 13 10 13 16 13
8 9 10 8 8 7 8 8 9 8
];
%a的第i行除以x的第i个数xa=repmat(x',[1 10]);
a=a./xa;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
函数repmat用法
B =repmat(A,m,n)B = repmat(A,[mn])B = repmat(A,[m np...])
这是一个处理大矩阵且内容有重复时使用,其功能是以A的内容堆叠在(MxN)的矩阵B中,B矩阵的大小由MxN及A矩阵的内容决定,如果A是一个3x4x5的矩阵,有B = repmat(A,2,3)则最后的矩阵是6x12x5。
例如:
B = [1 2 3;4 5 6;7 8 9]
B(:,1) %取B矩阵的第1列repmat(B(:,1),1,5) %将B(:,1)复制成'1×5'的矩阵运算结果:
ans =
1