使用SymPy求解向量点积(2a+5b)(3a-2b)的计算问题
用SymPy计算向量点积的完整步骤
步骤说明
已知向量模长|a|=3,|b|=4,夹角φ=2π/3,计算(2a+5b)·(3a-2b)的核心是先展开点积表达式,再代入向量点积的特性(a·a=|a|²,a·b=|a||b|cosφ)。
完整代码示例
import sympy as sp # 定义代表向量a、b的符号变量 x, y = sp.symbols('x y') # 展开点积的代数表达式 expanded_expr = sp.expand((2*x + 5*y)*(3*x - 2*y)) # 代入向量点积的实际值计算 result = expanded_expr.subs({ x**2: 3**2, x*y: 3 * 4 * sp.cos(2*sp.pi/3), y**2: 4**2 }).evalf() print(result) # 输出结果:-172.000000000000
关键细节
sp.expand()会把表达式展开为6x² + 11xy - 10y²,对应点积展开后的形式;subs()参数里的字典是核心:x**2替换为|a|²=9;x*y替换为向量点积的计算结果:3×4×cos(2π/3)=-6;y**2替换为|b|²=16;
evalf()用于将符号表达式转换为数值结果。
内容的提问来源于stack exchange,提问作者RBRay3601
相关产品推荐
相关产品推荐

