// 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.1
double funtion(double x[],int a)
{
double f1;
f1=pow(pow(x[0],2)+x[1]-11,2)+pow(x[0]+pow(x[1],2)-7,2);
return f1;
}
int main(int argc, char* argv[])
{
int s1[2],s2[2],i,j;
double x[100][2],xl[2],h1,t,m,f1,f2,fl,p,f3,f4;
h1=0.005,t=0.005,p=2;
s1[0]=1,s1[1]=0;
s2[0]=0,s2[1]=1;
x[0][0]=1.000000,x[0][1]=1.000000;
f1=funtion(x[0],2);
x[1][0]=x[0][0]+h1*s1[0];
x[1][1]=x[0][1]+h1*s1[1];
f2=funtion(x[1],2);
for(j=1;;j++)
{
if(f1>f2)
{
for(i=2;;i++)
{
h1=p*h1;
f3=funtion(x[i-1],2);
x[i][0]=x[i-1][0]+h1*s1[0];
x[i][1]=x[i-1][1]+h1*s1[1];
f4=funtion(x[i],2);
if(f3
}
x[0][0]=x[i-2][0];
x[0][1]=x[i-2][1];