嘿所以我有一个22x23矩阵,我试图直接插入NaNs的对角线,从而使它成为23x23。我一直尝试不同的一个衬垫,但我开始认为它可能需要某种循环。我正在寻找以下类型的输出:
NaN # # # # #...
# NaN # # # #...
# # NaN # # #...
... ... etc.
其中#是22x23矩阵中的现有值。 任何对此的见解都会有所帮助,我觉得我在这里追逐我的尾巴。
答案 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