在MATLAB中将2 x N矩阵拆分为两个子矩阵

时间:2013-12-10 22:05:55

标签: matlab matrix split operation

我有一个矩阵2 x N(让我们称之为MyMatrix)包含元素对((1,1)中的元素对应于元素(2,1),元素(1,2)中的元素与元素(2, 2)依此类推。)第一行中的条目按升序排序。我想做的是将这个矩阵分成2个矩阵2 x K和2 x N-K。第一个矩阵将包含MyMatrix的一部分,其中第1行中的条目小于某个给定值(在我的示例中,它将是(max-min)/ 2,其中max =第1行中的最大值,min =第1行中的最小值)第二个矩阵将由MyMatrix的其余部分组成。如果它令人困惑,我很抱歉,但我尽力向你解释我想要达到的目标。

以下是一个例子:

MyMat =

    |1   2     4    6   13   52   65   120    125|
    |4   132   53   1   64   34   5    2      66 |

min = 1,max = 125,avg =(125-1)/ 2 = 62。

所以结果如下:

a =

|1   2     4    6   13   52 |
|4   132   53   1   64   34 |

B =

|65   120   125|
|5    2     66 |

提前感谢您的帮助。

亲切的问候,

汤姆。

1 个答案:

答案 0 :(得分:2)

你可以简单地做

a=MyMat(:,MyMat(1,:)<avg);
b=MyMat(:,MyMat(1,:)>=avg);