我在matlab中有一个这样的示例矩阵(尽管我的实际矩阵包含更多列)
List = [0,0,1;1,0,0;0,1,0;0,1,0;0,0,0]
List =
0 0 1
1 0 0
0 1 0
0 1 0
0 0 0
我试图找到一种方法,可以将条件TRUE(=1)归纳为一个只有一列的新变量,但这表示结构(如以下列表)中的列号
ListNew =
3
1
2
2
0
在matlab中有函数或简单的方法来实现这一点吗?
最佳答案
有一种更简单的方法find()
[ListNew,~] = find(List');
考虑到下面的评论,可以修改如下:
ListNew=zeros(5,1);
[Col,Row] = find(List');
ListNew(Rows)=Col;