首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >诺依曼边界条件的scipy.integrate.solve_bvp?

诺依曼边界条件的scipy.integrate.solve_bvp?
EN

Stack Overflow用户
提问于 2019-12-09 05:42:02
回答 1查看 799关注 0票数 1

问题是罐头上写的是什么。我正在尝试用数值方法解决一个边值问题,我的朋友问我,求解器是否适用于这些条件。求解器的页面没有给出我们拥有的条件,即bc(y(a),y(b), p) = 0,但是我们问题的形式是y(0) = some constant valuey'(b) = 0,给出了我们的Neumann条件,你需要重写函数来有一个像打靶法一样的一阶降阶吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-09 06:12:39

我想你是在解一些二阶常微分方程

代码语言:javascript
运行
复制
y''(t) = F(t,y(t), y'(t))

对于一阶系统,使用状态向量u = [y, v] = [y, y']。则调用BVP求解器的最小值为

代码语言:javascript
运行
复制
def ode(t,u): y,v = u; return [v, F(t,y,v)];
def bc(u0, ub): return [u0[0]-y0, ub[1]];

y0 = someconstantvalue;

t_init = [0,b];
u_init = [[y0, y0], [0, 0]];
res = solve_bvp(ode, bc, t_init, u_init)

始终检查res.success,或者至少打印出res.message。你可能需要一个更好的初始猜测,对于非线性问题,不同的初始猜测可以给出不同的解决方案。res.sol包含作为插值函数的解,要生成曲线图,最好使用此函数,而不是在res.xres.y中使用内部步骤的稀疏集合

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59240158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档