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 / maxsols | method 支持 auto、nroots、bisect、newton、secant;不支持专用外部方法。maxsteps 为 1 至 500,默认 200;maxsols 为 1 至 1000,默认 100。多项式次数限制为 100。 |
complex | 布尔值,默认 false。支持复多项式根或复初值,不支持复搜索矩形。 |
示例
- 数值根
fsolve(x^2 - 4 = 0, x)返回 [-2.0, 2.0]。 - 别名写法
numeric_solve(x^3 - x, x)返回 [-1.0, 0.0, 1.0]。 - 非多项式数值根
fsolve(cos(x)=x, x=0..1)近似为 0.7390851332151607;这是经过检查的候选根,不代表所有解族。 - 高精度区间根
fsolve(x^2-2, x=0..2, digits=30)返回 sqrt(2) 的三十位近似。