如何为向量创建一个同情方程?

时间:2015-04-21 23:55:19

标签: vector ipython-notebook symbols equation sympy

我试图显示矢量方程的两边。

我能够display()等式的rhs,但我无法使用向量定义等式sympy.Eq(symbols("F_T"), F_Tx*N.x + F_Ty*N.y + F_Tz*N.z)。理想情况下,我希望F_T为自己的符号(用于其他方程式),但创建一个向量可以修改#34;符号"到" Vector"。

因此我无法打印所需的完整等式(就像教科书一样)。我愿意在LaTeX中打印,但我不确定如何将我的同情表达与创建的LaTeX结合起来。感谢任何帮助,谢谢!

Current

我希望能够精美打印:F_T = F_Tx*N.x + F_Ty*N.y + F_Tz*N.z

2 个答案:

答案 0 :(得分:0)

尝试创建要显示的相等性:eq = Eq(F_T, F_Tx*N.x ...)。使用等号分隔相等的lhs和rhs的等号。

答案 1 :(得分:0)

我一直想知道如何做同样的事情。以下提示不是完美的解决方案,但可能对某些人有用。

Marshal.PtrToStringUni()

此功能可让您快速创建带有未解析符号成分的向量,如下所示:

string

现在,如果尝试在Jupyter中进行渲染,则会得到丑陋的组件表示形式:

enter image description here

但是,如果您准备要有点hacky,则可以解决此问题。零向量在内部将自己的乳胶表示形式存储为self._latex_form。乳胶 打印机通过检查expr == expr.zero来确定向量是否为零向量。 我们可以滥用这些信息并诱使乳胶打印机打印出更好的表示形式:

IntPtr

我们为此获得了更漂亮的表示形式

enter image description here

诚然,这可能会弄坏事情,并使您感到肮脏。但这可能会帮助某人。