/*************************************
* 用牛顿迭代法求非线性方程
* f(x)=x-e^(-x)=0
* 在区间[0,1]的根,取ξ=10^(-5),x0 = 0.5
**************************************/
#include<stdio.h>
#include<math.h>
#include<conio.h>
#define maxrept 1000
float f(float x) {
return x - exp(-x);
}
float df(float x) {
return 1 + exp(-x);
}
float iterate(float x) {
float x1;
x1 = x - f(x) / df(x);
return x1;
}
int main() {
float x0, x1, eps, d;
int k = 0;
printf("\nplease input x0 =");
scanf("%f", &x0);
printf("\nplease input eps =");
scanf("%f", &eps);
printf("\n\tk\tx0\n");
printf("\n\t%d\t%f\n", k, x0);
do {
k++;
x1 = iterate(x0);
printf("\n\t%d\t%f\n", k, x1);
d = fabs(x1 - x0);
x0 = x1;
} while ((d >= eps) && (k < maxrept));
if (k < maxrept)
printf("the root of f(x)=0 is x=%f,k=%d\n", x1, k);
else
printf("the iterate id failed\n");
return 0;
}
分享到:
相关推荐
基于Python实现的牛顿迭代法求方程根,我这个是求了根号五的确切值。
计算机数值算法(计算方法)二分法、牛顿迭代法方程求根
计算方法中一个听重要的算法,牛顿迭代法求一个实根
利用经典的牛顿法求解方程,给出迭代次数。
计算方法常用算法,牛顿迭代法求解方程组,可以输入线性或非线性方程组,IDE为VS2010,.NET搭建用户界面,报错功能完善。
牛顿迭代法程序,计算方法课程中自编程序,c语言程序 。
牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。 牛顿法是方程求根的一个有力方法,常常能快速求出其他方法求不出或者难以求出...
数值计算方法,牛顿迭代法matlab程序。这是一个函数文件,可以输出方程的根和迭代次数
山东科技大学计算方法实验二 非线性方程求根实验报告完整版,C语言编程+流程图+运行结果 进一步熟练掌握求解非线性方程的二分法与Newton迭代法。 掌握二分法与Newton迭代法的算法,能运用程序设计语言和此方法编制...
二分法、迭代法、牛顿法、弦截法、高斯列主消元法、LU分解法、迭代法等 导入到MYECLIPSE
根据计算方法编的,如果应用需要修改其中数据
非线性方程组数值计算,MATLAB语言实现。包括多种迭代方法,牛顿法,拟牛顿法,以及相关的改进算法。
数值计算方法(马东升版)第二章四个非线性方程解法,包括区间二分法 简单迭代法 牛顿迭代法 弦截法
在求解非线性方程的方法中,牛顿迭代法是求非线性方程(非线性方程组)数值解的一种重要的方法。牛顿是微积分创立者之一,微积分理论本质上是立足于对世界的这种认识:很多物理规律在微观上是线性的。近几百年来,...
分别用牛顿迭代法、弦截法和二分法求下列方程的根,分析比较各种方法的迭代次数及精度。 〖f(x)=x〗^3 〖- 2x〗^2 +7x +4=0 牛顿迭代法的初值:x=0.5; 弦截法〖 x〗_1,〖 x〗_2的初值:-1,1 二分法〖 x〗_1,〖 x...
我们的上机作业,牛顿迭代法 非线形方程组
计算方法 凌永祥第五章第三题 newton迭代法非线性方程
C语言实现牛顿迭代法解方程详解 利用迭代算法解决问题,需要做好以下三个方面的工作: 一、确定迭代变量 在可以用迭代算法解决的问题中,我们可以确定至少存在一个可直接或间接地不断由旧值递推出新值的变量,这个...
文档包含二分法、牛顿法解方程的具体思路以及经检验可执行的c程序
用二分法、Newton迭代法,弦割法求任意指定一元三次方程在给定点附近的根,输出每次迭代结果并统计所用的迭代次数