Fortran コードで十分位数/バケット/グループを見つける効率的な方法を知りたいです。
次のような重み(LB)データを持つ配列(1:totaldatacount)がある場合...
120
140
200
134
185
.
.
.
ブレークポイントが 30% と 70% の 3 つのグループを取得したいと考えています。
私がしたことは、配列をソートしてから、データの総数に基づいてブレークポイントを割り当てることでした。
1 番目のブレークポイント: 合計データ数 * 0.3 // 2 番目のブレークポイント: 合計データ数 * 0.7
したがって、最初のグループ (1-30) は配列 (1:totaldata*0.3) を取得します。
2 番目のグループ (31-70) は配列を取得します (totaldata*0.3 +1 : totaldata*0.7)
3 番目のグループ (71-100) は配列を取得します (totaldata*0.7+1 : totaldata)
これは理にかなっていますか?3 つのバケット (ソート済み) を作成するためのコードを持っている人はいますか?