⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grad.c

📁 拟牛顿法求函数极小值
💻 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 + -