"Inputs must be floats, namely single or double"

2 vues (au cours des 30 derniers jours)
Noob
Noob le 13 Juin 2017
Modifié(e) : Noob le 19 Juin 2017
system of equations is:
F = @(t, r, y) [y(1), y(2), y(3), f_integral]
And then calling the ode solver:
[t, y] = ode45(F, [0 5], [1 1 1]).
  1 commentaire
Torsten
Torsten le 13 Juin 2017
Please show the differential equation you are trying to solve in a mathematical notation.
From the question you deleted meanwhile, it was not clear what you were trying to solve (at least for me).
Best wishes
Torsten.

Connectez-vous pour commenter.

Réponse acceptée

Torsten
Torsten le 13 Juin 2017
function main
tspan=[0 5];
y0=[1; 1; 1; 0];
[t,y]=ode45(@fun,tspan,y0)
function dy=fun(t,y)
dy=zeros(4,1);
dy(1)=y(1);
dy(2)=y(2);
dy(3)=y(3);
funint=@(r)(y(3)^2+y(4)^2)*r;
dy(4)=integral(funint,-1,1);
Best wishes
Torsten.
  1 commentaire
Torsten
Torsten le 13 Juin 2017
r is just a formal integration variable - it's not needed in the parameter list for "fun".
Best wishes
Torsten.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Numerical Integration and Differential Equations 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!

Translated by