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

SageMath中求解方程4x+21=5在不同数域的解集及问题求助

在SageMath中针对特定数域求解方程4x + 21 = 5的方法

你用find_root没得到预期结果的原因是:find_root用于在指定连续区间内查找数值近似根,而方程的解x=-4不在你设定的[1, ∞)区间内,且该函数不处理离散数域(如自然数、整数)的约束性求解。下面是针对不同数域的正确求解方法:

1. 自然数集(N)下的解

自然数集通常定义为非负整数(或正整数,依场景调整),解方程得x=-4,显然不属于自然数集,因此无解。在SageMath中可通过添加约束验证:

x = var('x')
# 假设x是非负整数(若自然数定义为正整数则改为x >= 1)
assume(x, 'integer')
assume(x >= 0)
solutions = solve(4*x + 21 == 5, x, solution_dict=True)
print(solutions)  # 输出空列表[],表示无解

2. 整数集(Z)下的解

方程的精确解x=-4是整数,直接添加整数约束求解即可:

x = var('x')
assume(x, 'integer')
solutions = solve(4*x + 21 == 5, x, solution_dict=True)
print(solutions)  # 输出[{x: -4}]

3. 有理数集(Q)下的解

有理数集包含所有整数及分数,此方程的解x=-4属于有理数集,直接求解无需额外约束:

x = var('x')
solutions = solve(4*x + 21 == 5, x, solution_dict=True)
print(solutions)  # 输出[{x: -4}]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 06:30:59