我有一个向量,它告诉我在矩阵中我必须用数据改变某些位和矩阵。例如:
a = [2
0
4]
data = [ 1 0 1 0;
0 0 1 0
1 1 1 1]
a告诉我,我必须改变(从1翻转到0)下面的值:
结果将是
data2 = [ 1 1 1 0;
0 0 1 0
1 1 1 0]
如何只使用矢量操作?我不想使用for循环因为它们太慢了。
答案 0 :(得分:2)
这是一种方法:
data2=data;
ind=sub2ind(size(data),find(a),a(a>0));
data2(ind)=~data(ind)