我对MATLAB很新,我需要一些帮助解决这个问题。
问题是编写一个函数,在反向对角线上创建一个零(n-n)方形矩阵 我试过这段代码:
function s=reverse_diag(n)
s=zeros(n);
i=1;j=n;
while i<=n && j>=1
s(i,j)=1;
i=i+1;
j=j-1;
end
但是我想要另一种方法来解决它而不使用循环或诊断和眼睛命令。
提前致谢
答案 0 :(得分:0)
在没有循环的情况下实现此目的的最简单,最明显的方法是使用
s=fliplr(eye(n))
既然你声明你不想使用眼睛(无论出于何种原因),你也可以使用sub2ind
- 命令。它看起来像这样:
s=zeros(n);
s(sub2ind(size(s),1:size(s,1),size(s,2):-1:1))=1