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

 채택된 답변

Oriol Brasco
Oriol Brasco 2019년 7월 9일

0 개 추천

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

댓글 수: 4

neda m
neda m 2019년 7월 9일
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 2019년 7월 9일
See this documentation about anonymous functions.
neda m
neda m 2019년 7월 9일
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 2019년 7월 9일
Could you give some information about the function? How the function is defined? Could you print the function to be solved?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Programming에 대해 자세히 알아보기

질문:

2019년 7월 9일

댓글:

2019년 7월 9일

Community Treasure Hunt

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

Start Hunting!

Translated by