在MATLAB中,如何使用nxn矩阵在其他地方使用整数和零创建对角线

fut*_*ure 1 matlab matrix diagonal

我必须创建一个nxn矩阵,对角线为199,409,619,...... 210n-11,其他地方为零.

到目前为止,这是我的M文件:

function A = MyDiagMatrix(n)
     A = zeros(n,n);
     for i =199:210:210n-11
          eye(i);
     end
end
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?任何帮助都会很棒!

Azi*_*zim 7

首先,你的函数初始化矩阵A,但之后不做任何事情.您需要为函数修改A的条目以返回除零矩阵以外的任何内容.

您可以使用MATLAB的函数diag,它从向量创建对角矩阵.例如

d=1:n; %# create vector 1,2,...,n
A = diag(d) %# create diagonal matrix with entries A(i,i) = i with i=1,2,...,n;
Run Code Online (Sandbox Code Playgroud)

修改输入向量d以满足您的需求