www.pudn.com > jiaquanhuigui.rar > main.cpp
#include "head.h"
double forcastcoefficient[N];
int number;
double maxprice=500;
double forcastprice[N];
double forcasterror[N];
//double maxerror=0.0;
//double meanerror=0.0;
double threshold=0.9998;
double deltay[N];
double cossimilardegree(double a[N],double b[N]);
void regression(int ,int );
//double cossimilardegree1(double a[N],double b[N]);
void findsimilarday(double x[N]);
void regressioncoefficientchecking( );
double yuce(int);
void correct(double x[]);
void weightedregression(double x[N],int ,int );
double a[N];
double b[N];
void main(void)
{
double p[N];
ofstream fp;
fp.open("out_price.txt",ios::out);
getteachingdataload();
getteachingdataprice();
getdataload();
getdataprice();
//for(int i=0;i<=daynumber;i++)
//data2[i]=data[i];
//findsimilarday(data[daynumber].loadsequence);
// fp<<"当余弦相关度阈值设为"<threshold)
{
//cout<<"temp["<maxprice) forcastprice[interval]=maxprice;
q=forcastprice[interval];
forcasterror[interval]=(forcastprice[interval]-data[daynumber].pricesequence[interval])/data[daynumber].pricesequence[interval];
// if(fabs(forcasterror[interval])>maxerror) maxerror=fabs(forcasterror[interval]);
//meanerror+=fabs(forcasterror[interval]);
cout<<"第"<Ta_5) cout<<"a["<Ta_5) cout<<"b["<Ta_5&&tb[i]>Ta_5)
{
// cout<<"ta["<n) m=n;
if (m>20) m=20;
z=0.0;
for (i=0; i<=n-1; i++) z=z+x[i]/(1.0*n);
b[0]=1.0; d1=1.0*n; p=0.0; c=0.0;
for (i=0; i<=n-1; i++)
{
p=p+(x[i]-z); c=c+y[i];}
c=c/d1; p=p/d1;
a[0]=c*b[0];
if (m>1)
{
t[1]=1.0; t[0]=-p;
d2=0.0; c=0.0; g=0.0;
for (i=0; i<=n-1; i++)
{
q=x[i]-z-p; d2=d2+q*q;
c=c+y[i]*q;
g=g+(x[i]-z)*q*q;
}
c=c/d2; p=g/d2; q=d2/d1;
d1=d2;
a[1]=c*t[1]; a[0]=c*t[0]+a[0];
}
for (j=2; j<=m-1; j++)
{
s[j]=t[j-1];
s[j-1]=-p*t[j-1]+t[j-2];
if (j>=3)
for (k=j-2; k>=1; k--)
s[k]=-p*t[k]+t[k-1]-q*b[k];
s[0]=-p*t[0]-q*b[0];
d2=0.0; c=0.0; g=0.0;
for (i=0; i<=n-1; i++)
{
q=s[j];
for (k=j-1; k>=0; k--)
q=q*(x[i]-z)+s[k];
d2=d2+q*q; c=c+y[i]*q;
g=g+(x[i]-z)*q*q;
}
c=c/d2; p=g/d2; q=d2/d1;
d1=d2;
a[j]=c*s[j]; t[j]=s[j];
for (k=j-1; k>=0; k--)
{
a[k]=c*s[k]+a[k];
b[k]=t[k];
t[k]=s[k];
}
}
dt[0]=0.0; dt[1]=0.0; dt[2]=0.0;
for (i=0; i<=n-1; i++)
{
q=a[m-1];
for (k=m-2; k>=0; k--)
q=a[k]+q*(x[i]-z);
p=q-y[i];
if (fabs(p)>dt[2]) dt[2]=fabs(p);
dt[0]=dt[0]+p*p;
dt[1]=dt[1]+fabs(p);
}
return;
}
*/