创建具有条件的40x40矩阵

时间:2014-08-24 19:35:04

标签: matlab octave

我想在matlab中使用这些条件创建一个40x40矩阵。

[\ A_ {i,j}]

=

  

1

如果$ i + 2 \ le j \ le i + 12 $或$ j + 12-39>我> J + 2-39 $

  

0否则

PS我让左上角的元素有索引_ {0,0},右下角的元素_ {39,39}

(实际上,我想在Octave中这样做,但我认为这几乎总是一样的)

1 个答案:

答案 0 :(得分:1)

这是一种矢量化方法。它使用ndgrid生成 i j 索引的所有组合,然后应用您的条件:

[ii, jj] = ndgrid(0:39);
A = ((ii+2 <= jj) & (jj <= ii+12)) | ((jj+12-39>ii) & (ii>jj+2-39));