MathTop

fsolve 函数

数值求解单变量多项式表达式或方程的实根。

语法

  • fsolve(equation)
  • fsolve(equation, x)
  • fsolve(equation, x = a..b)
  • fsolve(equation, x = initial)
  • fsolve(equation, x, a..b, digits = n)
  • fsolve(equation, x, complex)
  • fsolve(equation, x, maxsols = n)

参数与选项

expr要求零点的表达式,或带 = 的方程。
var变量名称。
interval / initial有限且递增的实数区间,或有限初值。非多项式单方程必须提供其中一个。包含区间端点。
digits工作精度 1 至 100,默认 15。明确指定 digits 时保留显示根的高精度,JSON 数值字段仍为普通双精度。
absftol / epsilon有限正数残差/迭代容限,默认 1e-10 和 10^(-digits)。每个报告的候选根均检查方程残差和原定义域。
method / maxsteps / maxsolsmethod 支持 auto、nroots、bisect、newton、secant;不支持专用外部方法。maxsteps 为 1 至 500,默认 200;maxsols 为 1 至 1000,默认 100。多项式次数限制为 100。
complex布尔值,默认 false。支持复多项式根或复初值,不支持复搜索矩形。

示例

  1. 数值根fsolve(x^2 - 4 = 0, x)返回 [-2.0, 2.0]。
  2. 别名写法numeric_solve(x^3 - x, x)返回 [-1.0, 0.0, 1.0]。
  3. 非多项式数值根fsolve(cos(x)=x, x=0..1)近似为 0.7390851332151607;这是经过检查的候选根,不代表所有解族。
  4. 高精度区间根fsolve(x^2-2, x=0..2, digits=30)返回 sqrt(2) 的三十位近似。