matlab中diag用法

如题所述

第1个回答  2020-02-09
对于dbb627的一点改正,当k<0时,v为下方第-k条对角线。
第2个回答  2018-03-31

X =
diag(v,k)
以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。

例:
>>
v=[1 2 3];
>> x=diag(v,-1)
x =
0 0 0 0
1 0 0 0
0 2 0 0
0
0 3 0

下面不知是否是你想要的:
>> clear
>> v(1)=1;
>>
n=5;%可以安自己需求
>> v(2:n)=2;
>> x=diag(v,-1)

x =

0
0 0 0 0 0
1 0 0 0 0 0
0 2 0 0 0 0
0 0 2 0 0 0
0 0 0 2 0 0
0 0 0 0
2 0 

本回答被网友采纳
相似回答