我在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
我已尝试使用max
和min
命令,但此命令保持矩阵大小并将所有低于标量(5)的数字替换为5.这是一个问题,因为我希望下一步对每个较低和较高的矩阵求和。
答案 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