MATLAB Answers

0

Ode45 solves an equation that containing a definite integral term

Asked by Xuan Ling Zhang on 6 Sep 2019
Latest activity Commented on by Xuan Ling Zhang on 7 Sep 2019
Hi, i have a problem on the following equation when solved by Ode45, which contains a definite integral term. I dont know how to transform it so that it can be solved by ode45.
Eq.gif
can someone help me ?
Thank you in advance

  2 Comments

Is ‘y’ a function of x or t?
Thank you for the concern. It is a superscript (') just looks like (t), due to the display problem.

Sign in to comment.

1 Answer

Answer by Torsten
on 6 Sep 2019
Edited by Torsten
on 6 Sep 2019

function main
a = ...;
b = ...;
c = ...;
d = ...;
u0 = 1;
usol = fzero(@(u)fun(u,a,b,c,d),u0);
fun_ode = @(t,y)[y(2);y(3);y(4);-usol*y(3)-y(1)^2];
y0 = [a;b;c;d];
tspan = [0 1];
[T,Y] = ode45(fun_ode,tspan,y0);
plot(T,Y)
end
function res = fun(u,a,b,c,d)
fun_ode = @(t,y)[y(2);y(3);y(4);-u*y(3)-y(1)^2;y(2)^2];
y0 = [a;b;c;d;0];
tspan = [0 1];
[T,Y] = ode45(fun_ode,tspan,y0);
res = Y(end,5)-u;
end

  1 Comment

Dear Torsten,
Thank you for your valuable answer!!!

Sign in to comment.