You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 23:05:31