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

📄 threeinserting.cpp

📁 最优化理论与算法(第2版)这本书中的课后作业。用C++实现的一些具体算法。
💻 CPP
字号:
#include<iostream.h>
#include<math.h>

void main()
{
	double x1,x2,deta;
    double f1,f2,f11,f22;

	double s,z,w,x;
	double ans,value,value1;

	x1=-2.15;x2=0.25;deta=0.001;

	f1=pow(x1,4)+2*x1+4;
	f2=pow(x2,4)+2*x2+4;
	f11=4*pow(x1,3)+2;
	f22=4*pow(x2,3)+2;

	do
	{
	s=3*(f2-f1)/(x2-x1);
	z=s-f11-f22;
	w=pow(z,2)-f11*f22;
	x=x1+(x2-x1)*(1-(f22+sqrt(w)+z)/(f22-f11+2*sqrt(w)));

	if(abs(x2-x1)<=deta) 
	{
		ans=x;
		break;
	}

	value=pow(x,4)+2*x+4;
	value1=4*pow(x,3)+2;

	if(value1==0) 
	{
		ans=x;
		break;
	}
	else if(value1<0)
	{
		x1=x;f1=value;f11=value1;
	}
	else
	{
		x2=x;f2=value;f22=value1;
	}
	}while(1);

	value=pow(ans,4)+2*ans+4;

	cout<<"\n三次插值法求解问题三,deta取值为"<<deta<<",估计解为"<<ans<<",极小值为"<<value<<endl<<endl;
}

⌨️ 快捷键说明

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