将一个索引到一个没有循环的零矩阵中

时间:2017-07-03 22:42:05

标签: arrays matlab matrix matrix-indexing

我对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

但是我想要另一种方法来解决它而不使用循环或诊断和眼睛命令。

提前致谢

1 个答案:

答案 0 :(得分:0)

在没有循环的情况下实现此目的的最简单,最明显的方法是使用

s=fliplr(eye(n))

既然你声明你不想使用眼睛(无论出于何种原因),你也可以使用sub2ind - 命令。它看起来像这样:

s=zeros(n);
s(sub2ind(size(s),1:size(s,1),size(s,2):-1:1))=1