//牛顿迭代法
#include<iostream>
#include<cmath>
#define Length 100
using namespace std;
class NewtonIterationMethod {
public:void input();double function(double x);double derivative(double x);double newtonmethod(double Xo);void analyse();void display();
private:double Xo;int n;double root;
}newton;
void NewtonIterationMethod::input() {cout << "**************************第一题**************************\n" << endl;cout << "  请输入初始值:Xo=";cin >> this->Xo;cout << "  请输入迭代次数:n=";cin >> this->n;
}
double NewtonIterationMethod::function(double x) {return (pow(x, 3) - x - 1);
}
double NewtonIterationMethod::derivative(double x) {return (3 * pow(x, 2) - 1);
}
double NewtonIterationMethod::newtonmethod(double Xo) {double x[Length];x[0] = Xo;for (int i = 0; i < n; i++) {x[i + 1] = x[i] - function(x[i]) / derivative(x[i]);root = x[i + 1];}return root;
}
void NewtonIterationMethod::analyse() {cout << "\n**************************第二题**************************\n" << endl;cout << "  迭代" << n << "次求得方程X^3-x-1=0在x=" << 0 << "附近的近似根X=" << newtonmethod(0) << endl;cout << "\n  原因分析:" << "在Xo=" << 0 << "处迭代,在精度相同的前提下,迭代次数超过给定\n"<< "  的最大值" << n << ",由此可见牛顿迭代法在初始值接近近似根处的迭代\n"<< "  速度要比远离近似根的迭代速度快很多,而且近似值的函数近似\n"<<"  值要精确很多\n" << endl;
}
void NewtonIterationMethod::display() {cout << "  迭代" << n << "次求得方程X^3-x-1=0在x=" << Xo << "附近的近似根X=" << newtonmethod(Xo) << endl;
}
int main() {newton.input();newton.display();newton.analyse();system("pause");return 0;
}

牛顿迭代法算法的实现相关推荐

  1. python牛顿法算立方根_牛顿迭代法求解立方根

    //计算一个数字的立方根,不使用库函数 //详细描述: //接口说明 //原型: //public static double getCubeRoot(double input) //输入:doubl ...

  2. 数算(Python)——牛顿迭代法(巴比伦算法)求解平方根

    计算x\sqrt{x}x​的方法 巴比伦算法: 猜测一个大于0近似值.x0x_{0}x0​ 使用被开方数除以近似值.xx0\frac{x}{x_{0}}x0​x​ 计算前两步的数的平均值.x1=12( ...

  3. 100个python算法超详细讲解:牛顿迭代法求方程根

    1.问题描述 编写用牛顿迭代法求方程根的函数.方程为ax 3 +bx 2 +cx+d=0,系数a. b.c.d由主函数输入,求x在1附近的一个实根.求出根后,由主函数输出. 2.问题分析 牛顿迭代法是 ...

  4. 利用matlab实现复数域空间牛顿迭代法的分形图案展示(newton法)

    利用matlab实现复数域空间牛顿迭代法的分形图案展示(newton法) 1 一维函数的牛顿迭代法 2 复平面的牛顿迭代法 2.1 简单方程结果 2.2 其它非线性方程结果 本文首发于 matlab爱 ...

  5. 【R语言-20行代码】牛顿迭代法求伽马函数极大似然估计法的参数估计

    简述 研究了下计算公式,简化了一下,用r语言实现了. 算法解释 牛顿迭代法 xk+1=xk−f(xk)f′(xk)x_{k+1} = x_k - \frac{f(x_k)}{f'(x_k)}xk+1​ ...

  6. 二分法求方程的根_快速求解方程的根——二分法与牛顿迭代法

    今天是周四高等数学专题的第7篇文章. 之前的文章和大家聊了许多数学上的理论,今天和大家聊点有用的东西. 我们都知道,工业上的很多问题经过抽象和建模之后,本质还是数学问题.而说到数学问题就离不开方程,在 ...

  7. java牛顿法求方程根_快速求解方程的根——二分法与牛顿迭代法

    今天是周四高等数学专题的第7篇文章. 之前的文章和大家聊了许多数学上的理论,今天和大家聊点有用的东西. 我们都知道,工业上的很多问题经过抽象和建模之后,本质还是数学问题.而说到数学问题就离不开方程,在 ...

  8. 牛顿法计算平方根java_利用牛顿迭代法求平方根(转)

    求n的平方根,先假设一猜测值X0 = 1,然后根据以下公式求出X1,再将X1代入公式右边,继续求出X2-通过有效次迭代后即可求出n的平方根,Xk+1 先让我们来验证下这个巧妙的方法准确性,来算下2的平 ...

  9. 二分法和牛顿迭代法求平方根(Python实现)

    求一个数的平方根函数sqrt(int num) ,在大多数语言中都提供实现.那么要求一个数的平方根,是怎么实现的呢? 实际上求平方根的算法方法主要有两种:二分法(binary search)和牛顿迭代 ...

最新文章

  1. Windows实用快捷键
  2. MybatisPlus实现条件查询
  3. 事物与数据库底层数据
  4. 2019Q1中高端人才报告:薪资TOP10,平均年薪超23万元
  5. 《树莓派渗透测试实战》——1.7 树莓派渗透测试场景
  6. Atitit  文件上传  架构设计 实现机制 解决方案  实践java php c#.net js javascript  c++ python
  7. CMD恶搞命令集,假装自己是黑客
  8. 重装系统时的硬盘格式化
  9. NVIDIA之Triton Inference Server环境部署安装
  10. 新浪新闻发布Z世代洞察报告:Z世代偏爱深入“吃瓜” 对元宇宙兴趣强烈
  11. 免费拿和平精英模拟器
  12. 戴尔电脑怎么录屏?这6个方法教你轻松录屏
  13. 晓月_【斗战神学习四十】金山寺
  14. 【逗老师带你学IT】PRTG监控通过Python+Modbus RTU获取温湿度传感器数据
  15. CSS文本样式和CSS3文本效果以及背景
  16. pt mysql_pt(Percona Toolkit)工具介绍
  17. android 自动语音,在Android上自动下载离线语音识别语言
  18. 京东一键复制宝贝,如何快速上货?
  19. 商务酷炫企业年终工作总结述职报告PPT模板
  20. 谁动了我的隐私 — 隐私风险初探

热门文章

  1. 华为什么时候发布鸿蒙手机,鸿蒙正式发布!快看你的手机啥时候升级?华为P50也曝光了…...
  2. 卫生部、国家中医药管理局专题新闻发布会实录
  3. 【Spark】网络原理概述
  4. 基于XRUN使用VPI在verilog中调用c调用python进行仿真
  5. oracle11g 在azure云中使用rman进行实例迁移
  6. 前景理论-风险决策分析的思维模型
  7. LTE路测优化工具介绍
  8. 10-hive里面字段的分隔符用的什么?为什么用\t?有遇到过字段里面有\t的情况吗,怎么处理的
  9. 高可用核心原理综述总结
  10. 如何在linux环境下搭建Tor代理服务器