c语言实现牛顿迭代法
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<float.h>
#include<time.h> #define PI 3.14159265358979323846 /* pi */
#define ε 1.0e-12
int main()
{
double x0 = PI;//取的初始值
double x1 = 0.0;//有x0算出的x1,初始值先给定0
double fx = 0.0;//f(x)
double fxp = 0.0;//f(x)的导数
double faix = 0.0;//计算结果,牛顿迭代格式 faix =x-(fx/fxp)
int i = ;//迭代计算次数
while (fabs((x0 - x1) / x1) > ε)//判断两次迭代变量之间相对误差与精度比较
{
x1 = x0;//用x1存放上次的x0
fx = sin(x0) - x0 / ;
fxp = cos(x0) - 0.5;
faix = x0 - fx / fxp;
x0 = faix;//将迭代后的结果赋给上次代入值变量,供下一次代入使用
i++;//计算次数
printf("第%d次迭代,迭代结果为:,%+.12e \n", i, x1);
}
}
题目:计算sinx=x/2的根。
分析:newton法在大范围的收敛定理:
函数f(x)在区间[a,b]上存在二阶连续导数,且满足4个条件:
1. f(a)*f(b)<0
2. 当x属于[a,b]时,函数的导数值不等于零。
3. 当x属于[a,b]时,函数的二阶导数值保号。
4. a-f(a)/f'(a)<=b,且b-f(b)/f'(b)<=a

计算结果:

c语言实现牛顿迭代法的更多相关文章
- YTU 2405: C语言习题 牛顿迭代法求根
2405: C语言习题 牛顿迭代法求根 时间限制: 1 Sec 内存限制: 128 MB 提交: 562 解决: 317 题目描述 用牛顿迭代法求根.方程为ax3+bx2+cx+d=0.系数a,b ...
- C语言实现牛顿迭代法解方程
利用迭代算法解决问题,需要做好以下三个方面的工作: 一.确定迭代变量 在可以用迭代算法解决的问题中,我们可以确定至少存在一个可直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量. 二.建立迭 ...
- 基于visual Studio2013解决C语言竞赛题之0422牛顿迭代法
题目
- C语言复习---迭代法,牛顿迭代法,二分法求根
一:用迭代法求 x=√a.求平方根的迭代公式为:X(n+1)=(Xn+a/Xn) /2. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> ...
- C语言之基本算法25—牛顿迭代法求方程近似根
//牛顿迭代法! /* ============================================================ 题目:用牛顿迭代法求解3*x*x*x-2*x*x-16 ...
- C语言之基本算法11—牛顿迭代法求平方根
//迭代法 /* ================================================================== 题目:牛顿迭代法求a的平方根!迭代公式:Xn+1 ...
- NOIP2001 一元三次方程求解[导数+牛顿迭代法]
题目描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差 ...
- Atitit 迭代法 “二分法”和“牛顿迭代法 attilax总结
Atitit 迭代法 "二分法"和"牛顿迭代法 attilax总结 1.1. ."二分法"和"牛顿迭代法"属于近似迭代法1 1. ...
- 牛顿迭代法实现平方根函数sqrt
转自利用牛顿迭代法自己写平方根函数sqrt 给定一个正数a,不用库函数求其平方根. 设其平方根为x,则有x2=a,即x2-a=0.设函数f(x)= x2-a,则可得图示红色的函数曲线.在曲线上任取一点 ...
随机推荐
- android面试题
1. 请描述一下Activity 生命周期. 答: 如下图所示.共有七个周期函数,按顺序分别是: onCreate(), onStart(), onRestart(), onResume(), onP ...
- Sublime text3 常用插件 安装
1 安装插件前的准备工作 首先确保你的Sublime Text3编辑器为官方版(非破解版),建议下载官网的便携版本(好处多多). 然后安装插件管理工具(Package Control) 1.1 打开S ...
- js跨域_jsonP
$.ajax("url", type:"get", dataType:"jsonp", jsonp:"callback" ...
- Fibers in JVM
转载: Fibers in JVM
- 在网站制作中随时可用的10个 HTML5 代码片段
HTML 很容易写,但创建网页时,您经常需要重复做同样的任务,如创建表单.在这篇文章中,我收集了10个超有用的 HTML 代码片段,有 HTML5 启动模板.空白图片.打电话和发短信.自动完成等等,帮 ...
- (49) odoo context操作
* context 这是一个上下文,运用很灵活 * 得到整个context V7 context=dict(context or {}) 这个版本是明传 V8 self.context_ ...
- JQUERY相关
https://github.com/mythz/jquip/ http://zeptojs.com/ http://devework.com/jquery-builder.html http://p ...
- Joomla软件功能介绍与开源程序大比拼Joomla,wordpress,Drupal哪个好?
Joomla 软件功能介绍: Joomla!是一套在国外相当知名的内容管理系统 (Content Management System, CMS),它属于Portal(企业入口网站)类型,顾名思义 ...
- sql语句判断默认值为getdate()的约束是否存在
TFlowCreateTask--表名 AddDate--字段名 if not exists( select d.name from syscolumns a join sysobjects b on ...
- JAVA求集合中的组合
好几个月没弄代码了,今天弄个求组合的DEMO 思路是将集合的每个值对照一个索引,索引大小是集合的大小+2.索引默认为[000...000],当组合后选取的组合值demo为[0100..00].然后根据 ...