Solving laser Rate Equation using ode 45

Hey! I am kinda new to Matlab and I am currently doing my Project on Semiconductor lasers. I am currently trying to model the rate equations for semiconductor lasers. I have wrote a code but it shows some errors. I have been stuck on this issue for quite some time and it seems that I have done something wrong with ode45. Any type of help is greatly appreciated.
clear
clc
e=1.6e-19;
tr=1e-9;
Ntr=2e7;
g0=4.7e4;
tp=5e-12;
beta=1e-4;
eta=1;
dt=1e-12;
tend=10e-9;
T=0:dt:tend;
N(1)=0;
S(1)=0;
I=7e-3;
for t=1:length(T)-1
N(t+1)=dt*(eta*I/e-N(t)/tr-g0*(N(t)-Ntr)*S(t))+N(t);
S(t+1)=dt*(g0*(N(t)-Ntr)*S(t)-S(t)/tp+beta*N(t)/tr)+S(t);
end
[T,Y] = ODE45(@rate_equation,Y0,T,Y);
subplot 211
plot(T*tr,Y(:,1)*S)
subplot 212
plot(T*tr,Y(:,2)*N)
function dY = rate_eq(T,Y,Y0)
end

 Respuesta aceptada

Oriol Brasco
Oriol Brasco el 9 de Jul. de 2019

0 votos

Try using the following documentation:
Could you print where you define @rate_equation

4 comentarios

neda m
neda m el 9 de Jul. de 2019
thank you for the documentation.
I think I have not defined @rate_equation. could you please tell me how to define that?
Oriol Brasco
Oriol Brasco el 9 de Jul. de 2019
See this documentation about anonymous functions.
neda m
neda m el 9 de Jul. de 2019
I'm so sorry, I read the documentation but still don't know how to define @rate_equation in my code.
Oriol Brasco
Oriol Brasco el 9 de Jul. de 2019
Could you give some information about the function? How the function is defined? Could you print the function to be solved?

Iniciar sesión para comentar.

Más respuestas (0)

Preguntada:

el 9 de Jul. de 2019

Comentada:

el 9 de Jul. de 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by