我在MATLAB中长期坚持这个问题,我希望能在这里找到帮助!
我有一个非常大的矩阵,其中有4个向量(每个向量是一列)和72300行..第一列/向量是数据的索引..所以它是这样的:(示例简化)
Index, Info1 Info2 Info3
1 2 1 1
1 4 5 3
1 2.5 1.3 8
2 1 4 7
2 4 6 9
2 12 3 7
3 2 6 6
3 2 1 4
3 1 4 7
Q1>如何从此矩阵中提取索引== 3的所有Info2?
Q2>有没有什么方法可以将矩阵重新排列成这样的?
Index, Info1, Info2 Info3 Index Info1 Info 2 Info 3
1 2
依旧......
我希望能够从你们那里找到一些帮助,并提前多多感谢...
亲切的问候,答案 0 :(得分:3)
Q1 >> x = A(A(:1)==3,3); % Info2 for Index==3
Q2 >> B = reshape(A.',1,[]); %Flatten A along the rows
答案 1 :(得分:2)
Q1:
对于问题1,我使用一个简单的例子,因为我没有你的变量名。
idx = find( VectorName(:,1) == 3 ) % Find in all row at column 1 where = 3 (Index)
获得索引== 3的所有行的索引后。提取info2值
AllInfo2 = VectorName(idx,3); % Get all value where row == idx and column = 3 (Info2)