用指定值填充方阵的下对角线 MATLAB

问题描述 投票:0回答:1

我有一个由

N
组成的
N
矩阵 W_res,DLR 全为零。我想用标量值 r 填充下部子对角线元素。例如,如果
N=4
,矩阵应如下所示: 我认为这会起作用:

r = 0.5;
W_res,DLR = zeros(n,n);
W_res,DLR(logical(diag(ones(1,n-1),-1))) = r*ones(1,n-1)

但事实并非如此。 W_res,DLR 是所有 NaN 的矩阵。我哪里错了?

matlab matrix indexing diagonal logical-or
1个回答
0
投票

像这样吗?

>> N = 4;
>> r = 0.5;
>> diag(r*ones(N-1,1),-1)
ans =
         0         0         0         0
    0.5000         0         0         0
         0    0.5000         0         0
         0         0    0.5000         0
© www.soinside.com 2019 - 2024. All rights reserved.