MATLAB Answers

Ode45 solves an equation that containing a definite integral term

1 view (last 30 days)
Xuan Ling Zhang
Xuan Ling Zhang on 6 Sep 2019
Commented: 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

Xuan Ling Zhang
Xuan Ling Zhang on 7 Sep 2019
Thank you for the concern. It is a superscript (') just looks like (t), due to the display problem.

Sign in to comment.

Answers (1)

Torsten
Torsten on 6 Sep 2019
Edited: 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

Sign in to comment.

Sign in to answer this question.