Info
La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.
Generate and solve differential equation? Please suggest some better way if you know.
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Hello everyone, I am working on a project and i have to deal with many of differential equations. I am able to generate those differential equations through MATLAB. But, the problem is TIME. It takes a lot of time. Hence I want to save these differential equations in my first run. Then call these differential equations when i need. This would save time in generating the differential equation each time I run my main file.
The variable "n" determines the number of differential equations.AS n Increases, the number of differential equation would be large.
Suppose n=3,there would be four equations generated.
Eqn =[(3*C(1)^2)/250 - (3*C(1)*C(2))/200;
(3*C(1)^2)/500 - (3*C(1)*C(2))/200;
(3*C(1)*C(2))/1000;
(3*C(1)*C(2))/250]
%Dimension 0f eqn
eqn=4 X 1 sym
%I have tried iT with a function
function [dCondT]=trail6(t,C)
load('diffeqn_n_3') %Saved eqn and loaded here
dCondT=sym(zeros(length(Diff_eqns_of_molecules),1))
for n=1:length(Diff_eqns_of_molecules)
dCondT(n)=[Diff_eqns_of_molecules(n)]
end
end
% then tried solving it with ODE45
ERROR-"Inputs must be floats, namely single or double.
Can anyone help ?
6 comentarios
Respuestas (2)
madhan ravi
el 30 de Dic. de 2018
As John D'Errico says you may want to use odetovectorfield() and matlabFunction() to convert your symbolic odes to numeric odes.
2 comentarios
Walter Roberson
el 30 de Dic. de 2018
You are trying to use ode45 with symbolic equations, which is not possible. See odeToVectorField and odeFunction for routines to convert symbolic differential equations for use with the numeric ode* routines.
2 comentarios
Walter Roberson
el 30 de Dic. de 2018
Symbolic expressions are in a language which is not exactly MATLAB. When you eval() a symbolic expression you can get errors -- or even worse, you might not get an error but might encounter a subtle difference. There are some functions for which the parameters mean different things for the numeric function compared to the symbolic function (such as the parameters being in a different order.)
La pregunta está cerrada.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!