按行和列

时间:2015-06-29 16:30:09

标签: matlab matrix

假设我有矩阵

dataSet = [400,300,200,100,200,300,400;
             1,  2,  3,  4,  5,  6,  7]

这将给我一个2x7数组,第1行的数字越大,第2行的数字越小。

假设我给了200号,并要求查找200以下的所有数字。答案是3和5,因为它们都对应于200,但我如何将其编码到我的脚本中?

2 个答案:

答案 0 :(得分:2)

>> dataSet(2,dataSet(1,:) == 200)

ans =

     3     5

答案 1 :(得分:0)

这是你想要的吗?

[t, ~, u] = unique(dataSet(1,:));
result = accumarray(u, dataSet(2,:).', [], @(x) {x.'});
result = [num2cell(t).' result];

在您的示例中,这给出了:

>> result
result = 
    [100]    [         4]
    [200]    [1x2 double]
    [300]    [1x2 double]
    [400]    [1x2 double]

result{2,2} =
     3     5
result{3,2} =
     2     6

相关问题