如何在MATLAB中从6X6对角矩阵制作4X6矩阵

时间:2015-06-30 16:11:47

标签: matlab matrix

我的对角矩阵A = diag(a,b,c,d,e,f) 6x6 矩阵。由此我想要通过以下方式指定 4x6 矩阵:

B(1, :) = [a b 0 0 0 0]

B(2, :) = [0 0 c 0 0 0]

B(3, :) = [0 0 0 d e 0]

B(4, :) = [0 0 0 0 0 f]

我的逻辑是这样的:添加索引未除以3的两行并将其放在这两行的第一行...然后删除所有带偶数索引的行。

1 个答案:

答案 0 :(得分:1)

一个简单的for - 循环会这样做:

diagvalues = [10:15];
A = diag(diagvalues);
B=[];

for i = 1:length(diagvalues)
    if mod(i,3) == 1
        B(size(B,1)+1,:) = A(i,:) + A(i+1,:);
    elseif mod(i,3) == 0
        B(size(B,1)+1,:) = A(i,:);
    end
end

您可以根据需要更改诊断向量。