一、前言(吐槽)

我真的不知道该说些什么好,其实也怪自己。老师将实验发下来,然后我就跟这着老师的实验任务做,实验word上用的什么流程图我就用那个流程图,然而我根据老师的流程图遍完了程序,怎么验算结果都不对,就开始找自己的问题,根本没去想流程图,后来才发现,是自己太年轻了,老师给的流程图错了,其实都怨自己,一味的去抄这个流程图,没有去分析这个流程图,这次狠狠的给我上了一课,浪费了好多时间。

二、算法流程图

具体流程图哪里错了,我就不告诉大家了,下面是错误的流程图,大家自己分析一下吧。挺简单的错误。

三、代码

#include <iostream>
using namespace std;
int main(){bool flag = false;//用来判断是第几层循环double X0,X1,r;cout<<"请输入初值:"<<endl;cin>>X0;double e;cout<<"请输入误差限:"<<endl;cin>>e;int m;cout<<"请输入下山最大次数:"<<endl;cin>>m;int n;cout<<"请输入迭代最大次数:"<<endl;cin>>n;int k=0;int i=0;while(true){//说明下山成功进行迭代if(r !=1){cout<<"第"<<i<<"步下山因子:"<<r<<endl;}r = 1.0;if(3*X0*X0-1 != 0){while (true){if(flag){flag = false;break;}X1 = X0 - r*(X0*X0*X0 - X0 - 1) / (3.0 * X0*X0 - 1);if(abs(X1*X1*X1 - X1 - 1) > abs(X0*X0*X0 - X0 - 1)){cout<<"第"<<i<<"步下山因子:"<<r<<endl;cout<<"--------------"<<endl;i=i+1;r=r*0.5;if(i>=m){cout<<"重新输入x0"<<endl;return 0;}elsecontinue;}else{if (abs(X1 - X0) <e){cout<<"近似根为:"<<X1<<endl;return 0;}else{k=k+1;X0=X1;if(k>=n){cout<<"迭代失败!"<<endl;return 0;}else{flag = true;continue;}}}}} else{cout<<"奇异标志"<<endl;return 0;}}}

计算方法/数值分析牛顿下山法C/C++实现方法相关推荐

  1. [计算机数值分析]牛顿下山法求方程的根

    问题描述 一般来说,牛顿法的收敛性依赖于初值 x₀ 的选取,如果 x₀ 偏离方程的正解根 x* 较远,则牛顿法可能发散. 例:用牛顿法求方程 x³ - x - 1 = 0在 x = 1.5 附近的一个 ...

  2. 4.9 数值分析: 牛顿下山法

    本文内容为东北大学数值分析国家精品慕课课程的课程讲义, 将其整理为OneNote笔记同时添加了本人上课时的课堂笔记, 且主页中的思维导图就是根据课件内容整理而来, 为了方便大家和自己查看,特将此上传到 ...

  3. Matlab数值分析编程:牛顿下山法解方程

    %通用代码 fun=inline('x^0.5-x^3+2','x');%手动输入函数表达式和自变量 dfun=inline('0.5*x^(-0.5)-3*x^2','x');%手动输入函数一阶导数 ...

  4. 利用牛顿公式求解方程的根并且实现牛顿下山法

    实验要求 a. 实现牛顿公式,并分别找到收敛和发散的例子 算法介绍 牛顿公式原理如下图: 为了防止牛顿迭代发散并且加速迭代速度,所以我们在这里引入一个新的方法-- 牛顿下山法: 根据牛顿公式原理以及牛 ...

  5. MATLAB之牛顿下山法

    MATLAB之牛顿下山法 算法原理 matlab程序 算法原理 上一篇博客,我介绍了牛顿法迭代法,接下来我就们接着讲解一下什么是牛顿下山法. 一.迭代公式 在牛顿迭代过程中,若满足单调性|f(x(k+ ...

  6. 牛顿法和牛顿下山法求极值的理解

    泰勒展开 先创建一个不太方便求解的方程sin⁡x=−0.01ex\sin x=-0.01e^xsinx=−0.01ex,并用matlab画出来y=sin⁡x+0.01exy=\sin x+0.01e^ ...

  7. 非线性方程的数值解法:牛顿法及牛顿下山法(含Matlab程序)

    牛顿法及牛顿下山法 简介:牛顿迭代法是求解单变量非线性方程f(x)=0中最实用的方法,该方法在单根附近二阶收敛.但应用时要选用较好的初值x0近似才能保证迭代收敛.为克服这一缺点,可使用牛顿下山法.下面 ...

  8. matlab中牛顿下山法实例,非线性方程的数值解法牛顿下山法matlab

    非线性方程的数值解法牛顿下山法matlab 1 非线性方程的数值解法 --计算物理实验作业九 陈万 物理学2013级 130******** ● 题目: 用下列方法求0133=--=x x f(x)在 ...

  9. matlab实现牛顿下山法

    说起牛顿下山法,首先要提牛顿法,牛顿法是求解非线性方程的一个重要方法,具体可以点击牛顿法:虽然牛顿法作为一个二阶的迭代收敛方法,但是其对于函数和初始点的要求都比较高,而牛顿下山法则是有效降低这些要求的 ...

最新文章

  1. python基础包括什么-Python基础教程 模块包含什么
  2. Android 错误: 找不到符号 符号: 类 x 位置: 类 MainActivity
  3. 详解Linux2.6内核中基于platform机制的驱动模型
  4. socket认证客户端链接合法性
  5. iOS中的唯一标示符
  6. squid 服务器的应用
  7. 猎豹MFC--CMenu菜单 设置主菜单 给主对话框设置菜单 设置快捷菜单
  8. 前端框架Vue——vue-i18n ,vue项目中如何实现国际化,$t的用法
  9. ML《集成学习(二)Boosting之Adaboosting》
  10. 理解JavaScript里this关键字
  11. 完全二叉树之深度问题
  12. 换一种方式去思考--microsoft for win server03
  13. ubantu 黑屏_死机黑屏专题上线啦,早鸟只要299,看完薪水翻一番
  14. CS0579 Duplicate 'Microsoft.AspNetCore.Mvc.ApplicationParts.ProvideApplicationPartFactoryAttribute
  15. android expandablelistview横向,ExPandableListView实现时间轴效果【Android】
  16. 智方8000系进销存管理系统 杀毒软件下载
  17. adobe photoshop cc 2014 安装失败
  18. 风险模型 - 变量筛选
  19. 1285. 四的乘方
  20. 解决idea代码无故爆红问题

热门文章

  1. 为什么前端UI设计师给750PX的2倍设计稿?
  2. Pulling is not possible because you have unmerged files.
  3. 秒变配色高手!怎么都不会错的6条网页设计配色原则
  4. win10 卸载cuda
  5. 私有云厂商云宏破解金融行业转型“数字底座”难题
  6. bzoj2565manacher算法
  7. Linux安装卸载Mysql与基本操作
  8. layui后台管理首页配置
  9. 网络空间安全中国学科排名——2021软科
  10. Laravel OAuth2 (二) ---配置与数据库设计