对于一个项目,我需要了解 matlab 代码,但由于我是新手,我并不真正了解发生了什么。我有一个函数文件和一个脚本文件。
功能:
function dxdt = sniffer_ode(t,x,par,tu)
X = x(1);
R = x(2);
k1 = par(1);
k2 = par(2);
k3 = par(3);
k4 = par(4);
S = interp1(tu(:,1),tu(:,2),t);
dxdt(1) = k3*S-k4*X;
dxdt(2) = k1*S-k2*X*R;
dxdt = dxdt(:); %dxdt should be column
和脚本文件:
%sniffer
close all
%initial conditions:
X0=0; R0=0;
x0=[X0 R0];
%parameters:
k1=1; k2=1; k3=1; k4=1;
par=[k1 k2 k3 k4];
%input:
tu=[ 0 , 0
1 , 0
1.01, 1
20 , 1];
[t,x] = ode45(@sniffer_ode,[0 20],x0, [],par,tu);
plot(t,x);
所以问题是:发生了什么?我还需要将 S 绘制在与 X 和 R 相同的图中。我该怎么做?
我感谢您的帮助!