我正在尝试求解一个微分方程,并使用2个计算值(在特定点)作为新微分方程的边界条件。一个例子:
sys1 = {p''[x] + p'[x] + p[x] == 0,p'[0] == 0,p'[1] ==0};
sol1 = NDsolve[sys1,p[x],{x,0,1}];
现在我想用解决方案sys2
中的边界条件来定义sol1
。我的意思是它应该是这样的:
sys2 = {3y''[x] + 7y'[x] - 6y[x] == 0,y[0.3] == p[0.3],y'[1] == p'[1]}
然后我们可以使用sys2
来解决NDSolve
。我没有找到任何有关如何从解决方案中提取这些值的线索。
非常感谢您的帮助。
答案 0 :(得分:1)
你可以这样做:
sol1 = NDSolve[sys1,p,{x,0,1}];
pfun=First[p/.sol1];
pfun[0.3]
pfun'[1]
InterpolatingFunction的文档中有一个示例用于实现此目的(http://reference.wolfram.com/language/ref/InterpolatingFunction.html)。