Se você for inventar algumas notícias falsas, precisará fabricar alguns dados para fazer backup deles. Você já deve ter algumas conclusões preconcebidas e deseja algumas estatísticas para reforçar o argumento de sua lógica defeituosa. Este desafio deve ajudá-lo!
Dados três números de entrada:
- N - número de pontos de dados
- μ - média dos pontos de dados
σ - desvio padrão dos pontos de dados, em que μ e σ são dados por:
Emita uma lista não ordenada de números, 𝑥 i , que geraria os N , μ e σ fornecidos .
Não vou ser muito exigente quanto aos formatos de E / S, mas espero algum tipo de casas decimais para μ , σ e os pontos de dados de saída. No mínimo, devem ser apoiados pelo menos três números significativos e uma magnitude de pelo menos 1.000.000. Os flutuadores IEEE estão bem.
- N sempre será um número inteiro, onde 1 ≤ N ≤ 1.000
- μ pode ser qualquer número real
- σ sempre será ≥ 0
- pontos de dados podem ser qualquer número real
- se N for 1, σ sempre será 0.
Observe que a maioria das entradas terá muitas saídas possíveis. Você só precisa fornecer uma saída válida. A saída pode ser determinística ou não determinística.
Exemplos
Input (N, μ, σ) -> Possible Output [list]
2, 0.5, 1.5 -> [1, 2]
5, 3, 1.414 -> [1, 2, 3, 4, 5]
3, 5, 2.160 -> [2, 6, 7]
3, 5, 2.160 -> [8, 4, 3]
1, 0, 0 -> [0]
fonte
+ve
e-ve
significa?Respostas:
Pitão ,
443534 bytesExperimente online! (O código acima define uma função.
:.*
É anexado no link para invocar a função.)As matemáticas
Isso constrói os dados simetricamente. Se
N
for par, os dados são apenas a média mais ou menos o desvio padrão. No entanto, seN
for ímpar, acabamos de abrir uma lata de worms, pois a média precisa estar presente para que os dados sejam simétricos e, portanto, as flutuações precisam ser multiplicadas por um determinado fator.Se
n
é parμ+σ
.μ-σ
.Se
n
é ímparμ
.μ+σ*sqrt(n/(n-1))
.μ-σ*sqrt(n/(n-1))
.fonte
MATL , 22 bytes
Obrigado a @DigitalTrauma por uma correção.
Ordem de entrada é:
N
,σ
,μ
.Experimente online!
Ou veja uma versão modificada que também calcula a média e o desvio padrão dos dados produzidos, como uma verificação.
Explicação
O código é dividido em quatro partes:
:
gera a matriz[1 2 ... N]
ondeN
é tomada como entrada implícita.t&1Zs/
divide esses números pelo desvio padrão empírico (normalizado calculado porN
) etYm-
subtrai a média empírica dos valores resultantes. Isso garante que os resultados tenham média0
empírica e desvio padrão empírico1
.*
multiplicaσ
e+
adicionaμ
, ambos tomados como entradas implícitas.tZN?x3G
trata o caso especial queN = 1
,σ = 0
para o qual a saída deve serμ
. Se esse for realmente o caso, o desvio padrão empírico calculado no segundo passo foi0
a divisão cedidainf
e multiplicada peloσ
terceiro passo citadoNaN
. Então, o que o código faz é: se a matriz obtida consistir em todos osNaN
valores (códigotZN?
), exclua-a (x
) e pressione a terceira entrada (3G
), que éμ
.fonte
Python , 50 bytes
Experimente online!
Usa a seguinte
n
distribuição de elementos com mean0
e sdev1
:1/n
(ou seja,1
elemento), saída(n-1)**0.5
1-1/n
(isto é,n-1
elementos), saída-(n-1)**(-0.5)
Isso é redimensionado para mean
m
e sdevs
pela transformaçãox->m+s*x
. Irritantemente,n=1
dá uma divisão por erro zero para um valor inútil, para que cortá-lo para longe, fazendo/(n-1%n)**.5
com1%n
que dá0
paran==1
e1
de outra forma.Você pode pensar que
(n-1)**.5
pode ser reduzido~-n**.5
, mas a exponenciação acontece primeiro.A
def
é um byte mais longo.fonte
R,
836253 bytesSe
n=1
, em seguida, ele retornam
(comoscale
retornariaNA
), caso contrário, ele escala os dados[1,...,n]
para ter média 0 e (amostra) desvio padrão 1, para que ele se multipliques*sqrt(1-1/n)
para obter o desvio padrão da população correto e adicionem
a mudança para a média apropriada. Agradeço a Dason por me apresentar a função scale e soltar esses bytes!Experimente online!
fonte
1:n
vez dert(n,n)
salvar 4 bytes. E ascale
função provavelmente poderia ser útil.scale
que é ótimo.Gelatina , 20 bytes
Experimente online!
Programa completo usando três argumentos de linha de comando: n , μ , σ .
Quão?
Cria valores de piso (n / 2) equidistantes da média e um valor na média se n for ímpar, de modo que o desvio padrão esteja correto ...
fonte