初期値は1です。
アドバイスいただけませんか?
#include<stdio.h>
#include<math.h>
double fx(double x);
double dfx(double x);
int main(void) {
double x, y, prex,dis;
int count;
count = 0; x = y = 0;
x = 1; y += 0.1;
while (1) {
prex = x;
x = (y - fx(x)) / dfx(x) + x;
dis = x - prex;
if (dis < 0.01 && dis > -0.01) {
printf("y = %f x = %f\n", y, x);
break;
}
}
return 0;
}
double fx(double x){
return 1 / 1 + exp(-x);
}
double dfx(double x){
return (1 - fx(x)) * fx(x);
}