求数值根

NSolve 给出求多项式方程的数值近似值的一般方法. 然而,如 "一元方程" 中讨论的那样,对更一般的方程,求数值解将会困难的多. 函数 FindRoot 给出求任意方程或方程组的一个数值解的方法.

FindRoot[f,{x,x0}] 为起点,求 f 的一个数值解
FindRoot[lhs==rhs,{x,x0}] 为起点,求方程 的一个解
FindRoot[f1,f2,,{{x,x0},{y,y0},}]
求所有 的一个联立数值解
FindRoot[{eqn1,eqn2,},{{x,x0},{y,y0},}]
求联立方程 的一个数值解

求数值根.

曲线 相交于一个点.
In[1]:=
Click for copyable input
Out[1]=
这里求交点 的数值近似. 告诉 FindRoot 关于 应该先尝试的起点.
In[2]:=
Click for copyable input
Out[2]=

在求方程的一个解中,FindRoot 从一个指定点开始依次尝试使得越来越接近一个解. 即使方程有多个解,FindRoot 总是返回它发现的第一个解,所求的是哪个解依赖于选择的起点. 只要起点充分靠近某个解,FindRoot 总是返回这个解.

函数 有无穷多个形如 的解. 如果起点靠近某个解,FindRoot 将给出该解.
In[3]:=
Click for copyable input
Out[3]=
如果起点为 ,得到的是 的近似值.
In[4]:=
Click for copyable input
Out[4]=
如果要使用 FindRoot 求复数解,必须给出复数起始值.
In[5]:=
Click for copyable input
Out[5]=
这里对 Riemann zeta 函数求解.
In[6]:=
Click for copyable input
Out[6]=
这里求解联立方程组.
In[7]:=
Click for copyable input
Out[7]=

FindRoot 所使用的变量可以具有形式为列表的值. 这使得用户可以求解以向量为自变量的函数的根.

这是对变量 求解线性方程的一种方法.
In[8]:=
Click for copyable input
Out[8]=
这里求解正则化的特征向量 和特征值 .
In[9]:=
Click for copyable input
Out[9]=