1

統計に関連するこのプログラムがあります。

maximo = max(muestra);
minimo = min(muestra);
rango = maximo - minimo;
num_intervalo = round(1 + 3.322*log(length(muestra)));
amplitud = rango/num_intervalo;

rango_intervalo = [];
for i=1 : num_intervalo + 1
    if i == 1
        rango_intervalo(i: num_intervalo + 1) = minimo;
    else
        rango_intervalo(i: num_intervalo + 1) = rango_tabulado(i) + amplitud;
    end
    if i == num_intervalo + 1
        rango_intervalo(i: num_intervalo + 1) = maximo;
    end
end
rango_intervalo = rango_intervalo';

意図は、9 つ​​ (または k 間隔) の間隔を作成することです。各間隔には範囲があります。

[1.580 - 2.587]
[2.587 - 3.594]
.
.
[9.636 - 10.650]

私がプログラムしたコードでは、意図したように 9 個ではなく 10 個のデータが生成されます。このコードを改善するアイデアはありますか?

ありがとう。

4

1 に答える 1

0

どうですか:

intervals = linspace(minimo, maximo, num_intervalo + 1 );
intervals = [ intervals(1:end-1); intervals(2:end) ]';
于 2012-11-25T07:39:31.313 に答える