我如何将 sympy 函数替换为 sympy 符号

How can i subs or replace a sympy function to a sympy symbol

我正在尝试将 sympy 函数 x(t) 替换为 sympy 符号 x。

应该是这样的:

替换前: 函数 0=t**2*sp.cos((x(t)/2))

替换后: 函数 1=t**2*sp.cos((x/2))

import sympy as sp
t = sp.Symbol('t')
x = sp.Function('x')
funcion=t**2*sp.cos((x(t)/2))

def replace(funcion):
   funcion1=funcion.subs(x(t), x)
   return funcion1

我知道那行不通,但也许它有助于理解我在说什么哈哈哈。 谢谢!!!

使用 SymPy 时,最好记住函数、符号和物理数字(如浮点数或整数)之间的差异。在这里,您希望将函数 x(在 t 处计算)替换为符号 x。如果您在任何时候都不确定,最好将变量的类型添加到它的名称中,就像我在下面所做的那样:

import sympy as sp
t, x_sym = sp.symbols('t x')
x_func = sp.Function('x')
function = t**2*sp.cos((x_func(t)/2))

def replace(funcion):
    function1 = funcion.subs(x_func(t), x_sym)
    return function1

print(replace(function))

它应该会给你想要的结果。