不动点迭代法 一元非线性方程求根 C语言实现
2017-12-12 20:38
549 查看
不动点迭代法 一元非线性方程求根 C语言实现
标签:计算方法实验
/* 本实验用迭代法求方程f(x) = e^(-x) - x + 1的根。 */ #include <stdio.h> #include <math.h> #define maxrept 1000 //最大迭代次数 double fa(double x){ //迭代函数fa(x) return exp(-x) + 1; } int main(){ double x1, d; double x0 = 100; //迭代初值x0 double eps = 0.0005; //求解精度eps int k = 0; //迭代次数 do{ k++; x1 = fa(x0); printf("%d %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 iteration is failed!\n"); //要求迭代公式收敛,否则会出现溢出 return 0; }
实验结果:
相关文章推荐
- 二分法 一元非线性方程求根 C语言实现
- 斯特芬森加速迭代法(Steffensen)-埃特金方法(Aitken) 一元非线性方程求根 C语言实现
- 牛顿迭代法 一元非线性方程求根 C语言实现
- 弦截法 一元非线性方程求根 C语言实现
- PAT Basic 1010. 一元多项式求导 (25)(C语言实现)
- C语言实现一元多项式求积
- C语言:用链表实现一元多项式的加法
- 用java的jni调用C语言的API,实现带图形界面的一元稀疏多项式计算器
- C语言实现一元多项式的加减运算
- 数值分析——c++实现非线性方程求根的方法
- 华为面试题:一元多项式的化简 C语言实现源码
- PAT 3-04 一元多项式的乘法与加法运算(C语言实现)
- 一元多项式的乘法运算(C语言)实现
- 一元多项式加减乘除运算-C语言实现
- C语言字符切割函数的实现——不需要自己指定分配多少个字符串分组
- 数据结构 c语言实现哈希(hash)表查找 除留余数法构建hash函数开放定值法线性探测处理冲突
- 用c语言实现单链表
- 经典的农夫养牛题目,C语言,递归实现
- C语言链表实现冒泡法排序
- C语言malloc和free实现原理