2

私は2セットの数値を持っており、それらを互いに比較してランク付けしたいと考えていMATLABます。

データは次のとおりです。

x = [3 7 8 25 33 52 64 65 78 79 91 93];
y = [7 10 12 27 30 33 57 62 80 83 85 90];

for/if/elseコマンドから始めて、途中で行き詰まりました。MATLABつまり、最初のグループ (x) の数が 2 番目のグループ ( ) の数よりも何倍大きいかによって答えを得たいと考えていますy

仕分けなどを始めました。

n1 = length(data1);
n2 = length(data2);

xs = sort(x);
ys = sort(y);

r1 = zeros(1,n1);
r2 = zeros(1,n2);

私はこの種の並べ替え以外のコマンドを使用することにオープンですfor/if/else.それは本当に問題ではありません.正しい方向に助けが必要なだけです.

4

2 に答える 2

0

あなたがそこで何をしようとしているのか、完全には理解できません。2 つのベクトルが同じサイズになると仮定しても安全ですか?

2 つの並べ替えられたベクトルの要素ごとの除算を行うだけで、そこから統計を取得できます。例: div = xs./ys; max_div = max(div) mean_div = mean(div)

これは、for ループを実行し、xs 配列の各要素を対応するインデックスの ys 配列の各要素で除算することと同じです。「最大」と「平均」は明らかに最大の商と平均の商です。

于 2014-06-26T14:43:37.070 に答える