如何在Matlab中设置ode函数
对于我来说,不清楚如何使用ode45 For matlab。我有一个向量u。 有人知道这个错误是什么吗如何在Matlab中设置ode函数,matlab,integration,Matlab,Integration,对于我来说,不清楚如何使用ode45 For matlab。我有一个向量u。 有人知道这个错误是什么吗 function [v, t, d] x =deep(l) x = max(u(:,1)); v = u; t = 1; d = 1; 但是当我打电话给你的时候 ode45(@odefun, [0 85], [0 0], options) 我得到这个错误: eventValue = feval(eventFcn,t0,y0,eventArgs{:}); Error in ode45 (
function [v, t, d] x =deep(l)
x = max(u(:,1));
v = u;
t = 1;
d = 1;
但是当我打电话给你的时候
ode45(@odefun, [0 85], [0 0], options)
我得到这个错误:
eventValue = feval(eventFcn,t0,y0,eventArgs{:});
Error in ode45 (line 148)
odeevents(FcnHandlesUsed,odeFcn,t0,y0,options,varargin); ```
您的文本和代码中存在一些不一致之处
function [v, t, d] x =deep(l)
x = max(u(:,1));
v = u;
t = 1;
d = 1;
函数定义中的向量u
在哪里
ode45
功能集成了以下类型的功能:
y'=f(t,y)
应传递给ode45的函数应具有两个参数,并应返回一个输出:
- 输入独立参数
。该函数集成在值t
和t=t0
之间李>t=tf
- 输入
,因变量的向量y
- 输出
,带有因变量导数的向量dy
ode45
函数时:
ode45(@odefun,[0 85],[0 0],选项)
odefun
,MATLAB应该在那里抛出一个错误
您必须更改deep
函数和ode45
调用才能使其工作:
dy = deep(t,y)
dy = ? <- define it
那个错误是不完整的,你能告诉我们完整的错误吗?我想我忘了把向量放进去。给出了该函数。我必须改变ode45在第一个低点后停止计算的函数函数x=deep(l)[t,u]=ode45(@b[091],[00l]);x=最大值(u(:,1));`但对我来说,我不清楚我应该如何改变这个函数,在第一个低点之后,计算,停止。
dy = deep(t,y)
dy = ? <- define it
ode45(@deep,tspan,y0)