ich möchte gerne die Lösung der Wärmeleitungsgleichung visualisieren.
Hierzu habe ich,
unter folgender Quelle (ab Seite 32): https://www.mathematik.uni-wuerzburg.de/~borzi/proj_parabolic.pdf,
einige fertige Scripte gefunden.
Leider war es mir aber bisher nicht möglich diese fehlerfrei Auszuführen
oder herauszufinden wie sie auszuführen sind, ohne Fehlermeldungen zu provozieren.
Insbesondere die Parameter konnte ich nicht übergeben.
Weil ich wahrscheinlich - mangels Matlap Fähigkeiten - einige elementare Fehler gemacht habe,
verzichte ich darauf hier das hereinzustellen, was ich bisher gemacht habe.
Kann mir jemand an dem Script unter 4.2 (Seite 33) erklären,
wie man beispielhaft damit umgeht?
Mit geht es weniger um ein Verständnis des Scripts,
als darum, die Möglichkeit zu haben
die Lösung der Differentialgleichung mit verschiedenen Parameter, beispielhaft zu visualisieren.
Ich bin Schüler und brauche die Visualisierung für meine Facharbeit.
Mangels Zeit bis zum Abgabezeitpunkt kann ich mich leider nicht umfassend in Matlab einarbeiten.
Hier die Scripte die ich ausführen möchte:
Code:
function[time]=explizit(u,f,lam,c,T,paus,anz)
%
% Eingabeparameater: % u.......Anfangsbedingung % f.......Heizung, beziehungsweise Kuehlung % lam.....Verhaeltnis von delta_t zu delta_x2^2 % c.......Waermeleitkonstante % T.......Zeit, bis zu der iteriert wird % paus....Zeit, die ein plot mindestens angezeigt werden soll % anz.....Anzahl der Iterationen, die zwischen zwei Plots gemacht werden
%
% Ausgabeparamter: % time..benoetigte CPU-time
paus=0; figure(1) time=cputime; t=0; [N uy]=size(u); [fx
fy]=size(f);
h=1/(N-1); % r\"aumliche Schrittweite
k=lam*h^2; % zeiltliche Schrittweite
gitter=0:h:1; % Gitterpunkte plot(gitter,u); title(t); pause(paus); iter=0; while t<T
u(2:end-1)=u(2:end-1)+c*lam*(u(1:end-2)-2*u(2:end-1)+u(3:end))+k*f;
iter=iter+1;
t=t+k;
if iter==anz
plot(gitter,u);
title(t);
pause(paus);
iter=0;
end end time=cputime-time;
Hilfreich wäre es auch zu wissen wie man den Code unter 4.5 (Seite 39) ausführt.
Code:
function[time]=adi(U,f,mu,T,c,paus,anz) % berechnet mit einem expliziten Verfahren % die Loesung der Waermeleitungsgleichung % du/dt-c*Laplace(U)=f auf dem Raumbereich [0,1]x[0,1] fr den Zeitraum % [0,T]. Als Randbedingung wird der Rand der Eingabematrix U verwendet % Eingabewerte % U.....quadratische Matrix, Anfangswertmatrix % f.....quadratische Matrix mit einer um 2 kleineren Dimension wie U, % die Heizung oder Kuehlung % mu..Verhaeltnis von Zeit zu Raumdiskretisierung: lam=c*delta_t/(delta_x)^2 % T.....Zeitpunkt, bis zu dem gerechnet wird % c.....Waermeleitungskonstante % paus..Pause zwischen den Plots % anz...Anzahl der Iterationen zwischen zwei plots % Ausgabewert % time..zum rechnen bentigte cputime [N,yU]=size(U); [xf,yf]=size(f);
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
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.