牛顿法求方程!
2008-09-27 22:00
309 查看
#include <stdio.h>#include <stdlib.h>
#include <math.h>
int function(double ,double *,double *);
int newton(double *,double,int);
void main()
{
int l=60;
double eps=1.e-6;
double x=1;
if(!newton(&x,eps,l))
{
printf("i can not do it!!");
exit(1);
}
printf("the root is %.10f\n",x);
}
int function(double x,double *f,double *dy)
{
*f=x*x*x-x*x-1;
*dy=3*x*x-2*x;
}
int newton(double *x,double eps,int l)
{
double x1,f,dy;
A:function(*x,&f,&dy);
if(dy==0)
{
l=0;
return(0);
}
x1=*x-f/dy;
if(fabs(*x-x1)>eps||fabs(f)>eps)
{
l-=1;
*x=x1;
if(l==0)
return(1);
goto A;
}
*x=x1;
return(1);
}
#include <math.h>
int function(double ,double *,double *);
int newton(double *,double,int);
void main()
{
int l=60;
double eps=1.e-6;
double x=1;
if(!newton(&x,eps,l))
{
printf("i can not do it!!");
exit(1);
}
printf("the root is %.10f\n",x);
}
int function(double x,double *f,double *dy)
{
*f=x*x*x-x*x-1;
*dy=3*x*x-2*x;
}
int newton(double *x,double eps,int l)
{
double x1,f,dy;
A:function(*x,&f,&dy);
if(dy==0)
{
l=0;
return(0);
}
x1=*x-f/dy;
if(fabs(*x-x1)>eps||fabs(f)>eps)
{
l-=1;
*x=x1;
if(l==0)
return(1);
goto A;
}
*x=x1;
return(1);
}
相关文章推荐
- 牛顿法解方程
- 用C语言编写如下程序:牛顿法求方程f(x)=x^3-x-1=0在x0=1.5附近的实根,精确到6位小数。
- 牛顿法求方程
- 牛顿法和割线法方程求根(C语言)
- 牛顿法解方程的根
- 牛顿法和SGD求解方程的理解和简单实现
- 4.用二分发,迭代法,牛顿法求方程.
- 牛顿法求方程根
- 求解方程根的近似解:牛顿法
- 梯度下降、牛顿法、拟牛顿法比较
- 机器学习中梯度下降法和牛顿法的比较
- python解方程
- DH坐标系下的变换矩阵方程
- 【t050】方程求解
- Q144:FS,求解流体方程(逻辑总结)
- 【转载】递推公式的特征方程及通项公式
- 牛顿法求最优值与Hessian矩阵
- 解方程
- 101 单调性及极值复习 型三:方程根
- 牛顿法和拟牛顿法 -- BFGS, L-BFGS, OWL-QN