|
|
|
Simulationsergebnisse in Excelfile ablegen/schreiben |
|
| Paula123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.09.2011, 21:41
Titel: Simulationsergebnisse in Excelfile ablegen/schreiben
|
 |
Hallo ihr lieben!
Ich bekomme jeweils ein Ergebnis aus meiner Simulation und möchte nun diese Ergebnisse übersichtlich untereinander in ein Excel-File schreiben.
zB.
Was kann ich für '????' schreiben? Es soll in der ersten Zeile erstes Feld die erste Zahl geschrieben werden, also in A1.
Ich habe folgende Möglichkeiten ausprobiert uvm,
aber sie funktionieren alle nicht so wie ich das gerne hätte !!
Könnt ihr mir einen Tipp geben?
Die Matlab Hilfe hat mir leider nicht geholfen !
Grüße!!
|
|
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.09.2011, 21:53
Titel:
|
 |
Hallo,
wenn man wüsste, was du schreiben willst, wäre das einfacher. Ich vermute, dass es A1, A2, ... sein sollen. Dann hilft:
Davon abgesehen ist wiederholtes Schreiben nach Excel recht ineffizient. Besser: die Daten in MATLAB sammeln und auf einmal schreiben.
Grüße,
Harald
|
|
|
|
| Paula123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.09.2011, 22:22
Titel: While-Schleifen-Ergebnisse in Matrix zusammenfügen
|
 |
Hallo!
Vielen Dank, du hast mich richtig verstanden, ich meinte untereinander also A1, A2, ..
und es funktioniert !
Danke für den tipp! Wahrscheinlich habe ich deshalb nicht großartig etwas dazu gefudnen, da es so ineffizient ist.
Es dauert ja schon ziemlich lange bis das Excel File geschrieben ist jedesmal.
Wie kann ich denn die Ergebnisse in eine Matrix schreiben? Ich habe wieder Probleme mit der Schleife.
Ich müsste jedes M_2 so benennen, dass es in der MAtrix dann bei der Beschreibung der Matrix klar ist, dass M_2(j=1) die erste Zeile ist und M_2(j=2) dann die zweite Zeile usw. Aber das Beschreiben von M_2(j=...) kriege ich nicht hin..
Wie geht so etwas? Freu mich total über einen weiteren Tipp! Ich versuche schon die ganze Zeit mit kleinen miniprogrammen, aber es will nicht.. bin noch ziemlicher Anfänger.
|
|
|
|
| Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 28.09.2011, 07:14
Titel:
|
 |
Ineffizient - kann schon sein. Es kann aber auch sein, dass der Haken schon vorher verborgen ist. Muss denn jedes Element einzeln geschrieben werden? Es ist doch auch möglich eine Ergebnismatrix zu berechenen und dann auf einen Rutsch in Excel zu schieben.
Andreas
|
|
|
|
| _Peter_ |

Moderator
|
 |
Beiträge: 537
|
 |
|
 |
Anmeldedatum: 08.12.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.10, 2010a
|
 |
|
|
 |
|
Verfasst am: 28.09.2011, 11:21
Titel:
|
 |
| Andreas Goser hat Folgendes geschrieben: |
Ineffizient - kann schon sein. Es kann aber auch sein, dass der Haken schon vorher verborgen ist. Muss denn jedes Element einzeln geschrieben werden? Es ist doch auch möglich eine Ergebnismatrix zu berechenen und dann auf einen Rutsch in Excel zu schieben.
Andreas |
Ich glaub das ist genau das was Harald gemeint hat.
| Paula123 hat Folgendes geschrieben: |
Wie kann ich denn die Ergebnisse in eine Matrix schreiben? Ich habe wieder Probleme mit der Schleife.
|
Zum Beispiel so:
Sprich du musst Indizieren.
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
|
| Paula123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.09.2011, 13:03
Titel: Indizieren
|
 |
Hallo!
vielen Dank für die Antwort.
ja, stimmt, ich möche indizieren.
Leider verstehe ich nicht was dein Code bedeutet..
Was bedeutet
oder
?
|
|
|
|
| Paula123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.09.2011, 14:30
Titel: Ergebnisvektoren indizieren
|
 |
Ich versuch das nun seit Stunden hinhzubekommen, schaffe es aber nicht.
Das Ergebnis für die erste Iteration (i=1) ist ein Vektor
A={ 2 4 5 3 }.
Jetzt soll die 2. Iteration mit i=2 durchlaufen werden und wieder ein A-Vektor erstelllt werden, allerdings soll dieser nicht den ersten überschreiben.
Am Ende nach allen Durchläufen soll dann ein Vektor/Matrix aus den A's erstellt werden, ungefähr so:
Z=[A(1);A(2);A(3);...;A(i)].
Also sinngemäß, leider weiß ich nicht wie man das in Matlab schreibt.
Wisst ihr das?
|
|
|
|
| Paula123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.09.2011, 15:02
Titel: Ergebnisvektoren indizieren
|
 |
Ich versuch das nun seit Stunden hinhzubekommen, schaffe es aber nicht.
Das Ergebnis für die erste Iteration (i=1) ist ein Vektor
A={ 2 4 5 3 }.
Jetzt soll die 2. Iteration mit i=2 durchlaufen werden und wieder ein A-Vektor erstelllt werden, allerdings soll dieser nicht den ersten überschreiben.
Am Ende nach allen Durchläufen soll dann ein Vektor/Matrix aus den A's erstellt werden, ungefähr so:
Z=[A(1);A(2);A(3);...;A(i)].
Also sinngemäß, leider weiß ich nicht wie man das in Matlab schreibt.
Wisst ihr das?
|
|
|
|
| fluuu |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 18.09.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.09.2011, 10:19
Titel:
|
 |
Hi Paula,
zwei Vektoren kannst du mit dem Befehl "vertcat" zusammenfügen.
Bsp.
Wenn man dein einführendes Beispiel nimmt und so ergänzt das zuerst alles in ein Array geschreiben werden soll und dies sozusagen final in eine Excel Datei geschrieben wird dann sieht das ganze in etwa so aus:
Bin mir jetzt nicht sicher ob es das ist was du suchst.
VG
|
|
|
|
| Paula123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.09.2011, 11:49
Titel: vertact , indizieren
|
 |
Hallo fluuu,
danke für deine Antwort!!
Ich denke ich bin fast da, vertcat macht einen super Eindruck !
Jetzt ist aber noch mein Problem, dass mein die Einträge meines Ergebnisvektors nicht von i abhängig sind (war ein Fehler meinerseits bei meiner ersten Programmierung, entschuldigung!!), sondern es nach jedem Simulationsdurchlauf einen anderen Ergebnisvektor gibt. Bsp:
Jetzt versuche ich
aber es gibt mir den letzten Ergebnisvektor i (5) mal untereinander an.
Ich hoffe das ist verständlich.
Ich denke ich komme am indizieren nicht vorbei, oder?! Allerdings schaffe ich das einfach nicht. Wenn ich indiziert habe könnte ich dann leicht vertcat anwenden, denke ich.
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 29.09.2011, 14:51
Titel:
|
 |
Hallo,
du brauchst doch bloß die beiden Schleifen in eine zusammenfassen:
Grüße,
Harald
|
|
|
|
| Paula123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.09.2011, 11:33
Titel: Indizieren?
|
 |
Hallo Harald,
ich kriege das nicht hin, verstehe auch nciht wie das so das mit erwähnten code funktionieren soll.
Immer nur der letzte Ergebnisvektor wird in die Excel-Datei geschrieben.
Ich lönnte mir vorstellen, dass dieser Ergebnisvekrot immer wieder überschrieben wird, da er eben gleich heißt und es dann am Ende nur den letzten gibt!?
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.09.2011, 12:48
Titel:
|
 |
Hallo,
da du nicht schreibst, was du machst oder nicht verstehst, kann ich dir nur noch genauer schreiben, wie ich es mir dachte:
Ja, der Ergebnisvektor wird natürlich überschrieben, aber deswegen werden die Ergebnisse ja auch in Array gesammelt (angehängt, nicht überschrieben).
Grüße,
Harald
|
|
|
|
| Paula123 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.09.2011, 13:25
Titel: Indizierung?
|
 |
Hallo Harald,
vielleicht ist das ein Missverständis?
Mein Ergebnisvektor beinhaltet nur Zahlenwerte die nicht von i abhängen, aber eben für jedes verschiedene i noch einmal die Simulation durchlaufen wird und so es einen neuen Ergebnisvektor gibt. (hatte ich oben schon mal geschrieben)
Erst hatte ich im Ergebnisvektor einen von i abhängigen Eintrag, das war in meiner Programmierung leider falsch, aber das mit dem Array hat funktioniert.
Jetzt ohne diese i-Abhängigkeit überschreibt mit Matlab immer diesen Ergebnisvektor.
zB
Das klappt aber leider so nicht
|
|
|
|
| _Peter_ |

Moderator
|
 |
Beiträge: 537
|
 |
|
 |
Anmeldedatum: 08.12.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.10, 2010a
|
 |
|
|
 |
|
Verfasst am: 30.09.2011, 15:11
Titel:
|
 |
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
|
Einstellungen und Berechtigungen
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|