Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在sympy中默认设置**_Python_Latex_Settings_Sympy - Fatal编程技术网

Python 如何在sympy中默认设置**

Python 如何在sympy中默认设置**,python,latex,settings,sympy,Python,Latex,Settings,Sympy,我有一些方程式,我正在使用Symphy库打印这些方程式,更具体地说是下一行: print(sp.latex(equation)) 所以我想把方程中的“x”替换为“x”,为了达到这个目的,我做了如下: print(sp.latex(equation, symbol_names={x:"x'_a"})) 我的问题是:有没有办法在默认情况下设置symbol_names={x:“x''u a”},这样我就不必每次打印公式时都复制这一行。默认设置可以存储在由LatestPrinter创建的自定义打印机

我有一些方程式,我正在使用Symphy库打印这些方程式,更具体地说是下一行:

print(sp.latex(equation))
所以我想把方程中的“x”替换为“x”,为了达到这个目的,我做了如下:

print(sp.latex(equation, symbol_names={x:"x'_a"}))

我的问题是:有没有办法在默认情况下设置symbol_names={x:“x''u a”},这样我就不必每次打印公式时都复制这一行。

默认设置可以存储在由LatestPrinter创建的自定义打印机中。例如:

import sympy as sp
from sympy.printing.latex import LatexPrinter
x = sp.symbols('x')
myprinter = LatexPrinter({"symbol_names": {x: "x'_a"}})
现在您可以执行
myprinter.doprint(x**2)
并获得
“x''u a^{2}”
。。。顺便说一句,这是无效的,所以最好使用名称
{x:{x''u a}}

但实际上,定义打印功能可能更容易

def mylatex(expr):
    return sp.latex(expr, symbol_names={x: "{x'_a}"})
然后使用mylatex(x**2)