float型関数で定義するプログラミング
今プログラミングを行っているのですが、Xn+1=Xn-f(Xn)/g(Xn)(f(x)=x*x-x-1,g(x)=2x-1,これらはfloat型の関数とすること)で初期値Xo=-2としたときに繰り返しxを求めていき、|f(x)|=<10^-5となるまで計算するプログラムを作成したいのですが結果がおかしくなるので、ここからどう手直しすればいいのかわかりません。
#include<stdio.h>
float wa(void);
int main(void)
{
float a,i;
for (i = -2; i <= 0.00005; i++) {
a = wa();
printf("%f\n", a);
}
return 0;
}
float wa(void)
{
float l = 0, i, m, n, x,b;
for (i = -2; i <= 0.00005; i++) {
x = i;
l *= i;
m = x*x - x - 1;
n = (2 * x) - 1;
b = l - (m / n);
}
return b;
}
結果
-1.000000
-1.000000
-1.000000
正直言ってどういう結果になればいいのかもわかりません。
せめてどういうような結果になるのかだけでも教えていただければありがたいです。