How to make graph that plot between Analytical Solution (Exact Solution) and Numerical Method Solution?
12 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Yusuf Arya Yudanto
le 5 Mar 2022
Commenté : Yusuf Arya Yudanto
le 6 Mar 2022
Greetings!
Can someone help to guide me how to make graph that plot between Analytical Solution (Exact Solution) and Adams-Moulton Solution? Here I attached my script.
%% 2nd-order Adams-Moulton Solution
fun = @(t,y) ((1+4*t)*((y)^1/2));
y0 = 1;
tspan = [0,1];
N = 4;
%% Initial Values
h = (tspan(2) - tspan(1))/N;
exactY = @(t) (((3*t)/2)+3*t.^2).^(2/3);
t1 = tspan(1) + h; y1 = exactY(t1);
t2 = tspan(1) + 2*h; y2 = exactY(t2);
[t2,Y2] = AM2(fun,tspan,y0,y1,N);
%% Display Solution
Y = exactY(t2);
disp('-----------------------------');
disp('t_i y(t_i) AM2 Error')
disp('-----------------------------');
formatSpec = '%.2f %.5f %.5f %.5f\n';
fprintf(formatSpec,[t2';Y';Y2';abs(Y'-Y2')])
I really appreciate any help you can provide. Thank you.
4 commentaires
Torsten
le 5 Mar 2022
fun = @(t,y) (1+4*t)*sqrt(y);
y0 = 1;
tspan = [0,1];
N = 4;
%% Initial Values
h = (tspan(2) - tspan(1))/N;
exactY = @(t)(t/2 + t.^2 + 1).^2;
t1 = tspan(1) + h; y1 = exactY(t1);
[T,Ynum] = AM2(fun,tspan,y0,y1,N);
%% Display Solution
Yexact = exactY(T);
plot(T,[Ynum,Yexact])
function [t,y] = AM2(fun,tspan,y0,y1,N)
a = tspan(1);
b = tspan(2);
h = (b-a)/N;
t = zeros(N+1,1);
y = zeros(N+1,1);
t(1) = a; y(1) = y0;
t(2) = a+h; y(2) = y1;
for i = 2:N
t(i+1) = t(i) + h;
Fi = fun(t(i),y(i));
Fi1 = fun(t(i-1),y(i-1));
funh = @(yh) yh - y(i) - h/12*(5*fun(t(i+1),yh) + 8*Fi - Fi1);
y(i+1) = fsolve(funh,y(i));
end
end
Réponse acceptée
Alan Stevens
le 5 Mar 2022
After Y = exactY(t2) you probably need something like:
plot(t2,Y2,t2,Y)
legend('AM','Exact')
However, you haven't supplied the code for your AM function, so I can't check!
6 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Creating, Deleting, and Querying Graphics Objects dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
