我的矩阵是m x 2:
.2 .8
.3 .7
.7 .3
...
我想映射'>'操作到每一行,导致列如下:
0
0
1
...
但是,我似乎无法找到一个好方法,除非删除列并将自定义函数应用于矩阵,如
res = arrayfun(@mapfunction, matrix(:,1))
function cl = mapfunction(v)
cl = v > .5
有更简单的方法吗?
答案 0 :(得分:3)
您可以简单地计算一个布尔/ logical
列,检查矩阵中每一行的第一列是否大于第二列:
res = matrix(:,1) > matrix(:,2);
给出你的示例矩阵:
matrix = [.2 .8; .3 .7; .7 .3];
这就是我得到的:
>> res = matrix(:,1) > matrix(:,2)
res =
0
0
1