如何用matlab创建一个n行n列对角线为10,第一上对角线为1第一下对角线为2?

如何用matlab创建一个n行n列对角线为10,第一上对角线为1第一下对角线为2的三对角矩阵

第1个回答  2020-11-17
如何用matlab创建一个n行n列对角线为10,第一上对角线为1第一下对角线为2的三对角矩阵?题主的对角矩阵问题可以使用diag()函数来实现。该函数的使用格式是
D = diag(v,k)
上述格式的意思是: 将向量 v 的元素放置在第 k 条对角线上。k=0 表示主对角线,k>0 位于主对角线上方,k<0 位于主对角线下方。
根据题意,主对角线为10,上对角线为1,下对角线为2,则
v=[10,10,10,10,10,10];%假定矩阵为6×6
D1 = diag(v)
v=[1,1,1,1,1];
D2 = diag(v,1);
v=[2,2,2,2,2];
D3 = diag(v,-1);
D=D1+D2+D3
相似回答