如何根据y值划分坐标矩阵?

时间:2010-10-11 20:10:27

标签: matlab matrix

我有一个2乘30的矩阵v,包含x和y坐标对。如何制作另一个矩阵来获取y坐标为正的v的所有点?

3 个答案:

答案 0 :(得分:0)

我建议您阅读matrix indexing上的文档,特别是关于logical indexing的部分。我相信您正在寻找的解决方案是这样的:

vSub = v(:,v(2,:) > 0);  %# Extract columns where the second row is > 0

答案 1 :(得分:0)

vPos = v(:, v(2,:) > 0);

创建您描述的2-by-n子矩阵。

答案 2 :(得分:0)

您尝试使用此简单索引从两行中提取正值并合并两行以形成所需的所有正值。

  
    

V = randn(2,5);

  

V =

0.7873    0.3199   -0.3114   -1.0257   -0.2099

-0.8759 -0.5583 -0.5700 -0.9087 -1.6989

%第一行

  
    

f_row = V(1,:);

         

f_indeX = find(f_row> 0);

         

f = f_row(f_indeX);

  

%第二行

  
    

s_row = V(2,:);

         

s_indeX = find(s_row> 0);

         

s = s_row(s_indeX);

  

%合并第一行和第二行以获取所有正值

  
    

posValues = [f s];

  

posValues =

0.7873    0.3199    0.6647    0.8810    1.8586    0.1034    0.1136    1.4790    0.7847

上述值在第一行和第二行中都是正值。 希望这有帮助吗?