Курсовая работа: Поиск максимума одной функции многих переменных методом покоординатного спуска и с помощью метода
if(a==MAX)
{
for(b=0;b<n;b++)
{
w1+=pow(fabs(x[a][0]+f1[a]*z[0]-(x[b][0]+f1[b]*z[0])),q);
r1[a]+=pow( fabs(x[a][0]+f1[a]*z[0] - (x[b][0]+f1[b]*z[0]) ),q-1)*
sgn( x[a][0]+f1[a]*z[0] - (f1[b]*z[0]+x[b][0]) );
}
e1+=pow((fabs(x[a][0]+f1[a]*z[0]-c)),p);
}
else
{
for(b=0;b<n;b++)
{
w1+=pow((fabs(x[a][0]-x[b][0])),q);
r1[a]+=pow((fabs(x[a][0]-x[b][0])),q-1)*sgn(x[a][0]-x[b][0]);
}
e1+=pow((fabs(x[a][0]-c)),p);
}
}
w1=pow(w1/(n*n),1/q);e1=pow(e1/n,1/p);
//printf("\n f=%f f[a]=%f",e/w,e1/w1);
a=0;
//for(j=1;j<n-1;j++)
//if (((x[j][0]+z[0]*f1[j])<1)&&((x[j][0]+z[0]*f1[j])>0)) a++;
//if(a<n-2) continue;
if (((x[MAX][0]+z[0]*f1[MAX])<1)&&((x[MAX][0]+z[0]*f1[MAX])>0)) a++;
if(a!=1) continue;
if (e1/w1>e/w) break;