Splitting a matrix into smaller matrices...

2 ビュー (過去 30 日間)
Doron
Doron 2012 年 2 月 20 日
I have a matrix 1000x3 matrix P which can be generated with the following code: (I call the columns of P: X, Y and Z)
P = [];
for X = 0.1:.1:1;
for Y = 0.01:.01:1;
Z = Y^2 + X;
P = vertcat(P, [X, Y, Z]);
end
end
I now want to create a matrix which contains all of the rows for which X = 0.5, say.
(This will be a 100x3 matrix in this example)
How do I do this?
Many thanks
D Howard

採用された回答

Walter Roberson
Walter Roberson 2012 年 2 月 20 日
  3 件のコメント
Walter Roberson
Walter Roberson 2012 年 2 月 20 日
Use unique() more directly.
[PU, PI, PJ] = unique(P(:,1));
PUC = length(PU);
for i = 1 : PUC
Q{i} = P(PJ == i, :);
end
Notice no floating point comparisons were used.
Doron
Doron 2012 年 2 月 20 日
Thanks for this tip

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Translated by