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