牛顿迭代法算法的实现
//牛顿迭代法
#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;
}
牛顿迭代法算法的实现相关推荐
- python牛顿法算立方根_牛顿迭代法求解立方根
//计算一个数字的立方根,不使用库函数 //详细描述: //接口说明 //原型: //public static double getCubeRoot(double input) //输入:doubl ...
- 数算(Python)——牛顿迭代法(巴比伦算法)求解平方根
计算x\sqrt{x}x的方法 巴比伦算法: 猜测一个大于0近似值.x0x_{0}x0 使用被开方数除以近似值.xx0\frac{x}{x_{0}}x0x 计算前两步的数的平均值.x1=12( ...
- 100个python算法超详细讲解:牛顿迭代法求方程根
1.问题描述 编写用牛顿迭代法求方程根的函数.方程为ax 3 +bx 2 +cx+d=0,系数a. b.c.d由主函数输入,求x在1附近的一个实根.求出根后,由主函数输出. 2.问题分析 牛顿迭代法是 ...
- 利用matlab实现复数域空间牛顿迭代法的分形图案展示(newton法)
利用matlab实现复数域空间牛顿迭代法的分形图案展示(newton法) 1 一维函数的牛顿迭代法 2 复平面的牛顿迭代法 2.1 简单方程结果 2.2 其它非线性方程结果 本文首发于 matlab爱 ...
- 【R语言-20行代码】牛顿迭代法求伽马函数极大似然估计法的参数估计
简述 研究了下计算公式,简化了一下,用r语言实现了. 算法解释 牛顿迭代法 xk+1=xk−f(xk)f′(xk)x_{k+1} = x_k - \frac{f(x_k)}{f'(x_k)}xk+1 ...
- 二分法求方程的根_快速求解方程的根——二分法与牛顿迭代法
今天是周四高等数学专题的第7篇文章. 之前的文章和大家聊了许多数学上的理论,今天和大家聊点有用的东西. 我们都知道,工业上的很多问题经过抽象和建模之后,本质还是数学问题.而说到数学问题就离不开方程,在 ...
- java牛顿法求方程根_快速求解方程的根——二分法与牛顿迭代法
今天是周四高等数学专题的第7篇文章. 之前的文章和大家聊了许多数学上的理论,今天和大家聊点有用的东西. 我们都知道,工业上的很多问题经过抽象和建模之后,本质还是数学问题.而说到数学问题就离不开方程,在 ...
- 牛顿法计算平方根java_利用牛顿迭代法求平方根(转)
求n的平方根,先假设一猜测值X0 = 1,然后根据以下公式求出X1,再将X1代入公式右边,继续求出X2-通过有效次迭代后即可求出n的平方根,Xk+1 先让我们来验证下这个巧妙的方法准确性,来算下2的平 ...
- 二分法和牛顿迭代法求平方根(Python实现)
求一个数的平方根函数sqrt(int num) ,在大多数语言中都提供实现.那么要求一个数的平方根,是怎么实现的呢? 实际上求平方根的算法方法主要有两种:二分法(binary search)和牛顿迭代 ...
最新文章
- Windows实用快捷键
- MybatisPlus实现条件查询
- 事物与数据库底层数据
- 2019Q1中高端人才报告:薪资TOP10,平均年薪超23万元
- 《树莓派渗透测试实战》——1.7 树莓派渗透测试场景
- Atitit 文件上传 架构设计 实现机制 解决方案 实践java php c#.net js javascript c++ python
- CMD恶搞命令集,假装自己是黑客
- 重装系统时的硬盘格式化
- NVIDIA之Triton Inference Server环境部署安装
- 新浪新闻发布Z世代洞察报告:Z世代偏爱深入“吃瓜” 对元宇宙兴趣强烈
- 免费拿和平精英模拟器
- 戴尔电脑怎么录屏?这6个方法教你轻松录屏
- 晓月_【斗战神学习四十】金山寺
- 【逗老师带你学IT】PRTG监控通过Python+Modbus RTU获取温湿度传感器数据
- CSS文本样式和CSS3文本效果以及背景
- pt mysql_pt(Percona Toolkit)工具介绍
- android 自动语音,在Android上自动下载离线语音识别语言
- 京东一键复制宝贝,如何快速上货?
- 商务酷炫企业年终工作总结述职报告PPT模板
- 谁动了我的隐私 — 隐私风险初探