1

このプログラミング言語を初めて使用したので、MATLABで問題が発生しました。さて、ここにあります:

私は持っていてMatrix、それを昇順にソートしました、例えば:

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

たった1列の行列です。行列をスカラー値を持つ2つのグループに分割したいと思います。スカラーとして5を選択しているので、行列は5より高く5より低い2つのグループに分割されます。

期待される結果 :

下のマトリックス:

1
1
1
3
4
4
4
5

より高いマトリックス:

6
6
7
7
9
9
9
9
9

maxandコマンドを使用してみminましたが、このコマンドは行列のサイズを維持し、スカラー(5)よりも小さい数値をすべて5に置き換えます。次のステップでは、それぞれの下位および上位の行列を合計するため、問題が発生します。

トリックを教えていただけますか?どうもありがとう

4

1 に答える 1

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
于 2012-05-04T08:24:48.857 に答える