-1

我有一个矩阵v

0     1     0     0     1     1
1     0     1     1     0     0
0     1     0     1     0     0
0     1     1     0     0     1
1     0     0     0     0     0
1     0     0     1     0     0

我需要使用循环检查此矩阵中的每个元素(如果元素为 0,则结​​果将为 -1,如果元素为 1,则结果将为 0)。每个元素的结果将在一个变量中,以便在另一个操作中使用它。

4

2 回答 2

1

您只需减去与 大小相同的矩阵v,无需循环:

>> v = [0     1     0     0     1     1
 1     0     1     1     0     0
 0     1     0     1     0     0
 0     1     1     0     0     1
 1     0     0     0     0     0
 1     0     0     1     0     0];

>> v - ones(size(v))

ans =

    -1     0    -1    -1     0     0
     0    -1     0     0    -1    -1
    -1     0    -1     0    -1    -1
    -1     0     0    -1    -1     0
     0    -1    -1    -1    -1    -1
     0    -1    -1     0    -1    -1

甚至只是v - 1,正如@Andrey 所指出的那样。

似乎@Veger 在我写这篇文章时得到了他的评论,所以请给他们的评论一些爱。

于 2012-06-21T12:37:13.473 回答
0

试试看嘛

[x,y] = 查找(V==1)

找到值为 1 的位置。

于 2012-06-21T13:18:44.443 回答