f(x)=xInx-1=0の解をNewton法で求める問題です。
Gnome端末でコンパイルしています。下記のようにプログラミングした所、
x= nanと出てしまいました。正解は1.76です。間違いを指摘していただければありがたいです。
#include<stdio.h>
#include<math.h>
#define F(x) (x*log(x)-1.)
#define FD(x) (log(x)+1.)
#define EPS (1.E-5)
int main(void)
{
double x=0.0,fx,fdx,dx;
int n=0;
do{
fx=F(x);
fdx=FD(x);
dx=-fx/fdx;
n++;
x+=dx;
}
while(fabs(dx/x)>EPS);
printf("x=%4.2f\n",x);
}
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。