|
|
Probleme mit Semesteraufgabe "stehende Wellen" |
|
pat300484 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.12.2011, 01:39
Titel: Probleme mit Semesteraufgabe "stehende Wellen"
|
 |
hallo,
ich habe folgendes problem:
ich soll als projektarbeit eine simulation stehender wellen programmieren und komme aktuell nicht mehr weiter.
der aufgabentext lautet wie folgt:
die gleichung einer stehenden welle mit modenzahl m ist:
y = c * sin(( m * pi * x) / L) * sin(( m * 2 * pi * t) / T)
erzeugen sie animationen für stehende wellen mit m=1, m=2, m=3 und m=4 und probieren sie auch überlagerungen, wenn z.b. die wellen mit m=1 und m=3 gleichzeitig auftreten.
ich bin absoluter matlab-neuling, habe aber bereits einiges gelernt und hänge meinen erarbeiteten quellcode mal an:
die variablen L und T waren in der aufgabe gegeben
momentan frage ich mich, wieso die kurve gepunktet und nicht durchgezogen ist und wieso mir matlab 8 kurven auf einmal zeichnet statt nacheinander und die vorhergehende nicht ausblendet.
|
|
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 23.12.2011, 09:45
Titel:
|
 |
Wg Punkte vs. durchgezogen: Jeder PLOT Befehl zeichnet in diesem Code exakt einen Punkt. Es ist also keine gepunktete Liniie, sondern "ein Haufen Punkte".
Normalerweise würde ich alle y erst berechnen und erst hinterher plotten. Da hier aber die Enstehung als Film aufgezeichnet werden soll, gilt es in der inneren Schleife immer ein Geraradenstück vom letzten Punkt bis zum aktuellen Punkt zu zeichnen. Der letzte Punkt muss also zwischengespeichert werden.
Andreas
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 23.12.2011, 09:47
Titel:
|
 |
Da HOLD ON gewählt wurde, gilt das für den kompletten Plot. Wenn also die zweite Welle geplottet werden soll ohne die erste Welle, könnte man an geeigneter Stelle HOLD OFF setzen.
Andreas
|
|
|
Gest4124 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.12.2011, 16:32
Titel:
|
 |
ich habe das mal nach deiner Vorlage ein bisschen umgestellt, damits mal einigermaßen läuft. schön ists aber nich gerade.
Die movie() Schleife macht mal so garkeinen Sinn.
Wie mein Vorposter schon sagte, hier ists sinnvoller, erst die komplette Funktion zu zeichnen und dann nen Bild aufzunehmen. und nicht jeden einzelnen Punkt.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 25.12.2011, 18:43
Titel:
|
 |
Hallo Gest4124,
Nur eine Nebenfrage: Wozu verwendest Du "clear; close all; clc;"? Ich sehe dies so oft im Forum. Es ist auf jeden Fall hilfreich, dass nicht per "clear all" alles aus dem Speicher gelöscht wird. Aber für das eigentliche Programm ist dieses generelle Aufräumen nicht sachdienlich.
Gruß, Jan
|
|
|
Scriptor |

Forum-Century
|
 |
Beiträge: 217
|
 |
|
 |
Anmeldedatum: 22.02.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.12.2011, 12:41
Titel:
|
 |
Dem muss ich kurz was entgegenstellen. Als ich anfing mit Matlab zu arbeiten und die Übersicht irgendwann schwierig wird, schreibe ich zu Beginn beinahe immer M-Files, wo ich mit einem alles was ich bewerkstelligen will mache. Da wird es manchmal sehr unübersichtlich. Alte Werte schleichen sich in Variablen ein, die nicht gelöscht wurden aber eigentlich neu berechnet wurden aber trotzdem spinnt irgendwas rum, alte offene GUIs nerven und kleistern die Startleiste zu, man kann nicht ordnen, ob die Fehlermeldungen vom vorherigen oder vom jetzigen Durchlauf kommen.
So kriegt man für jeden Testversuch einen cleanen Cut hin, indem man einfach alle Variablen löscht und neu erstellt, nur die GUIs vor sich hat die man braucht und die alten Fehlermeldungen löscht, da man sie eh idR bearbeitet hat.
Also für mich gestaltet sich das Proggen wirklich entspannter dadurch.
Grüße und frohes Restfest.
Scriptor
|
|
|
pat300484 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.12.2011, 22:34
Titel:
|
 |
danke für eure hilfe,
nach kleiner umstrukturierung und abänderung läuft das programm jetzt exakt so, wie ich es mir vorgestellt habe. super sache!
nachträglich frohe weihnachten und schöne feiertage.
und ein frohes neues jahr.
|
|
|
|
|
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.
|
|