dot.m

来自「该文件主要包括了matlab的一些主要应用例程!对学习matlab很有帮助」· M 代码 · 共 32 行

M
32
字号
%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 + =
减小字号Ctrl + -
显示快捷键?