小编npi*_*inp的帖子

在矩阵中查找所有零元素的邻居

在matlab中,我有一个非负项的矩阵A. 请参阅以下内容:

A=[0 2 3 5 4 7 8
   1 8 2 7 5 2 9
   0 1 2 4 8 0 5
   2 4 8 6 0 5 8
   1 1 2 5 8 3 6];
Run Code Online (Sandbox Code Playgroud)

我想找到所有零元素的邻居期望零元素.这意味着我想在向量v中存储A(1,1),A(2,5),A(3,1),A(3,6),A(4,5)和A(5,1),如果其中一个邻居为零,那么我就不存储它.

元素(i,j)的邻居是指远离(i,j)一个元素的元素,即A(i,j + 1),A(i,j-1),A(i) -1,j),A(i-1,j-1),A(i-1,j + 1),A(i + 1,j),A(i + 1,j-1)和A (i + 1,j + 1).每个元素(i,j)都有7个邻居.

我不存储重复元素.这意味着,如果例如A(1,1)= 0并且A(1,3)= 0并且A(1,2)= 1那么我将仅存储A(1,2)一次.

在我之前的例子中,向量v将是这个:

v=[2 1 8 1 2 4 5 2 9 8 5 5 8 4 6 5 8 3];
Run Code Online (Sandbox Code Playgroud)

如何在没有循环的matlab中做到这一点?

这是我的方阵代码:cl_是矩阵中的零数.ix_是零元素的行索引,iy_是零元素的列索引.

for i_=1:length(cl_) …
Run Code Online (Sandbox Code Playgroud)

matlab vector matrix

6
推荐指数
2
解决办法
1066
查看次数

标签 统计

matlab ×1

matrix ×1

vector ×1