如何在Matlab中用列向量掩码循环实现矩阵元素乘法?
MATLAB中循环应用列向量掩码实现矩阵元素相乘
我需要在MATLAB中使用一个包含3个元素的列向量作为掩码,将矩阵的每个元素与掩码值相乘,且掩码要循环应用到矩阵的每一列。以下是我的实现代码及输出结果:
matrix = [1 3 5 2; 2 4 6 3; 7 8 10 1;3 5 4 2;2 4 6 3]; b=[2 3 4]; mask=b(:); disp(matrix) disp(mask) [row, col] = size(matrix); for j=1:col i=1; g=1; while((i<=row)) if (g<=3) matrix(i,j)=matrix(i,j)*mask(g); g=g+1; else g=1; matrix(i,j)=matrix(i,j)*mask(g); g=g+1; end i=i+1; end end disp(matrix)
输出结果:
2 6 10 4 6 12 18 9 28 32 40 4 6 10 8 4 6 12 18 9
内容的提问来源于stack exchange,提问作者Suadad Najim
相关产品推荐
相关产品推荐

