Matlab:将对角线插入奇数矩阵

时间:2016-02-23 03:13:39

标签: matlab matrix

嘿所以我有一个22x23矩阵,我试图直接插入NaNs的对角线,从而使它成为23x23。我一直尝试不同的一个衬垫,但我开始认为它可能需要某种循环。我正在寻找以下类型的输出:

NaN #  #  #  #  #...
 # NaN #  #  #  #...
 #  # NaN #  #  #...
... ... etc.

其中#是22x23矩阵中的现有值。 任何对此的见解都会有所帮助,我觉得我在这里追逐我的尾巴。

1 个答案:

答案 0 :(得分:3)

一行很难,但也许两行可以吗?

A = rand(22,23); % put your matrix here
B = [zeros(1,23); tril(A)] + [triu(A); zeros(1,23)];  % separate upper and lower triangles
B(1:24:23^2) = NaN;  %% simple linear index for populating diagonal