Using Implicit Euler Method with Newton-Raphson method
이전 댓글 표시
So I'm following this algorithm to write a code on implicit euler method

and here is my attempt
function y = imp_euler(f,f_y,t0,T,y0,h,tol,N)
t = t0:h:T;
n = length(t);
y = zeros(n,1);
y(1) = y0;
for k = 1:n-1
g = @(z) z - y(k) - h*f(t(k+1),z);
gp = @(z) 1 - h*f_y(t(k+1),z) ;
y(k+1) = newton(f,f_y,y(k),tol,N);
end
end
where
function sol=newton(f,fp,x0,tol,N)
i=0;
sol = zeros(N,2);
fc=abs(f(x0));
while (fc>tol)
xc = x0 - (f(x0)/fp(x0));
fc=abs(f(xc));
x0 = xc;
i=i+1;
sol(i,:) = [i; x0];
if (i>N)
fprintf('Method failed after %d iterations. \n',N);
break
end
end
sol = sol(any(sol,2),:);
end
Unfortunately, my code does not work for some reason. Could anybody guide me on how to code this? Comments are appreciated.
댓글 수: 7
Torsten
2022년 5월 11일
You forgot to include the call to imp_euler.
Eugene Miller
2022년 5월 11일
Torsten
2022년 5월 11일
I mean: The code you provided doesn't work without the knowledge of f, fy, t0,T,y0,h,tol and N (I think n).
Eugene Miller
2022년 5월 11일
Torsten
2022년 5월 11일
How did you come the conclusion that the code does not work if you didn't test it ? Because for testing, inputs of the mentionned variables had to be provided.
Eugene Miller
2022년 5월 11일
Eugene Miller
2022년 5월 11일
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!