我有一个矩阵a
,
a=[0 0 0 0 1
0 0 0 1 0
0 0 1 -1 -1
0 1 0 -1 -1
1 -1 -1 -1 -1];
我想根据第2列和第3列中的值,从矩阵b
创建新矩阵a
。
如果第二列和第三列是0 0
(如前两行的情况),那么我想将这些值更改为10 9
。
如果第二列和第三列是0 1
(如第三行的情况),那么我想将这些值更改为12 9
。
所以输出将是
b=[0 10 9 0 1
0 10 9 1 0
0 12 9 -1 -1
0 1 0 -1 -1
1 -1 -1 -1 -1];
答案 0 :(得分:2)
您可以使用逻辑索引实现所需目标。例如,第一个可以实现如下:
idx = a(:, 2) == 0 & a(:, 3) == 0;
a(idx, 2) = 10;
a(idx, 3) = 9;
我认为你应该能够自己做第二个。
查看Getting Started教程可能会很有趣。