solving many linear differential equations through ODE solver.
1 次查看(过去 30 天)
显示 更早的评论
I am not sure whether my approach is good or not, because my simulation takes ENORMOUS amount of time in execution.
I have a general form of differential equations , which contain summation signs, and it is suumed over i,j. When i,j varies, the number of variables in the differential equations also changed. Index i and j are related with a relation.That means the number of variable are also dependent on i & j .So, here is what i am planning
syms H(i,j) % generalized variable
% Storing the varaibles
n=10 %number of variables (This would change)
for i=1:n
for j=1:n
if i+j==... && i/2==...
T(i,j)=H(i,j) % Store the variable
end
end
%% Now i am using T as variable, and using 4 "for loops" to form the differential equations.
% Then solve it through ODE .
The code is working for small value of "n". But it takes 3 days when n=50. And runs out of memory when n=60. How can i optimize my code and avoid syms ? I can observe, that the major problem is in creating the equations.Am i doing wrong in creating the variables like this ? Is there any way to overcome this ?
0 个评论
采纳的回答
Torsten
2019-1-7
Don't use symbolic variables together with "many" differential equations.
Use a numerical ODE integrator instead (e.g. ODE15S).
11 个评论
Torsten
2019-1-16
You didn't write the differential equations for P and P1.
These have to be inserted in the lines
dP = ?
dPn(1) = ?
Further, "kp" has to be specified at the beginning of the function.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Ordinary Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!