Seite 1 von 2
Frage zu Randomziehung
Verfasst: Samstag 13. November 2021, 20:59
von Lucas1997
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
Re: Frage zu Randomziehung
Verfasst: Samstag 13. November 2021, 21:32
von __blackjack__
@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.
Re: Frage zu Randomziehung
Verfasst: Samstag 13. November 2021, 21:33
von Lucas1997
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.
Re: Frage zu Randomziehung
Verfasst: Samstag 13. November 2021, 21:55
von Sirius3
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.
Re: Frage zu Randomziehung
Verfasst: Samstag 13. November 2021, 22:07
von Lucas1997
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.
Re: Frage zu Randomziehung
Verfasst: Samstag 13. November 2021, 22:08
von Lucas1997
Aber wie stelle ich eine, dass temp alle 60*60*24 Python Zeiteinheiten neu gezogen wird?
Re: Frage zu Randomziehung
Verfasst: Samstag 13. November 2021, 22:22
von __blackjack__
@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.
Re: Frage zu Randomziehung
Verfasst: Samstag 13. November 2021, 22:59
von Lucas1997
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.
Re: Frage zu Randomziehung
Verfasst: Samstag 13. November 2021, 23:02
von Lucas1997
Ich würde mich morgen nochmal mit dem Code melden. Ich dachte vielleicht geht es auch so.
Re: Frage zu Randomziehung
Verfasst: Samstag 13. November 2021, 23:13
von Lucas1997
Das Ergebnis ist ja ein Datensatz, dessen Umsätze vom Wetter abhängig sind. Es geht dabei nicht um reales Wetter.
Re: Frage zu Randomziehung
Verfasst: Samstag 13. November 2021, 23:50
von __blackjack__
@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.
Re: Frage zu Randomziehung
Verfasst: Sonntag 14. November 2021, 01:03
von snafu
Eine Möglichkeit wäre, die Schleifendurchläufe mitzuzählen und mittels Modulo-Operator zu ermitteln, ob man gerade im n-ten Durchlauf ist.
Re: Frage zu Randomziehung
Verfasst: Sonntag 14. November 2021, 02:05
von __blackjack__
@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.
Re: Frage zu Randomziehung
Verfasst: Sonntag 14. November 2021, 07:56
von Lucas1997
Danke snafu. Blackjack es wäre nett, wenn du auf die Frage eingehst anstatt den Sinn der Simulation zu hinterfragen.
Re: Frage zu Randomziehung
Verfasst: Sonntag 14. November 2021, 11:53
von __blackjack__
@Lucas1997: Ich bin auf die Frage eingegangen. Soweit man die halt beantworten kann ohne das Du konkreter wirst.

Re: Frage zu Randomziehung
Verfasst: Sonntag 14. November 2021, 12:25
von Lucas1997
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?
Re: Frage zu Randomziehung
Verfasst: Sonntag 14. November 2021, 12:27
von Lucas1997
Mir geht es darum, dass jeden Tag ein neues Wetter per Zufall gezogen wird. Hoffe mir kann irgendwer helfen.
Re: Frage zu Randomziehung
Verfasst: Sonntag 14. November 2021, 13:10
von nezzcarth
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.
Re: Frage zu Randomziehung
Verfasst: Sonntag 14. November 2021, 13:29
von Lucas1997
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.
Re: Frage zu Randomziehung
Verfasst: Montag 15. November 2021, 20:03
von Lucas1997
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.