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';

目的是创建九个(或 k 个间隔)间隔,其中每个间隔都有其范围:

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

使用我编写的代码,它会根据意图产生 10 个数据而不是 9 个数据。任何想法,改进此代码?

谢谢。

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 回答