《坐标轮换法c程序设计》由会员分享,可在线阅读,更多相关《坐标轮换法c程序设计(3页珍藏版)》请在人人文库网上搜索。
1、1.cpp : Defines the entry point for the console application./用坐标轮换法求得函数的最优解/#include stdafx.h#include math.h#include conio.h#include stdlib.h#define e 0.1double funtion(double x,int a)double f1;f1=pow(pow(x0,2)+x1-11,2)+pow(x0+pow(x1,2)-7,2);return f1;int main(int argc, char* argv)int s12,s22,i,j;do。
2、uble x1002,xl2,h1,t,m,f1,f2,fl,p,f3,f4;h1=0.005,t=0.005,p=2;s10=1,s11=0;s20=0,s21=1;x00=1.,x01=1.;f1=funtion(x0,2);x10=x00+h1*s10;x11=x01+h1*s11;f2=funtion(x1,2);for(j=1;j+)if(f1f2)for(i=2;i+)h1=p*h1;f3=funtion(xi-1,2);xi0=xi-10+h1*s10;xi1=xi-11+h1*s11;f4=funtion(xi,2);if(f3f2)for(i=2;i+)t=p*t;f3=fu。
3、ntion(xi-1,2);xi0=xi-10+t*s20;xi1=xi-11+t*s21;f4=funtion(xi+1,2);if(f3f4) break; x00=xi-10;x01=xi-11;x10=xi-20;x11=xi-21;elset=-t;for(i=1;i+)f3=funtion(xi-1,2);xi0=xi-10+t*s20;xi1=xi-11+t*s21;f4=funtion(xi,2);t=p*t;if(f3f4) break; x00=xi-10;x01=xi-11;x10=xi-20;x11=xi-21;m=pow(pow(x00-x10),2)+pow(x01-x11),2),0.5);if(me)xl0=x00;xl1=x01;fl=funtion(xl,2);printf(最优解为:xl=(%f,%f)n最优解的函数值为:fl=%fn,xl0,xl1,fl);exit(0);elseh1=0.005,t=0.005,p=0.95*p;x00=1.,x01=1.;f1=funtion(x0,2);x10=x00+h1*s10;x11=x01+h1*s11;f2=funtion(x1,2); return 1。