(已更新全部错误)用​ode45解微分方程​组报错Error in ode。

5 次查看(过去 30 天)
N/A
N/A 2022-11-23
现在已把错误的完整版更新了:
如题,
用ode45解微分方程组报了如下错:
Subscript indices must either be real positive integers or logicals.
Error in pwing (line 48)
p1(a)=-mW*xa*b*(n100*y(2)+n200*y(2)^3)/d;
Error in odearguments (line 88)
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ode45 (line 114)
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...
Error in pwingpics (line 16)
[t,y]=ode45('pwing',[t0,tfinal],x0);
我来说下报错的那p1(a)的表达式,这个表达式没敲错阿,里面的每一个参数都是定义了的诶。
然后最后个错误说是ode45解的地方,这个之前简化版的方程组也是这种形式的,没出现问题。
之前还正常解过比较简单的方程组(6个)。
这次与解上次简单的方程组区别就只有:之前直接给的参数值,这的很多参数都是函数表达式经四则运算后的。
应该差别不大吧
希望有大神帮忙。我估计还是我的p1(a)那一块是不是出现了0或者负值了,不过怎么检验呢。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 常微分方程 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!