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

Linienmethode für PDG zweiter Ordnung implementieren

 

Kassiopeia

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.08.2022, 17:54     Titel: Linienmethode für PDG zweiter Ordnung implementieren
  Antworten mit Zitat      
Hallo Zusammen,

ich würde gerne das Ergebnis meiner Diskretisierung mittels Linienmethode implementieren, komme aber auf ein PDG zweiter Ordnung statt erster Ordnung wie in meinem Vorlesungsbeispiel. Dort wird ODE45 verwendet, der Ausgabevektor hat die Dimensionen x und t. Um das Problem zweiter Ordnung für ode45 verständlich zu machen muss ich dieses aber soweit ich weiß, auf die erste Ordnung reduzieren, wodurch die Ergebnismatrix y um eine Dimension wächst und das scheint ode45 nicht ausgeben zu können. Habt ihr Ideen wie ich das Problem entweder mit einem anderen Solver oder mit einem anderen Ansatz lösen kann? (Linienmethode ist allerdings verpflichtend)

Ausgangsgleichung:
yi(t)=q(xi,t)
y''=c*(yi+1-2yi+yi-1/dx^2)

(ich habe leider keine Ahnung wie man hier tiefstellt, das kursierte ist ein Index)

Das Code Beispiel aus der Vorlesung

global N x dx u
%
u = 15; a = 0; b = 100000; N = 100;
x = linspace(a,b,N+1); x = x(2:N+1); dx = x(2)-x(1);
t0 = 0; tend = 5200; tt = linspace(t0,tend,6);
y0 = q0(x);
options = odeset('RelTol',1.0e-6);
[T,Y] = ode45(@dgl,tt,y0,options);
%--
k = 0;
for t = tt
k = k+1;
q = loesung(x,t);
plot(x,q,x,Y(k,Smile,'x')
end

function q = q0(x)
q = exp(-1.0e-8*(x-25000).^2);
end

function q = loesung(x,t)
q = q0(x-15*t);
end

function dy = dgl(t,y)
global N x dx u
dy(1,1) = -u*y(1)/dx;
for i = 2:N
dy(i,1) = -u * (y(i)-y(i-1))/dx;
end
end


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 - 2024 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.