?? newton.c
字號(hào):
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int Function(double,double *,double *);
int Newton(double *,double,int);
int Function(x,f,dy)
double x;
double *f;
double *dy;
{
*f = x*x*(x-1)-1;
*dy = 3*x*x-2*x;
return(1);
}
int Newton(x,eps,l)
double *x;
double eps;
int l;
{
double f,dy,x1;
Function(*x,&f,&dy);
A: if(fabs(dy) == 0)
{
l = 0;
return (0);
}
x1=*x-f/dy;
Function(x1,&f,&dy);
if(fabs(x1-*x)>=eps||fabs(f)>=eps)
{
l-=1;
*x=x1;
if(l==0)
return(1);
goto A;
}
*x = x1;
return 1;
}
void main()
{
double x,eps;
int l;
eps=1.e-6;
x=1.5;
l=60;
if(!Newton(&x,eps,l))
{
printf("該函數(shù)不可以用牛頓跌代法求根!\n");
}
printf("利用牛頓跌代法求的的根為:\n");
printf("x=%.10f\n",x);
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -