How can I change this code to euler backward method? (implicit method)
    6 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
f = @(t,y) -100000*y + 99999*exp(-t);
t0 = 0; y0 =0;
h = 0.01; tn = 2;
n = (tn-t0)/h;
t(1)=t0; y(1)=y0;
for i=1:n
    t(i+1) = t(i) + h;
    y(i+1) = y(i) + (f(t(i),y(i))*h);
end
plot(t,y)
0 Commenti
Risposta accettata
  Torsten
      
      
 il 7 Giu 2022
        
      Modificato: Torsten
      
      
 il 7 Giu 2022
  
      f = @(t,y) -100000*y + 99999*exp(-t);
t0 = 0; y0 =0;
h = 0.01; tn = 2;
n = (tn-t0)/h;
t(1)=t0; y(1)=y0;
for i=1:n
    t(i+1) = t(i) + h;
    fun = @(x) x - y(i) - h*f(t(i+1),x);
    y(i+1) = fzero(fun,y(i));
end
plot(t,y)
hold on
exact = @(t) exp(-t)-exp(-100000*t);
plot(t,exact(t))
0 Commenti
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Numerical Integration and Differential Equations in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


