📄 threeinserting.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 + -