云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 最优化实验报告

最优化实验报告

  • 62 次阅读
  • 3 次下载
  • 2025/6/14 23:49:28

void Cnewton(float &x1,float &x2,float e){

while(sqrt((8*x1+9)*(8*x1+9)+(4*x2-3)*(4*x2-3))>=e) x1=x1-(x1+9/8.0);x2=x2-(x2-3/4.0); }

Void main(){

float x1,x2,e;

cout<<\请输入初始点(x1,x2):\

cout<<\请输入精确度:\cout<<\极小点为:(\

cout<<\

项目四 (1)

//共轭梯度法算min(x1^2+4x2^2)

void Tidu1(double &a,double &b,double e){ int k=0; double g=4*a*a+8*b*b; double s=-2*a,q=-8*b; again1:

double m=-(s*a+4*q*b)/(s*s+4*q*q); a=a+s*m; b=b+q*m; double g1=4*a*a+8*b*b; if(sqrt(g1)

double n=g1/g; s=-2*a+n*s; q=-8*b+n*q; k=k+1;

goto again1;}

else Tidu1(a,b,e); } } //主函数

void main(){

double x1,x2,e;

cout<<\请输入初始点(x1,x2):\cout<<\请输入精确度:\Tidu1(x1,x2,e);

cout<<\极小点为x=(\cout<<\

(2)

//共轭梯度法算minf(x)=2x1^2+x2^2-x1*x2 void Tidu2(double &a,double &b,double e){

int k=0; double g=(4*a-b)*(4*a-b)+(2*b-a)*(2*b-a); double s=b-4*a,q=a-2*b; again2:

double m=(a*q+s*b-4*a*s-2*b*q)/(4*s*s+2*q*q-2*s*q); a=a+s*m; b=b+q*m;

double g1=(4*a-b)*(4*a-b)+(2*b-a)*(2*b-a); if(sqrt(g1)

double n=g1/g; s=b-4*a+n*s; q=a-2*b+n*q; k=k+1;

goto again2;}else Tidu2(a,b,e);} }

//主函数

void main(){

double x1,x2,e;cout<<\请输入初始点(x1,x2):\cout<<\请输入精确度:\Tidu2(x1,x2,e);

cout<<\极小点为x=(\cout<<\ } (3) //DEP法

void DEP(double &a,double &b,double e){ int k=0; double s=40-8*a,q=12-2*b;

again:

double m=(6*q+20*s-b*q)/(4*s*s+q*q); double a1=a+m*s,b1=b+m*q;

double g=(8*a1-40)*(8*a1-40)+(2*b-12)*(2*b-12); if(sqrt(g)

b=b1;return; } else{if(k<1){

double x=a1-a,y=b1-b;

double c=8*(a1-a),d=2*(b1-b);

double h1=1+x*x/(x*c+y*d)-c*c/(c*c+d*d); double h2=x*y/(x*c+y*d)+c*d/(c*c+d*d); double h3=h2;

double h4=1+y*y/(x*c+y*d)-d*d/(c*c+d*d); double g1=8*a1-40,g2=2*b1-12; s=-h1*g1-h2*g2; q=-h3*g1-h4*g2; k=k+1;

goto again;}else DEP(a1,b1,e);} }

//主函数

void main(){

double x1,x2,e;cout<<\请输入初始点(x1,x2):\cout<<\请输入精确度:\cout<<\极小点为x=(\

cout<<\ }

项目五 (1)

void waidian(double &a,double &b,double e){ int M=4; do{

a=1/2*M; b=M/(M-1); M=100*M;

}while(fabs(a+b-1)>=e); }

void main(){ double x1,x2,e;

cout<<\请输入精确度:\waidian(x1,x2,e);

cout<<\极小点为x=(\cout<<\ } (2)

void neidian(double &a,double &b,double e){ double u1=10; double c=0.1; do{

a=(1+sqrt(1+2*u1))/2; b=u1;u1=u1*c;

}while(a-1>=e&&b>=e); }

void main(){

double x1,x2,e;

cout<<\请输入精确度:\neidian(x1,x2,e);

cout<<\极小点为x=(\

cout<<\ }

搜索更多关于: 最优化实验报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

void Cnewton(float &x1,float &x2,float e){ while(sqrt((8*x1+9)*(8*x1+9)+(4*x2-3)*(4*x2-3))>=e) x1=x1-(x1+9/8.0);x2=x2-(x2-3/4.0); } Void main(){ float x1,x2,e; cout<<\请输入初始点(x1,x2):\cout<<\请输入精确度:\cout<<\极小点为:(\cout<<\

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com