C语言 牛顿迭代法求解根值

牛顿迭代法是一种数值分析的方法,所以用这种方法求出来的方程的根值是数值解,也就是通过迭代的方法找到近似解。
首先牛顿迭代的公式可以通过泰勒一阶函数展开得到即:f(x) = f(x0) + f(x0')(x - x0);由于是求方程的根即令f(x) = 0可以得到  f(x0) + f(x0')(x - x0) = 0;变形一下得到 x = x0 - f(x0')/f(x0);而将x0变成xn的话就可以得到迭代公式:x(n+1) = x(n)  - (f(xn') / f(n));并且由于求的是根值,所以只要控制x(n+1)的值小于无穷小就可以的到一个近似解;

下面以求y = x^2 + 5这个函数来用牛顿迭代法求一下根值:
首先将两个函数以及其倒数编写一下,方便带入牛顿迭代法的公式。而牛顿迭代法的公式首先确定x0的位置也就是起始点,定在大约n的一般位置,然后进行迭代,迭代的条件是x的值大小正负不超过10-7,来保证精度,通过调整这里可以保证得到解精确到小数点后几位。
在这里插入图片描述
由于类似开根可以和math.h库中自带的sqrt()函数比较一下:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值