"Inputs must be floats, namely single or double"
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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
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.
Réponse acceptée
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
le 13 Juin 2017
r is just a formal integration variable - it's not needed in the parameter list for "fun".
Best wishes
Torsten.
Plus de réponses (0)
Voir également
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!