您的位置:首页 > 其它

计算方法之迭代法求方程根

2013-06-11 12:51 155 查看
/************************
* 用迭代法求方程
* f(x)=e^(-x)-x+1=0
* 的根
*************************/
#include<stdio.h>
#include<math.h>
#include<conio.h>

float fa(float);
float dd(float);
int main() {
float x0;
printf("input data x0 = ");
scanf("%f", &x0);
printf("The root of f(x) = 0  is x = \t%f\n", dd(x0));
return 0;
}
float dd(float a) {
float x, x0, e;
int i;
printf("input eps = ");
scanf("%f", &e);
x0 = a;
printf("x0 = %f\n", x0);
for (i = 1;; i++) {
x = fa(x0);
printf("x(%d)=%f\n", i, x);
if (fabs(x - x0) < e)
return x;
else
x0 = x;
}
}
float f(float x) {
float a;
a = exp(-x) - x + 1;
return a;
}
float fa(float x) {
float a;
a = exp(-x) + 1;
return a;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: