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

如何求解np.poly1d等于指定参数a时的所有复数解

解决方法

你要解的等式 5x² + 2x + 1 = a 可以直接移项等价为 (5x² + 2x + 1) - a = 0,利用numpy.poly1d支持直接和标量做算术运算的特性,不需要手动修改原多项式的系数,直接构造目标多项式后调用求根方法即可。

代码实现

import numpy as np

# 你已经预先定义的原多项式
original_poly = np.poly1d([5, 2, 1])

def get_complex_roots(a):
    # 构造等式左侧的多项式:原多项式 - a
    target_poly = original_poly - a
    # 直接获取所有复数解
    return target_poly.roots

效果验证

  • 传入a = 1时,返回结果为[ 0. +0.j, -0.4+0.j],代入原等式验证成立
  • 传入a = 0时,返回结果为[-0.2+0.4j, -0.2-0.4j],是符合预期的共轭复数根

补充说明:np.poly1d和标量加减时,只会修改多项式的常数项,刚好匹配我们移项后的计算需求,不需要额外处理系数列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:15:05