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

如何让SymPy对sin和cos相关项进行分组合并?

如何在SymPy中按sin(x)和cos(x)分组合并同类项?

直接使用SymPy的collect()函数即可实现按指定三角函数项分组并合并系数,这比通用的simplify()更针对性地满足你的需求:

  1. 先定义符号与目标表达式:
from sympy import symbols, cos, sin, collect

# 定义符号:a、b、y、m为常数(可含复杂表达式),x为变量
a, b, y, m, x = symbols('a b y m x')
expr = a*cos(x) + b*cos(x) + y*sin(x) + m*sin(x)
  1. 调用collect()指定分组项:
grouped_expr = collect(expr, [cos(x), sin(x)])
print(grouped_expr)

执行后会输出:

(a + b)*cos(x) + (m + y)*sin(x)

说明

collect()函数的核心作用就是将表达式中指定项的同类系数合并,不管a、b、y、m是简单常数还是复杂表达式,只要它们不包含变量x,就能正确完成分组合并。通用的simplify()函数因优化方向更宽泛,不一定会优先处理这类分组操作。

内容的提问来源于stack exchange,提问作者wiz21

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 02:03:11