WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Partikelbahnen

 

MaxN

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.06.2011, 16:34     Titel: Partikelbahnen
  Antworten mit Zitat      
Hallo Matlabler,
wollte mal fragen, ob einer von euch ne Idee hat, wie man aus 2D Strömungsdaten im Format(x,y,u,v) die Partikelbahn generieren kann? Also hab mehrere Bilder zu verschiedenen Zeitpunkten. Den Ansatz den ich bislang verfolge ist der, dass ich die Geschwindigkeit im jeweiligen Punkt mit dem Zeitabstand zwischen den Bildern multipliziere und so die Verschiebung bekomme. Problem ist, dass teilweise Partikel durch diese Verschiebung außerhalb des Strömungsbereiches transportiert werden, was nicht der Wirklichkeit entspricht. Kann mir einer dabei weiterhelfen?
Vielen Dank im Voraus
Max


Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.06.2011, 06:42     Titel:
  Antworten mit Zitat      
Offensichtlich ist die zeitliche Diskretisierung zu groß. Ich würde DGL
\dot{x} = u(x,y,t) \\ \dot{y} = v(x,y,t)
mit ode45 lösen und dabei immer das u und v aus dem zugehörigen Zeitpunkt einsetzen. Es wird damit angenommen das sich zwischen den Zeitschritten der Strömungsdaten die Strömung nicht ändert.

viele Grüße
Thomas
Private Nachricht senden Benutzer-Profile anzeigen
 
MaxN

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.06.2011, 10:15     Titel:
  Antworten mit Zitat      
Sorry wenn ich ein wenig aufm Schlauch stehe, aber ich arbeite noch nicht so lange mit Matlab, wie genau kann ich das machen?
Danke
Max
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.06.2011, 14:28     Titel:
  Antworten mit Zitat      
Code:

x = linspace(0,1,20);
y = linspace(0,1,20);
[xx,yy] = meshgrid(x,y);

% Strömungsfeld
u = yy;
v = ones(size(xx));


ode_fun = @(x) [interp2(xx,yy,u,x(1),x(2));interp2(xx,yy,v,x(1),x(2))];
[t_out,y_out]=ode45(@(t,y) ode_fun(y),[0 1],[0;0]);


quiver(xx,yy,u,v);
zoom on;hold on;
plot(y_out(:,1),y_out(:,2),'r');
 


In dem Beispiel sind u und v konstant. Du must daher die Funktion ode_fun so abändern das u und v nach jedem Zeitschritt durch die aktuellen Werte ersetzt werden.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.