📄 dot.m
字号:
%filename:dot.m
function varargout=dot(t,x,flag,pos_text,tspan,init_x0)
switch flag
case ''
varargout{1}=f(t,x);
case 'init'
[varargout{1:3}]=f_init(tspan,init_x0);
case 'events'
[varargout{1:3}]=f_events(t,x,tspan,pos_text);
otherwise
error ([' Unknown flag' ' 'flag' '.' ])
end
function xdot=f(t,x)
a=-exp(-t)+cos(2*pi*t).*exp(-2*t);
b=cos(2*pi*t);
xdot=[x(2);-a.*x(2).^2-b.*x(1)+exp(t).*cos(2*pi*t)];
function [tspan,x0,options]=f_init(tspan,init_x0)
tspan =tspan;
x0=init_x0;
options=odeset('reltol',1e-4,'abstol',1e-6,'events','on',...
'outputfcn','odeplot','outputsel',[1,2]);
function [value,isterminal,direction]=f_events(t,x,tspan,pos_text)
ef1=t-tspan(pos_text(1));
ef2=t-tspan(pos_text(2));
value=[ef1;ef2];
direction=[0;0];
isterminal=[0;0];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -