将矩阵划分为比标量值输入更高和更低的值

时间:2012-05-04 08:20:02

标签: matlab sorting matrix sum divide

我在matlab中遇到了一些问题,因为我是这种编程语言的新手。好的,这是:

我有Matrix我已按升序排序,例如:

1
1
1
3
4
4
4
5
6
6
7
7
9
9
9
9
9

它只有1个列矩阵。我想将矩阵分成两组,并带有一些标量值。我选择5作为标量,因此我的矩阵将分为两组,高于5且低于5:

预期结果:

降低矩阵:

1
1
1
3
4
4
4
5

更高的矩阵:

6
6
7
7
9
9
9
9
9

我已尝试使用maxmin命令,但此命令保持矩阵大小并将所有低于标量(5)的数字替换为5.这是一个问题,因为我希望下一步对每个较低和较高的矩阵求和。

你可以建议我一些技巧吗? 非常感谢

1 个答案:

答案 0 :(得分:5)

您可以使用逻辑寻址来执行此操作:

LowValuesMatrix = Matrix(Matrix <= 5);
HighValuesMatrix = Matrix(Matrix > 5);

LowValuesMatrix =
 1
 1
 1
 3
 4
 4
 4
 5

HighValuesMatrix =
 6
 6
 7
 7
 9
 9
 9
 9
 9