|
|
Wellengleichung mit Matlab |
|
medizintechnik |
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 06.11.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.11.2009, 10:50
Titel: Wellengleichung mit Matlab
|
|
|
|
|
Hallo kann mir jemand vlt. bei dieser Aufgabe mal helfen?
es geht um Wellengleichung in 1D. Das soll irgendwie mit numerischer Ableitung gehen!!!
Danke
1. Erstellen Sie ein Matlab Skript, mit dem Sie die Wellengleichung in einer Dimension
numerisch lösen können. Dabei soll die Amplitude der Welle an 800 unterschiedlichen
Punkten/Orten (die, um es einfach zu machen, einen "virtuellen" Abstand vonjeweils
1 Meter zumjeweiligen Nachbarn aufweisensollen) iterativ für aufeinanderfolgende
Zeitschritte simuliert und grafisch angezeigt werden. Auch hier wollen wir der
Konvention folgen, dass der Abstand zwischen zwei Zeitschritten genau eine Sekunde
repräsentieren soll.
Die Wellenlänge soll dabei 100 Meter und die Periodendauer 50s betragen-
Die Welle soll von einem schwingenden Dipol erzeugt werden, der sich in der Mitte
(d.h. bei x=400Meter) befindet und der ein elektrisches Feld der Stärke E(t) =
sin((2*pi/T)*t +PHIo) erzeugt.
Hinweis zur Implementierung in Matlab:
Wenn der Vektor E=zeros(1,800); den Vektor der elektrischen Feldstärke am Ort x
repräsentiert, so können Sie diesen Vektor während jedem Zeit(Iterations)schritt mit
dem Befehl plot(E); darstellen. Sie können dann sehr einfach einen "Film" erzeugen,
der die zeitliche Entwicklung der Wellenamplitude zeigt, indem Sie direkt nach dem
plot Befehl noch M(t)=getframe; anfügen.Nach Durchlauf Ihres Skriptes können Sie
den Film mit movie(M;30); anschauen
|
|
|
|
|
Thomas84 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.11.2009, 12:18
Titel:
|
|
Zuerst einmal benötigt man die Wellengleichung
E(x,t) = sin(wt - kx + phi0) wobei k = w/c x > 0
E(x,t) = sin(wt - kx + phi0) wobei k = -w/c x < 0
Dann geeignet diskretisieren:
x = -400:400;
t = 0:100;
Dann musst du dir noch ne Schleife basteln in der die Feldstärke zu verschiedenen Zeiten geplotet wird.
|
|
|
medizintechnik |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 06.11.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.11.2009, 14:20
Titel:
|
|
hallo,
erst mal danke für die Antwort. Wie soll denn das gehen mit der for-Loop zum polen!?!? bin neu eingestiegen !!
|
|
|
Thomas84 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.11.2009, 07:17
Titel:
|
|
hab kein Matlab hier, aber ich denke ungefähr so:
|
|
|
medizintechnik |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 06.11.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.11.2009, 12:51
Titel:
|
|
Danke sehr nett! Die Sache ist ich muss numerische Ableitung anwenden (erste und zweite), also zeros- und Lap-Vektoren soll drin bleiben (laplace) , genau so wie im ersten Code das ich geschrieben habe.
Nur wie gesagt die Ableitung müssen noch dabei eventuell in die for-loop. Der plot soll so aussehen als ob man zum beispiel ein Antenne auf X=400 m z.b. gestellt hätte!!
und der Vektor soll von 1 bis 799 gehen! weil man bei der numerischen Ableitung immer den rechten und den linken nachbarn braucht um ableiten zu können. z.b. Element 799 hat 798 und 800 als nachbarn, aber 800 hat nur den linken also 799!!
ne Idee ungefähr wie das geht!
Danke vielmals.
|
|
|
|
|
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.
|
|