一元N次方程数值解

多项式方程的求解是一个基本的数值求解问题。

假设有一个N次实系数多项式方程 如下所示

其中aN≠0,要求通过数值算法求解出该方程的所有复根,且每个解的实部与虚部的绝对误差均不超过1e-4。 

输入格式

输入共有N+2行

1)第一行为整数N

2)接下来N+1行是多项式方程的系数,顺序为从高次到低次,分别为aN, aN-1, ..., a0

输出格式

输出共N行 输出规则如下:

1)实部大小从大到小排列

2)共轭根成对输出,先输出虚部为正的根,在输出虚部为负的根

3)重根需要按照重数输出

4)每行2列 第一列为当前根的实部,第二列为当前根的虚部

常见的方程数值解法有二分法、不动点法以及牛顿法等,对于一元N次多项式方程常见迭代法存

在的问题有:

1)依赖解的大致区间

2)对于复根,常见的迭代方式无法使用(没有零点)

3)多根以及重根的穷尽问题

#牛顿拉弗逊迭代 Newton-Raphson method

牛顿迭代法

例如,对于任意方程    假设存在解析解 x=x*,而我们并不知道x*,进行尝试猜测:

1)猜对了 f(xn)=0 bingo! 返回x*,并且可以去购买一张彩票

2)猜错了  f(xn)并不为0或并不足够接近0,基于xn进行下一次猜测:

过点(xn,f(xn)) 作曲线的切线 T 与x轴交点的横坐标xn+1

    

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值