Курсовая работа: Поиск максимума одной функции многих переменных методом покоординатного спуска и с помощью метода
w=new double[10000];
f1=new double[10000];
x=new double[n];
l=new int[10000];
for(xx=0.5;xx<1;xx+=0.01)
for(yy=xx;yy<1);yy+=0.01)
{
p=1./(1.-xx);
q=1./(1.-yy);
memset(w,0,sizeof(double)*10000);
memset(e,0,sizeof(double)*10000);
memset(f1,0,sizeof(double)*10000);
memset(x,0,sizeof(double)*n);
x[n-1]=1;
j=0;
for(i=0;i<10000;i++)
{j=0;
f1[i]=1;c[i][0]=0;c[i][1]=1;c[i][2]=0.5;
while(fabs(f1[i])>0.00000001)
{
f1[i]=0;
for(k=0;k<n;k++)
{ f1[i]+=pow((fabs(x[k]-c[i][2])),(p-1))*sgn(x[k]-c[i][2]);}
if (f1[i]<-0.00000001)
{max=c[i][2];c[i][2]=c[i][2]-(fabs(c[i][2]-c[i][1])/2.0);c[i][1]=max;}
if (f1[i]>0.00000001)
{max=c[i][2];c[i][2]=c[i][2]+(fabs(c[i][2]-c[i][1])/2.0);c[i][1]=max;}
if (fabs(f1[i])<=0.00000001)
{c[i][0]=c[i][2];goto B;}