How to call differential equations inside function, and solve it ?
Show older comments
I am having a code, which has symbolic variables. First,I am creating a system of coupleld differential equations through loop and then applying ODE15S to solve it. The equations are(one of the case)
function dCdT =solveode(t,C,A,T,L.......)
dCdt=zeros(6,1);
dCdT(1)=-C(1)*((3*A)/500 + (3*L)/1000 + (3*T)/500);
dCdT(2)=(3*C(1)^2)/500 - C(2)*((9*A)/1000 + (3*L)/1000 + (3*T)/500);
dCdT(3)=(3*C(1)*C(2))/1000 - C(3)*((3*A)/250 + (3*L)/1000 + (3*T)/500);
dCdT(4)=(3*C(2)^2)/1000 - C(4)*((3*A)/250 + (3*L)/1000 + (3*T)/500) + (9*C(1)*C(3))/500 + (3*C(1)*C(4))/500;
dCdT(5)=(3*C(1)*C(2))/250;
dCdT(6)=(3*C(2)^2)/500;
end
But these i have written manually. But i want to call them through a loop inside the function. I am trying to do this because, these set of differential equations would vary according to some other variable. Can some one suggest how to acheive this ?
3 Comments
Walter Roberson
on 9 Jan 2019
Have a look at matlabFunction() and at odeFunction()
P K
on 9 Jan 2019
madhan ravi
on 11 Jan 2019
ok it's good that you have asked a new question but there is no need to close this question, leave it open.
Answers (1)
madhan ravi
on 9 Jan 2019
Edited: madhan ravi
on 9 Jan 2019
for A=A
ode45(...) so A changes in every iteration likewise vary the other parameters too
end
3 Comments
P K
on 9 Jan 2019
madhan ravi
on 9 Jan 2019
See https://www.mathworks.com/matlabcentral/answers/436035-function-with-different-parameters#answer_352662 the parameter e changes in each iteration likewise you can adapt it here for instance A , L or whatever.
P K
on 11 Jan 2019
Categories
Find more on Ordinary Differential Equations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!