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

📄 differ.cpp

📁 DFP变尺度法
💻 CPP
字号:
//differ.cpp
#include"differ.h"

CMatrix CDiffer::operator()(double(*pfun)(CMatrix&),CMatrix X,double error)
{
	int n=X.getrow();         //X(初始点)为列向量
	int flag(0);
	double h;
	CMatrix H(n,1),	temp(n,1);
	double df1,df2;
	for(int i=1;i<=n;i++)
	{
		H(i,1)=1;
		h=1;
		df1=(pfun(X+H)-pfun(X-H))/(2*h);
		while(!flag)
		{
			h/=2;
			H(i,1)=h;
			df2=(pfun(X+H)-pfun(X-H))/(2*h);
			if(fabs(df1-df2)<=error)
				flag=1;
			else
				df1=df2;
		}
		temp(i,1)=df2;
		H(i,1)=0;
		flag=0;
	}
	return temp;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -