Seite 1 von 1

Standardabweichung bei np.random.randn Matrix

Verfasst: Montag 8. Juni 2020, 11:11
von Beginner2019
Weiß jemand wie man bei einer np.random.randn Matrix die Standardabweichung festlegt?
Ist es richtig die Standardabweichung einfach als Multiplikator vorne anzustellen?

Viele Grüße und danke im vorraus

Re: Standardabweichung bei np.random.randn Matrix

Verfasst: Montag 8. Juni 2020, 11:22
von Sirius3
Wenn Du eine andere Normalverteilung willst, warum nimmst Du dann nicht `numpy.random.normal`?

Re: Standardabweichung bei np.random.randn Matrix

Verfasst: Montag 8. Juni 2020, 11:37
von Beginner2019
Randn zu benutzen ist in der Aufgabenstellung festgelegt

Re: Standardabweichung bei np.random.randn Matrix

Verfasst: Montag 8. Juni 2020, 11:48
von Sirius3
Wenn es darum geht, eine Verteilung nachzuprogrammieren, warum dann nicht auf noch weniger beschränken?

Re: Standardabweichung bei np.random.randn Matrix

Verfasst: Montag 8. Juni 2020, 11:53
von __blackjack__
@Beginner2019: `randn()` ist eine Funktion für Matlab-Portierungen, die eigentliche Funktion dahinter ist `standard_normal()`. Und *die* sollte man in neuem Code nicht mehr direkt aufrufen, sondern erst ein `Generator`-Objekt erstellen. Den Aufgabensteller sollte man vielleicht mal mit der Nase auf die Dokumentation stupsen.

Code: Alles auswählen

#!/usr/bin/env python3
import numpy as np

SIZE = 1_000_000


def main():
    rng = np.random.default_rng()
    wanted_deviation = 0.42
    for _ in range(20):
        data = wanted_deviation * rng.standard_normal(SIZE)
        actual_deviation = np.std(data)
        print(
            "std: {:.10f}  diff: {:.10f}".format(
                actual_deviation, abs(wanted_deviation - actual_deviation)
            )
        )


if __name__ == "__main__":
    main()