牛顿迭代法的公式

xk+1=xk-f(x)/f(x)’;
而利用牛顿迭代法往往是求一个近似值。精度一般达到1*10-5。不同的问题迭代条件要具体讨论。
下面给出两个例子

1.在Java中用自定义的接口方法求一个双精度数的立方根。

源代码

package nowcoderPractice;
import java.lang.Math;
import java.util.Scanner;
interface Root{public static double getCubeRoot(double input){double x=1.0;for(;Math.abs(Math.pow(x,3.0)-input)>1e-5;x=x-((Math.pow(x,3.0)-input)/(3*Math.pow(x,2.0))));return x;}
}
public class Lifanggen implements Root{public static void main(String[] args){Scanner sc=new Scanner(System.in);double num=sc.nextDouble();System.out.println(String.format("%.1f", Root.getCubeRoot(num)));sc.close();}
}

可以看到输入一个数求这个数的立方根,这是求一个近似值,所以需要x3与输入数input的差在1*10-5内。故迭代条件为Math.abs(Math.pow(x,3.0)-input)>1e-5.

2.在C语言中求ax3+bx2+cx+d=0在1附近的一个实根。abcd由键盘输入。

源代码

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
double niuDun(double a,double b,double c,double d);
int main()
{int a, b, c, d;printf("请输入方程参数a,b,c,d\n");scanf_s("%d%d%d%d", &a, &b, &c, &d);printf("%lf", niuDun(a, b, c, d));return 0;
}
double niuDun(double a, double b, double c, double d)
{double f, fd,s,x=1.5;double x0;do{x0 = x;f = a * (double)pow(x, 3) + b * (double)pow(x, 2) + c * x + d;fd = 3 * a * (double)pow(x, 2) + 2 * b * x + c;s = f / fd;x = x0 - s;} while (abs(x - x0) > 1e-5);return x;
}

可以看到这里是求方程在1附近的实根,故迭代条件是x-x0>=1e-5

牛顿迭代法求解根的问题相关推荐

  1. 3.牛顿迭代法求解方程的根

    牛顿迭代法求解方程的根 引题:用牛顿迭代法求下列方程在值等于x附近的根: 2 x 3 − 4 x 2 + 3 x − 6 = 0 2x^3-4x^2+3x-6=0 2x3−4x2+3x−6=0 输入: ...

  2. 用c语言编制牛顿法程序,求解试用newton法求函数,YTU 2405: C语言习题 牛顿迭代法求根...

    2405: C语言习题 牛顿迭代法求根 时间限制: 1 Sec  内存限制: 128 MB 提交: 562  解决: 317 题目描述 用牛顿迭代法求根.方程为ax3+bx2+cx+d=0.系数a,b ...

  3. mysql 立方根函数_Java实现牛顿迭代法求解平方根、立方根

    一.简介 牛顿迭代法(Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法. ...

  4. python牛顿迭代法求根例题_1.3求根之牛顿迭代法

    目录 [TOC] 前言 今天我们讲的是具有收敛速度快,能求重根的解方程之法,牛顿迭代法. (一)牛顿迭代法的分析 1.定义 迭代公式如下: 迭代函数是: 由于 与原方程 等价. 当 时, 就是 的近似 ...

  5. 分别用二分法和牛顿迭代法求解方程x3 – 3x – 1 = 0在x = 2附近的实根

    编写程序,分别用二分法和牛顿迭代法求解方程x3 – 3x – 1 = 0在x = 2附近的实根,要求计算精确到小数点后七位数字为止,并将求出的近似结果与理论值2cos20 相比较,二分法的初始迭代区间 ...

  6. 使用牛顿迭代法求根(C)

    题目:使用牛顿迭代法求根,方程ax3 + bx2 + cx + d = 0,系数a,b,c,d的值依次是1,2,3,4,由主函数输入,求x在1附近的一个实根.求出主函数输出. #include < ...

  7. c语言牛顿迭代法求解非线性方程组,利用牛顿迭代法求解非线性方程组

    最近一个哥们,是用牛顿迭代法求解一个四变量方程组的最优解问题,从网上找了代码去改进,但是总会有点不如意的地方,迭代的次数过多,但是却没有提高精度,真是 最近一个哥们,是用牛顿迭代法求解一个四变量方程组 ...

  8. 非线性方程组牛顿迭代法matlab,matlab实现牛顿迭代法求解非线性方程组

    <matlab实现牛顿迭代法求解非线性方程组>由会员分享,可在线阅读,更多相关<matlab实现牛顿迭代法求解非线性方程组(5页珍藏版)>请在人人文库网上搜索. 1.matla ...

  9. python牛顿法解非线性方程组_matlab实现牛顿迭代法求解非线性方程组.pdf

    matlab实现牛顿迭代法求解非线性方程组.pdf matlab 实现牛顿迭代法求解非线性方程组实现牛顿迭代法求解非线性方程组 已知非线性方程组如下 3*x1-cosx2*x3-1/20 x12-81 ...

最新文章

  1. ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.
  2. 利用 TensorFlow 实现上下文的 Chat-bots
  3. php使用fputcsv进行大数据的导出
  4. javacv 写mp4_JavaCV实现获取视频每帧并保存
  5. PHP中路由和rewrite的使用
  6. oracle数据库快照打点,Oracle数据库快照的使用
  7. 哪个html标签用于定义文档的标题,在HTML中,(41)用于定义文档的标题。
  8. html中加减号怎么输入,jQuery 实现点击加减号改变input标签中的value值,该怎么解决...
  9. html5获取gps坐标,html5获取手机GPS信息的示例代码
  10. C#使用oledb操作excel文件的方法
  11. 正确使用SqlConnection对象,兼谈数据库连接池
  12. spring boot校园兼职系统 毕业设计源码论文+答辩PPT
  13. vmware workstation 9注册码
  14. 怎样低成本的实现网页在移动端的适配
  15. 解析LDO的五大作用,这里有你意想不到的答案
  16. PPT打开出错/可尝试修复此演示文稿
  17. 安卓和IOS时间解析时间格式不一致的问题
  18. 如何通过 AirPlay 镜像您的 Mac 显示器
  19. android launcher 调用 widget,Launcher3添加桌面appWidget
  20. 怎样用计算机看电影听音乐,如何使用Windows Media Player听歌看电影

热门文章

  1. OpenGl学习之显示窗口重定形函数
  2. IBM安全报告:合法网站成企业IT安全的罩门
  3. 告警系统主脚本 告警系统配置文件 告警系统监控项目
  4. 此程序将从您的计算机删除adobe,电脑中安装Adobe软件时提示该程序已安装的最佳解决方案...
  5. 信息安全与密码学博士:应该掌握的52个知识--(4)T46-- 菲亚特-沙米尔(Fiat-Shamir)变换
  6. Biostrings包测试1_2020-01-29
  7. JavaScript专题(二):深入理解iframe
  8. oracle10g无监听配置文件,Oracle 10g学习笔记(七) tnsnames.ora 监听配置文件详解
  9. Direct3D 10
  10. windows下nginx配置OpenSSL自签名证书