solving non linear differential equations

I am working at a mathematical problem and I wanted to solve it numerically through MATLAB. The equation has the form:
epsilon*y'(t) =t*y(t)(y(t)-a)(y(t)-b)+c
where a<0 and b>0 and c>0

 Risposta accettata

Torsten
Torsten il 7 Feb 2019
Modificato: Torsten il 7 Feb 2019
a = -0.2;
b = 0.1;
c = 0.1;
epsilon = 1.0;
fun = @(t,y)(t*y*(y-a)*(y-b)+c)/epsilon;
tspan = [0 3.5];
y0 = 0;
[T,Y] = ode45(fun,tspan,y0);
plot(T,Y)

4 Commenti

Thank you for your help, but are you sure for you answer, could you explain more the method of your work, please.
Take a look at how ODE integrators are invoked:
help ode45
Would you change this algorithm to Runge Kutta algorithm, pleas?!
a = -0.2;
b = 0.1;
c = 0.1;
epsilon = 1.0;
fun = @(t,y)(t*y*(y-a)*(y-b)+c)/epsilon;
tspan = [0 3.5];
y0 = 0;
[T,Y] = ode45(fun,tspan,y0);
plot(T,Y)
ODE45 is a Runge-Kutta integrator ...

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Numerical Integration and Differential Equations in Centro assistenza e File Exchange

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by