[Matlab]

tdnpf

Well-known member
ID: 68755
L
4 Mai 2006
382
32
Hi, ich suche einen Befehl für Matlab, der mir die folgenden Gleichungen


und


jeweils für y_n+1 und z_n+1 löst. Gibt es da irgendwas? Auflösen nach y_n+1 bzw. z_n+1 geht nicht, laut Maple ist das ein Mehrzeiler (so 5-6) ;)

Merci beaucoup.
 
Das ist ein bißchen komplizierter. Ich kopier einfahc mal den Text rein. Wenn du dann noch Fragen hast, frag.



Das ist jetzt nur für die erste Gleichung, die zweite geht analog.
Sind einfach zwei verschachtelte Iterationen, sieht ungefähr so aus:

Code:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Trapezium Method for nonlinear equations%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

h=0.0001;
y=1;
z=-1;
error=1;
f=zeros(1,99999);
g=f;
i=1;

while error>0.00001
        a=y;
        b=z;
        w=y;
        for j=1:1:10000
           w=y+h*b+((h^2)/4)*(2*w^3+2*y^3);
        end
        y=y+h*z+((h^2)/2)*(w^3+y^3);
        z=z+(h/2)*(2*y^3+2*a^3);
        error=abs(y-a);
        f(i)=y;
        g(i)=z;
        i=i+1;
        disp(error);
end

Hübsch, nicht? :ugly:
 
tdnpf schrieb:


Hmm, Du gibst die Anzahl der Iterationen für w statisch vor. Sollte man da nicht ein geeignetes Abbruchkriterium definieren? Sowas wie wenn w sich von Schritt zu Schritt betragsmäßig nicht mehr als irgendein epsilon ändert oder so...?

Ein weiterer Verbesserungsvorschlag wäre, die Anzahl der Iterationen nach oben hin zu beschränken, für den Fall, dass es mal nicht konvergiert (Endlosschleifen sind irgendwie lame :D).



Hat das problem eigentlich irgendeine anschauliche praktische Bedeutung oder ist das was rein mathematisches?