Split a matrix into a two submatrixes by a condition
古いコメントを表示
Let "ex3" a matrix with an arbitrary length, which first column is gender (binary 0 or 1 for male o female), the second is age, the third is wage. How can I split this matrix into two submatrixes by gender using "for" and "if" functions? After that, i have to plot the wage versus the age, using plus sign (+) as a marker style for women and a circle (O) for men.
Anybody can give me an answer? I suppose that are few lines of code.
For the first part I've tried this:
for i=1:11
if ex3(i,1)==0
A=ex3(i,:)
else
B=ex3(i,:)
end
end
but this doesn't return me 2 matrixes, but a series of vectors.
2 件のコメント
Iain
2014 年 10 月 2 日
Is there a reason you're restricting yourself to if and for?
Gino Franco
2014 年 10 月 2 日
採用された回答
その他の回答 (1 件)
Iain
2014 年 10 月 2 日
This is the "simple" answer:
male = ex3(find(ex3(:,1) == 1),:);
female = ex3(find(ex3(:,1) == 0),:);
1 件のコメント
Mohammad Abouali
2014 年 10 月 7 日
編集済み: Mohammad Abouali
2014 年 10 月 7 日
You don't even need find . Look at the two last line of code in my answer.
カテゴリ
ヘルプ センター および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!