查看ode45帮助文档,你在使用ode45函数时错误
[t,y] = ode45(odefun,tspan,y0)
[t,y] = ode45(odefun,tspan,y0,options)
个人改正如下,希望有所帮助,并出图如下
主函数
clc
clear
close all
y0=[0;1;0;0;0];
tspan=[0 0.2];
tic
[t,y] = ode45(@rate_eq,tspan,y0);
toc
plot(t,y(:,2))
xlabel('时间(s)');
ylabel('光子数密度(3^{-3})');
调用函数
function dy = rate_eq(t,y)
T0=0.7;
N_T=9.88e25;
d=0.002;
P_in=80;
R=0.8;
sigma = 8e-25; %铒离子受激发射截面
sigma_y=1.165e-24; %镱离子的吸收截面
sigma_g = 3.5e-23; %调Q晶体基态吸收截面
sigma_e = 1e-24; %调Q晶体激发态吸收截面
tau_e = 8e-3; %铒离子上能级寿命
tau_y = 1e-3; %镱离子上能级寿命
tau_a= 3.4e-7; %调Q晶体激发态寿命
k1=5e-22;