trying to use heun's method to solve an ode
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am trying for days to solve an ode using heun's method for a project but i always keep getting an error message!!!this is what I tried :
f = @(t,y)(m*yn' + c*yn + k*yo - F0*sin(w*t));
a = 0;
b = 10;
n = 100;
h = (b-a)/n;
T = a:h:b;
F0 = 0;
w = 0;
m = 4;
k = 10;
c = 0.2;
y0 = 4;
[t,y] = myHeun(y0,a,b,f,n);
plot(t,y,'k')
5 commentaires
Réponse acceptée
VBBV
le 27 Jan 2022
Modifié(e) : VBBV
le 27 Jan 2022
a = 0;
b = 10;
n = 100;
h = (b-a)/n;
% T = a:h:b;
F0 = 0;
w = 0;
m = 4;
k = 10;
c = 0.2;
y0 = 4;
h=(b-a)/n; %h=(b-a)/n
t=a:h:b;
u=y0*ones(1,n+1);
f = @(t,y)(m*y + c*y + k*y0 - F0*sin(w*t));%initial condition
for i=1:n-1
fi=feval(f,t(i),u(i)); %evaluation of f at t_i, u_i
u0=u(i)+h*fi; %application of Euler method to obtain u_{i+1}^0
u(i+1)=u(i)+h*(fi+feval(f,t(i+1),u0))/2; %application of Heun method
end
plot(t,u,'k')
8 commentaires
Torsten
le 27 Jan 2022
You wrote you want to learn Matlab, and this is fine.
But since you got your problems as exercises for your homework, you should be able to state them properly.
And everybody in the forum is willing to help if you show that you spent some effort to solve the problem on your own. But did you really spend this effort ? Since the Heun program can't be written on your own if you don't know how to use it.
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!