📄 grad.c
字号:
void grad(double (*pf)(double *x),int n,double *point,double *grad)
{
double h=1E-3;
int i;
double *temp;
temp=dvector(0,n-1);
for(i=0;i<n;i++)
{
temp[i]=point[i];
}
for(i=0;i<n;i++)
{
temp[i]+=0.5*h;
grad[i]=4*pf(temp)/(3*h);
temp[i]-=h;
grad[i]-=4*pf(temp)/(3*h);
temp[i]+=(3*h/2);
grad[i]-=(pf(temp)/(6*h));
temp[i]-=(2*h);
grad[i]+=(pf(temp)/(6*h));
point[i]=temp[i];
//printf("comput_grad:point=%f\n",point[i]);
//printf("comput_grad:grad=%f\n",grad[i]);
}
free_dvector(temp,0,n-1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -