Verfasst am: 12.11.2021, 12:09
Titel: Passagierzahlen aus Excel file als Liste generieren
Hallo,
Ich stehe vor folgender Aufgabe:
Ich arbeite an der Simulation eines Check-In Terminals. Aus einem Flugplan (Beispiel im Anhang) benötige ich für die Simulation eine Liste mit einzelner Ankünfte der Passagiere welche ich als source in mein Simulationsprogramm lade. Die Ankunftszeit soll dabei zufällig erstellt und im erlaubten Check-In Zeitraum (1-2h vor Abflug liegen). Ein Beispiel meines gewünschten Ergebnis ist ebenfalls im Anhang.
Dabei dachte ich an eine Art verschachtelter for Schleife:
z.B.
Code:
for i=1:"Anzahl_Zeilen_Flugplan"
for j=1:"Anzahl Passagiere"
"Speichern des einzelnen Passagiers in ein Array, sowie Zuweisung von:
Destination und einer zufälligen Ankunftszeit, welche im Bereich der zulässigen
CheckIn Zeit liegt (1-2h vor Abflug) end end
Die Importierung des Excel file hat soweit mal geklappt (Anhang), aber nun bin ich nicht so der Matlab Experte und würde mich freuen, evtl. ein paar Herangehensweisen zu erfahren.
stell doch bitte einen Dateiausschnitt zur Verfügung, mit dem man in MATLAB direkt arbeiten kann. Das macht es deutlich einfacher.
Sollen die Zeiten immer minutengenau sein?
Wie sollen die Gruppengrößen (Alleinreisende, Paare, Familien...) bestimmt werden?
Eine innere Schleife solltest du da m.E. nicht brauchen. Du kannst ja einen Vektor generieren.
Hast du denn selbst schon was versucht? Wenn ja, poste es bitte.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Danke für die Antwort und klar, mit Datei ist es einfacher
Da ich die Simulationszeit in meinem Programm (Anylogic) auf Minutenbasis einstellen möchte, dachte ich mir, es wäre wahrscheinlich besser, die Ankunftsrate der Passagiere ebenfalls im Minutentakt zu generieren.
Bezüglich Gruppengröße, da hätte ich an eine Zufallsverteilung von 1er bis 6er Gruppen gedacht.
Bisher habe ich mich auf ein kleines Testprogramm beschränkt, um mal irgendwie die Zufallszahlen zu generieren. Nicht wirklich erfolgreich. Ist leider meine Matlab Premiere im Bereich Statistik und Zufallsverteilung...
da hätte ich an eine Zufallsverteilung von 1er bis 6er Gruppen gedacht.
Und was für eine Verteilung? Gleichverteilung ist unrealistisch, oder?
Willst du wirklich mit Verteilungen mit verschiedenen Mittelwerten und Standardabweichung arbeiten? Wie gehen diese Informationen dann aus den Flugdaten hervor?
In dem momentanen Code sehe ich etliche Probleme hinsichtlich der for-Schleifen, Verkettung etc. Mir ist teilweise nicht mal klar, was der Code eigentlich machen soll. Meine Empfehlung wäre hier, zunächst das MATLAB Onramp durchzuarbeiten.
https://www.mathworks.com/learn/tutorials/matlab-onramp.html
Die Simulation an sich könnte ich mir übrigens auch mit Simulink und seinen Erweiterungen vorstellen. Auf Wunsch kann ich da gerne einen Kontakt bei MathWorks vermitteln. Dazu bitte per PN Name, Email und Uni / Firma mitteilen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Gleichverteilung macht keinen Sinn. Denke, eine Normalverteilung innerhalb der 1h CheckIn Zeit ist besser. Mein Ansatz mit Mittelwert und Standardabweichung ist dabei wirklich etwas zuviel des Guten.
Sorry für den chaotischen Code. Ich hab gestern nebenbei auch in Python herumgebastelt und das kam dann dabei heraus. Bin leider programmiertechnisch etwas eingerostet (knapp 15 Jahre Pause) und muss mich erst wieder etwas einarbeiten...
Aber denke ich mit meiner grundsätzlichen Überlegung einer verschachtelten for-Schleife zu kompliziert (siehe erster Post), oder geht es viel einfacher?
Grüße,
Paul
PS: Danke für das Angebot, ich werd mal nachfragen, ob Simulink auch zulässig ist.
Man würde wenn nicht nur Simulink, sondern vermutlich auch Erweiterungen wie Stateflow oder SimEvents brauchen. Da kenne ich mich aber nicht so aus, würde also wenn nur den Kontakt herstellen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Hallo und vielen Dank schon mal für den ersten Vorschlag. Werde diesen gleich morgen mal ganz genau durchgehen und meld mich dann wieder (spätestens, wenn ich bzgl. Simulink Bescheid weiß…)
Ich überlege jetzt noch an einer Alternativ-Ausgabe, wo die Passagierzahlen zu den einzeln generierten Ankunftszeiten zusammengefasst werden. Dabei müsste auch nicht zwangsweise die Destination angeführt werden. Wichtig ist nur, dass die Ankunftszeiten chronologisch sortiert und nur einmalig vorkommen..
splitapply
oder
groupsummary
sind anwenderfreundlichere Alternativen zu accumarray.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.