请教c程序 差分求导

来源:百度知道 编辑:UC知道 时间:2024/07/01 01:02:37
这是我写的 差分法求导 f(x)=2*x*x+3 可运行结果是零。
请教大侠帮看看问题出哪了。跪谢了。
#include "math.h"
#include "stdio.h"

long double dcmtcf(x,y)
{
y=2*x*x+3;
return(y);
}

main()
{

long double dx,dy,dd1,dd2,x,y,x0,eps;
dx=0.5,x0=3,eps=0.00001;

dy=dcmtcf(x0,y)-dcmtcf(x0+dx,y);
dd1=dy/dx;
dx=0.5*dx;
dy=dcmtcf(x0,y)-dcmtcf(x0+dx,y);
dd2=dy/dx;
if (fabs(dd1-dd2)<eps)
printf("%d\n",dd2);
else
{ dd1=dd2;
dx=0.5*dx;
dy=dcmtcf(x0,y)-dcmtcf(x0+dx,y);
dd2=dy/dx;
}return(dd2);
}

我是学的c++,可能不太一样吧,但是大体应该是一样的。
那个调用的函数,被调用的那个long double dcmtcf(x,y),在c++中应该是在xy前面加上定义的类型的。long double dcmtcf(double x,double y)