欢迎来到天天文库
浏览记录
ID:38950355
大小:242.56 KB
页数:11页
时间:2019-06-22
《机械优化设计鲍威尔法编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、鲍威尔法求解二维函数极小值的程序说明一题目利用鲍威尔法求函数的极小值点。二鲍威尔法基本思想:1)给定初始点,选取初始方向组,它由n各线性无关的向量所组成。2)从出发,顺次沿作一维搜索得。接着以为起点,沿方向移动一个的距离,得到分别称为一轮迭代的始点,终点和反射点。始点,终点,反射点所对应的函数值分别表示为同时计算各中间点处的函数值,并记为因此有计算n个函数值之差,记作其中最大者记作3)根据是否满足判别条件和来确定是否要对原方向组进行替换。若不满足判别条件,则下轮迭代应对原方向组进行替换,将补充到原方向组的最后位置,而除掉。即新方向组为,,…,,,…,,作
2、为下轮迭代的搜索方向。下轮迭代的始点取方向进行一维搜索得极小点。1)判断是否满足收敛准则。若满足则取为极小点,否则应置,返回2,继续进行下一轮迭代。改进后的鲍威尔法程序框图如下:三用鲍威尔法求函数程序如下://鲍威尔法Dlg.cpp:implementationfile//#include"stdafx.h"#include"鲍威尔法.h"#include"鲍威尔法Dlg.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif///////
3、////////////////////////////////////////////////////////////////////////CAboutDlgdialogusedforAppAboutclassCAboutDlg:publicCDialog{public:CAboutDlg();//DialogData//{{AFX_DATA(CAboutDlg)enum{IDD=IDD_ABOUTBOX};//}}AFX_DATA//ClassWizardgeneratedvirtualfunctionoverrides//{{AFX_VIRTUA
4、L(CAboutDlg)protected:virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDVsupport//}}AFX_VIRTUAL//Implementationprotected://{{AFX_MSG(CAboutDlg)//}}AFX_MSGDECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg():CDialog(CAboutDlg::IDD){//{{AFX_DATA_INIT(CAboutDlg)//}}AFX_DATA_INIT}voidCAb
5、outDlg::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CAboutDlg)//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)//{{AFX_MSG_MAP(CAboutDlg)//Nomessagehandlers//}}AFX_MSG_MAPEND_MESSAGE_MAP()////////////////////////////////////////////////////
6、///////////////////////////CMyDlgdialogCMyDlg::CMyDlg(CWnd*pParent/*=NULL*/):CDialog(CMyDlg::IDD,pParent){//{{AFX_DATA_INIT(CMyDlg)m_x01=0.0f;m_x02=0.0f;m_x1=0.0f;m_x2=0.0f;//}}AFX_DATA_INIT//NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32m_hIcon=AfxGetApp()->LoadIcon
7、(IDR_MAINFRAME);}voidCMyDlg::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CMyDlg)DDX_Text(pDX,IDC_x01,m_x01);DDX_Text(pDX,IDC_x02,m_x02);DDX_Text(pDX,IDC_x1,m_x1);DDX_Text(pDX,IDC_x2,m_x2);//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CMyDlg,CDialog)//{{AF
8、X_MSG_MAP(CMyDlg)ON_WM_SYSCOMMAND()ON_WM
此文档下载收益归作者所有