使用 Sympy 获取单个向量基的标量

Geting the scalars of one single vector basis using Sympy

我是 sympy 库的新手,我有一个相对简单的问题。我正在写一个 3D 矢量如下

from sympy.vector import CoordSys3D
N = CoordSys3D('N')
v = 1*N.i + 4*N.j + 5*N.k

我想从其中一个基础访问标量,例如:

命令v[0] = 1或v[1] = 4.

可以使用 Sympy 吗?

您可以使用dot提取组件:

In [57]: from sympy.vector import CoordSys3D, dot
    ...: N = CoordSys3D('N')
    ...: v = 1*N.i + 4*N.j + 5*N.k

In [58]: v
Out[58]: i_N + (4) j_N + (5) k_N

In [59]: dot(v, N.j)
Out[59]: 4