эх.... хорошо то как было... |
|
Понравилось! |
|
Понравилось! |
|
Четверг |
|
Заебали |
|
Свершилось... |
|
Пятница! |
|
Хочу премиум от рапиды |
|
Жесть 2: Впихни не впихуемое... |
// opt.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream.h"
#include "fstream.h"
#include "conio.h"
#include "math.h"
int const m=32;//Кол-во экспериментов
int const p=4;//Кол-во независимых переменных
int main(int argc, char* argv[])
{
float y[m],x[p][m];//исходные данные
float xc[p]={0,0,0,0};;//среднии значения x
float sx[p]={0,0,0,0};//массив среднеквадратичных отклонений независимой переменной
float bx[p],b;//относительное среднеквадратичное отклонение
float bsr=0;//среднее значение исследуемой функции
float c;//стандартное отклонение зависимой переменной
float sxy[p]={0,0,0,0};//ковариация
float ro[p];//взаимная
int i,j;//циклы
int b11;
int F,I,Q,T,B1;
int z=(int)(10+p*15+pow((5*p),2))/10;
float **a=new float*[z];
for(i=0;i<z;i++)
a[i]=new float[z+1];
/*Исодные данные*/
ifstream fin("c:\\data.txt",ios::in||ios::nocreate);
if(!fin)
return 0;
for(i=0;i<m;i++)
fin>>y[i];
for(j=0;j<p;j++)
for(i=0;i<m;i++)
fin>>x[j][i];
fin.close();
/*^Исодные данные^*/
/*Статистические характеристики*/
cout<<"---CP---\n";//среднее значение
for(j=0;j<p;j++)
{
b=0;
for(i=0;i<m;i++)
{
b+=(float)pow(x[j][i],2);
xc[j]+=x[j][i];
}
xc[j]/=m;
bx[j]=(float)pow((b/m-pow(xc[j],2)),0.5);
cout<<xc[j]<<endl;
}
b=0;
for(i=0;i<m;i++)
{
b+=(float)pow(y[i],2);
bsr+=y[i];
}
c=(float)(pow((b/m-pow((bsr/m),2)),0.5));
bsr/=m;
cout<<"---SX---\n";
for(j=0;j<p;j++)//отклонение
{
b=0;
for(i=0;i<m;i++)
{
b+=x[j][i];
}
b/=m;
//cout<<"----"<<j<<"----\n";
for(i=0;i<m;i++)
{
sx[j]+=(float)pow((b-x[j][i]),2);
}
sx[j]/=m;
cout<<sx[j]<<endl;
}
//ковариация
cout<<"---SXY---\n";
for(i=0;i<m;i++)
for(j=0;j<p;j++)
sxy[j]+=(y[i]-bsr)*(x[j][i]-xc[j])/m;
for(j=0;j<p;j++)
cout<<sxy[j]<<endl;
cout<<"---R0---\n";
//взаимная кореляция
for(j=0;j<p;j++)
{
ro[j]=sxy[j]/sx[j]/c;
cout<<ro[j]<<endl;
}
/*^Статистические характеристики^*/
/*Поиск коэффициентов*/
for(i=0;i<z;i++)
for(j=0;j<z;j++)
{
a[i][j]=0;
a[i][j+1]=0;
}
for(I=1;I<=2;I++)
{
F=I-1;
Q=F-1;
for(int II=1;II<=2;II++)
{
Q=Q+1;
if(Q==2)continue;
for(T=1;T<=p;T++)
{
b11=(int)(10*p*T-5*pow((T),2)+15*T-10)*F/10;
for(int E=T;E<=p;E++)
{
b11+=Q;
// cout<<endl<<b11<<endl;
// getch();
for(i=0;i<m;i++)
{
a[b11][z+1]+=(float)(y[i]*pow(x[E-1][i],Q)*pow(x[T-1][i],F));
a[b11][0]+=pow(x[E-1][i],2)*pow(x[T-1][i],F);
for(j=0;j<p;j++)
{
a[b11][i+1]+=pow(x[j][i],2)*pow((x[E-1][i]),Q)*pow(x[T-1][i],F);
B1=F*(10*p-5*p+15)/10;
for(int R=j;R<p;R++)
{
B1++;
a[b11][B1]+=x[j][i]*x[R][i]*pow(x[E-1][i],Q)*pow(x[T-1][i],F);
}
}
}
if(Q<0)
continue;
else
goto p1;
}
if(F==0)
goto p1;
else
continue;
}
p1:
continue;
}
}
cout<<F;
// I=z+1;
/*^Поиск коэффициентов^*/
//delete a;
//getch();
cin>>i;
return 0;
}
Рабочие части проги это ввод, и нахождение статистических характеристик, остальное от лукавого.
|
Жесть |
|
Страницы: [1] Календарь |