solving many linear differential equations through ODE solver.
    1 visualizzazione (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
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 Commenti
Risposta accettata
  Torsten
      
      
 il 7 Gen 2019
        Don't use symbolic variables together with "many" differential equations.
Use a numerical ODE integrator instead (e.g. ODE15S).
11 Commenti
  Torsten
      
      
 il 16 Gen 2019
				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.
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Ordinary Differential Equations in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!