Hi everybody,(adsbygoogle = window.adsbygoogle || []).push({});

I am trying to solve laser rate equations with MATLAB using ODE23/45. For that I have to write the derivative terms always on the left hand side. This creates a lot of redundant variables in the function. Here is a part of the code:

dy(1) = I/(q*V) - y(1)/Tau_n - y(4)*y(2);

% derivative of the no. of carriers, N(t)

dy(2) = (y(4)-1/Tau_p+log(100)/Tau_D) * y(2) + R_sp;

% derivative of the no. of photons, S(t)

dy(3) = (alpha/2)*3.2e3*(y(1)-N_th) + 20/Tau_D;

% derivative of the optical phase, phy(t)

dy(4) = y(5)*(-Kappa*y(6))+(1-Kappa*y(2))*y(7);

% derivative of g(N,S)

dy(5) = 3.2e3 * y(7);

% derivative of g(N)

dy(2) = y(6);

dy(1) = y(7);

Because of y(6) and y(7), I have to define initial values for them as well, for instance y(6) = y(7) = 1. This is now making problems for y(1) and y(2) since they are changing in each iteration, but because of the constant values of y(6) = y(7) = 1, MATLAB considers y(1) = y(2) = 1. Obviously, I do not want this to happen. I cannot write the dy(2) and dy(1) terms on the right hand side, since it is not allowed by MATLAB. Any suggestions to overcome this problem would be welcome. Thanks :)

**Physics Forums - The Fusion of Science and Community**

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# Substitutions with ODE23/45 in MATLAB

Loading...

Similar Threads - Substitutions ODE23 MATLAB | Date |
---|---|

Using Gambit or a substitute for use with Fluent. | Nov 28, 2012 |

How to make a substitution-based equation solver? | Aug 3, 2012 |

Mathematica: Substituting in for integrand | Mar 15, 2012 |

Substitution in Mathematica | Nov 21, 2011 |

Options when using the ode23/45 solver | Jun 18, 2011 |

**Physics Forums - The Fusion of Science and Community**