Random Matrix

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Beginner2019
User
Beiträge: 17
Registriert: Mittwoch 29. April 2020, 12:27

Hallo,
mein Ziel ist es eine Random Matirx zu erstellen deren Werte von 0.5 bis -0.5 gehen.
Meine Idee war es so zu machen:
np.random.normal(0.0,0.5,Img.shape)
Bei Betrachten der Matrix stellt sich allerdings raus, dass es immer noch Werte gibt die über 0.5 liegen.
Weiß jemand woran das liegt und wie man es besser machen kann?
Viele Grüße und Danke im Vorraus
Sirius3
User
Beiträge: 18271
Registriert: Sonntag 21. Oktober 2012, 17:20

Eine Normalverteilung geht immer von -∞ bis +∞, Du gibst nur die Breite der Verteilung an. Welche Art Verteilung möchtest Du denn?
einfachTobi
User
Beiträge: 512
Registriert: Mittwoch 13. November 2019, 08:38

Suchst du vielleicht das hier?

Code: Alles auswählen

(0.5 - -0.5) * np.random.random_sample(Img.shape) + -0.5
Ich habe extra +/- -0.5 geschrieben, damit deine Grenzen ersichtlich bleiben.
Benutzeravatar
__blackjack__
User
Beiträge: 14050
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@einfachTobi: Ein Blick in die Dokumentation legt nahe die neue API zu verwenden und ausserdem gibt es eine `uniform()`-Methode.

Code: Alles auswählen

np.random.default_rng().uniform(-0.5, 0.5, image.shape)
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
einfachTobi
User
Beiträge: 512
Registriert: Mittwoch 13. November 2019, 08:38

@__blackjack__: Oh ja. War gedanklich bei der alten Version hängen geblieben. Guter Hinweis :)
Beginner2019
User
Beiträge: 17
Registriert: Mittwoch 29. April 2020, 12:27

Danke für die Antworten! Hab es geschafft! :-)
Antworten