检查矩阵中的每个矩阵元素并将结果放入变量中

时间:2012-06-21 12:31:36

标签: matlab

我有一个矩阵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)。每个元素的结果都在一个变量中,以便在另一个操作中使用它。

2 个答案:

答案 0 :(得分: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
如@Andrey所述,

甚至只是v - 1

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

答案 1 :(得分:0)

试试

[x,y] = find(V == 1)

查找值为1的位置。