我正在尝试指定微分方程的边界条件。
# *y"= 900(y - 1 + 2x) ; y(0)=5, y(2)=10*
from sympy import *
x=symbols('x')
y, g = symbols('y g', cls=Function)
diffeq = (Eq(y(x).diff(x, x) - 900*y(x) + 900, 1800*x),y(0):5,y(2)=10)
A=dsolve(diffeq, y(x))
print A
Run Code Online (Sandbox Code Playgroud)
但它显示错误
diffeq = (Eq(y(x).diff(x, x) - 900*y(x) + 900, 1800*x),y(0):5,y(2)=10)
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
请帮忙。
dsolve边界条件通过命名参数作为字典传递ics。
因此:
\n\nfrom sympy import *\nx=symbols(\'x\')\nf=symbols(\'f\', cls=Function)\ndsolve(Eq(f(x).diff(x,x), 900*(f(x)-1+2*x)), f(x), ics={f(0):5, f(2):10})\nRun Code Online (Sandbox Code Playgroud)\n\n您可以将最后一行粘贴到sympy live以验证它是否有效。答案是:
\n\nf(x) = C1*e^\xe2\x88\x9230x + C2*e^30x \xe2\x88\x92 2x + 1
\n| 归档时间: |
|
| 查看次数: |
6467 次 |
| 最近记录: |