Я искал документы, но я застрял: SymPy, кажется, принимает переменную «x», даже когда я только объявлял «t» и «y (t)». Я попросил его дать мне ряд для у (т), и это то, что я получаю ...SymPy: серия Тейлора с использованием переменной, отличной от x?
>>> from sympy import *
>>> var('t')
t
>>> y = Function("y")
>>> s = y(t).series(t, 0, 4)
>>> pprint(s)
⎛ 2 ⎞│ ⎛ 3 ⎞│
2 ⎜ d ⎟│ 3 ⎜ d ⎟│
t ⋅⎜───(y(x))⎟│ t ⋅⎜───(y(x))⎟│
⎜ 2 ⎟│ ⎜ 3 ⎟│
⎛d ⎞│ ⎝dx ⎠│x=0 ⎝dx ⎠│x=0 ⎛ 4⎞
y(0) + t⋅⎜──(y(x))⎟│ + ────────────────── + ────────────────── + O⎝t ⎠
⎝dx ⎠│x=0 2 6
Как получить ряд Тейлора с д/дт это вместо д/дх, и у (t) вместо y (x)?
(кстати, пытаясь заменить т на х не работает, потому что х даже не определено, так что вы получите сообщение об ошибке)
EDIT: Для уточнения, это то, что я хочу:
>>> pprint(s)
⎛ 2 ⎞│ ⎛ 3 ⎞│
2 ⎜ d ⎟│ 3 ⎜ d ⎟│
t ⋅⎜───(y(t))⎟│ t ⋅⎜───(y(t))⎟│
⎜ 2 ⎟│ ⎜ 3 ⎟│
⎛d ⎞│ ⎝dt ⎠│t=0 ⎝dt ⎠│t=0 ⎛ 4⎞
y(0) + t⋅⎜──(y(t))⎟│ + ────────────────── + ────────────────── + O⎝t ⎠
⎝dt ⎠│t=0 2 6
или даже
>>> pprint(s)
⎛ 2 ⎞│ ⎛ 3 ⎞│
2 ⎜ d ⎟│ 3 ⎜ d ⎟│
h ⋅⎜───(y(t))⎟│ h ⋅⎜───(y(t))⎟│
⎜ 2 ⎟│ ⎜ 3 ⎟│
⎛d ⎞│ ⎝dt ⎠│t=0 ⎝dt ⎠│t=0 ⎛ 4⎞
y(0) + h⋅⎜──(y(t))⎟│ + ────────────────── + ────────────────── + O⎝h ⎠
⎝dt ⎠│t=0 2 6
ВЫГЛЯДИТ нормальный для меня. 'T' и' x' семантически различны, и они действительно * не должны рассматриваться как одна и та же переменная. – user2357112
нет 'x' в любом месте. он волшебным образом появляется на выходе, незаметно. – sh37211