Extract row elements corresponding to a particular column value and save as new matrix
1 次查看(过去 30 天)
显示 更早的评论
I have a Mx4 matrix with the following format:
a1 b1 c d1
a2 b2 c d2
a3 b3 c d3
a4 b4 c1 d4
a5 b5 c1 d5
and what i want to do is create new matrices corresponding to the different c values in the third column renaming this matrix matc.
Any help would be really appreciated Sarah
0 个评论
回答(2 个)
Azzi Abdelmalek
2013-3-14
编辑:Azzi Abdelmalek
2013-3-14
b=A(:,3)
b(b==c)=yourvalue
A(:,3)=b
17 个评论
Azzi Abdelmalek
2013-3-14
编辑:Azzi Abdelmalek
2013-3-14
% Check this: for c=2.4 the variable will be mat2p4 instead of mat2.4
A= [ 2 3 4 6
4 8 7 9
5 2 7 1
4 2 2.4 3]
A=sortrows(A,3)
b=A(:,3);
c=unique(b);
for k=1:numel(c)
idx=find(b==c(k));
s=num2str(c(k))
s=strrep(s,'.','p')
assignin('base',['mat' s],A(idx,:))
end
Check the result
mat2p4
mat4
mat7
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!