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: 18330
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: 513
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: 14238
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)
“Ich bin für die Todesstrafe. Wer schreckliche Dinge getan hat, muss eine angemessene Strafe bekommen. So lernt er seine Lektion für das nächste Mal.” — Britney Spears, Interview in der französischen Zeitung Libération, 2. April 2002
einfachTobi
User
Beiträge: 513
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