Frage zu Randomziehung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Lucas1997
User
Beiträge: 17
Registriert: Sonntag 31. Oktober 2021, 22:52

Hallo Leute,

ich simuliere Umsätze, die vom Wetter abhängen mit Simpy. Dabei möchte ich gerne jeden Tag ein zufällige Temperatur ziehen. So wie ich es aktuell geschrieben habe, zieht Python am Anfang eine Temperatur und behält diese über die gesamte Simulation bei. Könnt ihr mir dabei helfen? Danke im Voraus.

random.randint(0,40) # so ziehe ich meine Temperatur
Danach kommen meine If, elif Bedingungen, die den Umsatz beeinflussen. Wie kann ich erzeugen, dass sich die Temperatur alle 60*60*24 Zeiteinheiten ändert? Danke im Voraus!!


Viele Grüße
Benutzeravatar
__blackjack__
User
Beiträge: 14076
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Lucas1997: Na in dem Du alle 60*60*24 Zeiteinheiten eine neue Temperatur auswürfelst. Wobei man das vielleicht eher als zufällige Anpassung der vorherigen Temperatur machen sollte, denn wenn man das zu jedem dieser Zeitpunkte zwischen 0 und 40 neu auswürfelt bekommt einen recht unnatürlichen Temperaturverlauf.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Lucas1997
User
Beiträge: 17
Registriert: Sonntag 31. Oktober 2021, 22:52

Es soll nur eine Simulation sein und muss nicht der Realität entsprechen. Ich verstehe aber nicht wie ich den Befehl gebe, dass er jeden Tag eine neue Temperatur gibt. Bin hier schon am verzweifeln.
Sirius3
User
Beiträge: 18278
Registriert: Sonntag 21. Oktober 2012, 17:20

Wie Du das machen kannst wissen wir auch nicht, weil wir ja nicht Deinen Code kennen.
Du mußt halt an der richtigen Stelle eine Zufallszahl ermitteln.
Lucas1997
User
Beiträge: 17
Registriert: Sonntag 31. Oktober 2021, 22:52

temp=random.randint(0,40)

So ziehe ich die Temperatur und beziehe mich im folgenden auf temp, um Kundenhäufigkeit und Kaufverhalten zu beeinflussen. Nur leider bleibt die Temperatur über die gesamte Simulation gleich.
Lucas1997
User
Beiträge: 17
Registriert: Sonntag 31. Oktober 2021, 22:52

Aber wie stelle ich eine, dass temp alle 60*60*24 Python Zeiteinheiten neu gezogen wird?
Benutzeravatar
__blackjack__
User
Beiträge: 14076
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Lucas1997: Das muss nicht der Realität entsprechen stimmt nicht. Natürlich musst Du die Realität nicht auf's Molekül genau simulieren, aber die Simulation muss schon so nah an der Realität sein, dass die Ergebnisse nicht vollkommener Unsinn ist. Denn wenn Du einfach jeden Tag eine völlig unabhängige neue Temperatur ziehst, dann ist die Lösung ja einfach nicht *eine* Simulation laufen zu lassen, sondern für jeden Tag eine Simulation laufen zu lassen.

Ansonsten können wir uns nur wiederholen: Du musst halt an der passenden Stelle zur passenden Bedingung eine neue Temperatur bestimmen. Und die müsste dann auch irgendwie zum Zustand der Simulation gehören. Wie auch immer Du den modellierst. Wobei wir wieder bei dem Thema wären, dass hier keiner ausser Dir Deinen Code kennt, und man deshalb auch nicht wirklich sinnvoll Ratschläge geben kann.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Lucas1997
User
Beiträge: 17
Registriert: Sonntag 31. Oktober 2021, 22:52

Hallo blackjack,

Danke für die Antwort. Die Sinulation hat so schon ihre Richtigkeit für den Zweck für den ich Sie benutzen will.

Die Frage, die ich mir stelle ist eben nur ob es eine Funktion gibt, die temp nach einer bestimmten Zeit neu generiert. Also direkt im Anschluss an die Definition von temp.
Lucas1997
User
Beiträge: 17
Registriert: Sonntag 31. Oktober 2021, 22:52

Ich würde mich morgen nochmal mit dem Code melden. Ich dachte vielleicht geht es auch so.
Lucas1997
User
Beiträge: 17
Registriert: Sonntag 31. Oktober 2021, 22:52

Das Ergebnis ist ja ein Datensatz, dessen Umsätze vom Wetter abhängig sind. Es geht dabei nicht um reales Wetter.
Benutzeravatar
__blackjack__
User
Beiträge: 14076
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Lucas1997: Mit dem Argument kannst Du auch einfach ohne weitere Simulation irgendwelche zufälligen Datensätze erstellen. So eine Simulation soll ja etwas reales simulieren. Wenn sich das so überhaupt gar nicht wie die Realität verhält, also nicht mal ein bisschen plausibel ist, dann erhältst Du auch keine Datensätze über die man irgendwelche sinnvollen Aussagen treffen kann oder an denen man irgend etwas zeigen kann.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Benutzeravatar
snafu
User
Beiträge: 6873
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Eine Möglichkeit wäre, die Schleifendurchläufe mitzuzählen und mittels Modulo-Operator zu ermitteln, ob man gerade im n-ten Durchlauf ist.
Benutzeravatar
__blackjack__
User
Beiträge: 14076
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@snafu: Die ”Schleifendurchläufe” stecken ja im Simulationsrahmenwerk. Das kennt aber ”Prozesse” und Timeout-Events. Man kann also einen Prozess immer diese Zeitspanne warten lassen und dann eine neue Temperatur auswürfeln lassen.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Lucas1997
User
Beiträge: 17
Registriert: Sonntag 31. Oktober 2021, 22:52

Danke snafu. Blackjack es wäre nett, wenn du auf die Frage eingehst anstatt den Sinn der Simulation zu hinterfragen.
Benutzeravatar
__blackjack__
User
Beiträge: 14076
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Lucas1997: Ich bin auf die Frage eingegangen. Soweit man die halt beantworten kann ohne das Du konkreter wirst. 🤷‍♂️
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Lucas1997
User
Beiträge: 17
Registriert: Sonntag 31. Oktober 2021, 22:52

Mir geht es darum, dass an jedem Tag eine zufällige Temperatur gezogen wird in Simpy. Aktuell zieht er diese einmal und behält diese bei. Wie soll ich konkreter werden?
Lucas1997
User
Beiträge: 17
Registriert: Sonntag 31. Oktober 2021, 22:52

Mir geht es darum, dass jeden Tag ein neues Wetter per Zufall gezogen wird. Hoffe mir kann irgendwer helfen.
nezzcarth
User
Beiträge: 1765
Registriert: Samstag 16. April 2011, 12:47

Lucas1997 hat geschrieben: Sonntag 14. November 2021, 12:25 Wie soll ich konkreter werden?
Indem du deinen bisherigen Code zeigst. Ohne ist es kaum möglich, dir konkretere Antworten zu geben, als die, die du bisher erhalten hast. Deine Formulierungen klingen für mich so, als würdest dir dir vielleicht erhoffen, dass es irgendeinen Befehl gibt, den du nur hinschreiben musst und dann ist alles gelöst. So funktioniert das aber eher nicht.
Lucas1997
User
Beiträge: 17
Registriert: Sonntag 31. Oktober 2021, 22:52

Mein Problem ist ich habe relativ wenige Python Kenntnisse und muss in dem Code nur was ergänzen. Das habe ich gemacht aber es funktioniert noch nicht so richtig.
Lucas1997
User
Beiträge: 17
Registriert: Sonntag 31. Oktober 2021, 22:52

hallo nochmal,

ich habe das Problem inzwischen gelöst. Nun nochmal zu einem Problem, das bereits angesprochen wurde. Gibt es einen Weg, um statt random.randint einen Befehl zu wählen, der nach einem stochastischem Prozess vorgeht? Temperatur heute hängt von Temperatur gestern ab?

Danke im Voraus.
Antworten