C#实现随机过程的模型识别
2007-05-18 14:12
363 查看
string Zt = textBoxZt.Text.Trim();
string [] Zt1 = Zt.Split(',');
double []Z=new double[Zt1.Length];
double []W=new double[Zt1.Length];
double Zsum=0,Zave=0;
for(int i =0;i < Zt1.Length;i++)
{
Z[i] = Convert.ToDouble(Zt1[i]);
Zsum=Zsum+Z[i];
}
Zave=Zsum/Zt1.Length;
Zave=Math.Round(Zave);
for(int i =0;i < Zt1.Length;i++)
{
W[i]=Z[i]-Zave;
W[i]=Math.Round(W[i]);
textBoxWt.Text+="W["+(i+1).ToString()+"]="+W[i].ToString()+",";
}
string Zt = textBoxZt.Text.Trim();
string [] Zt1 = Zt.Split(',');
double []Z=new double[Zt1.Length];
double []W=new double[Zt1.Length];
double []r=new double[Zt1.Length];
double Zsum=0,Zave=0;
for(int i =0;i < Zt1.Length;i++)
{
Z[i] = Convert.ToDouble(Zt1[i]);
Zsum=Zsum+Z[i];
}
Zave=Zsum/Zt1.Length;
Zave=Math.Round(Zave);
for(int i =0;i < Zt1.Length;i++)
{
W[i]=Z[i]-Zave;
W[i]=Math.Round(W[i]);
}
for(int k =0; k < 16;k++)
{
for(int j=0;j<Zt1.Length-k;j++)
{
r[k]=r[k]+W[j]*W[j+k];
}
r[k]=r[k]/Zt1.Length;
r[k]=Math.Round(r[k]);
textBoxRk.Text+="r["+k.ToString()+"]="+r[k].ToString()+",";
}
textBoxPk.Text="";
string Zt = textBoxZt.Text.Trim();
string [] Zt1 = Zt.Split(',');
double []Z=new double[Zt1.Length];
double []W=new double[Zt1.Length];
double []r=new double[Zt1.Length];
double []p=new double[Zt1.Length];
double Zsum=0,Zave=0;
for(int i =0;i < Zt1.Length;i++)
{
Z[i] = Convert.ToDouble(Zt1[i]);
Zsum=Zsum+Z[i];
}
Zave=Zsum/Zt1.Length;
Zave=Math.Round(Zave);
for(int i =0;i < Zt1.Length;i++)
{
W[i]=Z[i]-Zave;
}
for(int k =0; k < 16;k++)
{
for(int j=0;j<Zt1.Length-k;j++)
{
r[k]=r[k]+W[j]*W[j+k];
}
r[k]=r[k]/Zt1.Length;
r[k]=Math.Round(r[k]);
}
for(int k =1; k < 16;k++)
{
p[k]=Convert.ToDouble(r[k]/r[0]);
p[k]=Math.Round(p[k],2);
textBoxPk.Text+="p["+k.ToString()+"]="+p[k].ToString()+",";
}
textBoxQkk.Text="";
string Zt = textBoxZt.Text.Trim();
string [] Zt1 = Zt.Split(',');
double []Z=new double[Zt1.Length];
double []W=new double[Zt1.Length];
double []r=new double[Zt1.Length];
double []p=new double[Zt1.Length];
double [,]Q=new double[Zt1.Length,Zt1.Length];
double Zsum=0,Zave=0;
for(int i =0;i < Zt1.Length;i++)
{
Z[i] = Convert.ToDouble(Zt1[i]);
Zsum=Zsum+Z[i];
}
Zave=Zsum/Zt1.Length;
Zave=Math.Round(Zave);
for(int i =0;i < Zt1.Length;i++)
{
W[i]=Z[i]-Zave;
W[i]=Math.Round(W[i]);
}
for(int k =0; k < 16;k++)
{
for(int j=0;j<Zt1.Length-k;j++)
{
r[k]=r[k]+W[j]*W[j+k];
}
r[k]=r[k]/Zt1.Length;
r[k]=Math.Round(r[k]);
}
for(int k =1; k < 16;k++)
{
p[k]=Convert.ToDouble(r[k]/r[0]);
p[k]=Math.Round(p[k],2);
}
Q[1,1]=p[1];
for(int k=1;k<16;k++)
{
double s=0,t=0;
for(int j=1;j<k+1;j++)
{
s=s+p[k+1-j]*Q[k,j];
}
for(int j=1;j<k+1;j++)
{
t=t+p[j]*Q[k,j];
}
Q[k+1,k+1]=Convert.ToDouble((p[k+1]-s)/(1-t));
for(int j=1;j<k+1;j++)
{
Q[k+1,j]=Q[k,j]-Q[k+1,k+1]*Q[k,k-j+1];
Q[k,j]=Math.Round(Q[k,j],2);
textBoxQkk.Text+="Q["+k.ToString()+","+j.ToString()+"]="+Q[k,j].ToString()+",";
}
textBoxMX.Text="";
textBoxYB.Text="";
textBoxWC.Text="";
string Zt = textBoxZt.Text.Trim();
string [] Zt1 = Zt.Split(',');
int n=Zt1.Length;
double []Z=new double[Zt1.Length];
double []W=new double[Zt1.Length];
double []r=new double[Zt1.Length];
double []p=new double[Zt1.Length];
double [,]Q=new double[Zt1.Length,Zt1.Length];
double Zsum=0,Zave=0;
for(int i =0;i < Zt1.Length;i++)
{
Z[i] = Convert.ToDouble(Zt1[i]);
Zsum=Zsum+Z[i];
}
Zave=Zsum/Zt1.Length;
Zave=Math.Round(Zave);
for(int i =0;i < Zt1.Length;i++)
{
W[i]=Z[i]-Zave;
W[i]=Math.Round(W[i]);
}
for(int k =0; k < 16;k++)
{
for(int j=0;j<Zt1.Length-k;j++)
{
r[k]=r[k]+W[j]*W[j+k];
}
r[k]=r[k]/Zt1.Length;
r[k]=Math.Round(r[k]);
}
for(int k =1; k < 16;k++)
{
p[k]=Convert.ToDouble(r[k]/r[0]);
p[k]=Math.Round(p[k],2);
}
Q[1,1]=p[1];
for(int k=1;k<16;k++)
{
double s=0,t=0;
for(int j=1;j<k+1;j++)
{
s=s+p[k+1-j]*Q[k,j];
}
for(int j=1;j<k+1;j++)
{
t=t+p[j]*Q[k,j];
}
Q[k+1,k+1]=Convert.ToDouble((p[k+1]-s)/(1-t));
for(int j=1;j<k+1;j++)
{
Q[k+1,j]=Q[k,j]-Q[k+1,k+1]*Q[k,k-j+1];
Q[k,j]=Math.Round(Q[k,j],2);
}
}
double Q1=p[1],d2=Convert.ToDouble(r[0]*(1-p[1]*p[1]));
d2=Math.Round(d2);
string Zt = textBoxZt.Text.Trim();
string [] Zt1 = Zt.Split(',');
int n=Zt1.Length;
double []Z=new double[Zt1.Length];
double []W=new double[Zt1.Length];
double []r=new double[Zt1.Length];
double []p=new double[Zt1.Length];
double [,]Q=new double[Zt1.Length,Zt1.Length];
double Zsum=0,Zave=0;
for(int i =0;i < Zt1.Length;i++)
{
Z[i] = Convert.ToDouble(Zt1[i]);
Zsum=Zsum+Z[i];
}
Zave=Zsum/Zt1.Length;
Zave=Math.Round(Zave);
for(int i =0;i < Zt1.Length;i++)
{
W[i]=Z[i]-Zave;
W[i]=Math.Round(W[i]);
}
for(int k =0; k < 16;k++)
{
for(int j=0;j<Zt1.Length-k;j++)
{
r[k]=r[k]+W[j]*W[j+k];
}
r[k]=r[k]/Zt1.Length;
r[k]=Math.Round(r[k]);
}
for(int k =1; k < 16;k++)
{
p[k]=Convert.ToDouble(r[k]/r[0]);
p[k]=Math.Round(p[k],2);
}
Q[1,1]=p[1];
for(int k=1;k<16;k++)
{
double s=0,t=0;
for(int j=1;j<k+1;j++)
{
s=s+p[k+1-j]*Q[k,j];
}
for(int j=1;j<k+1;j++)
{
t=t+p[j]*Q[k,j];
}
Q[k+1,k+1]=Convert.ToDouble((p[k+1]-s)/(1-t));
for(int j=1;j<k+1;j++)
{
Q[k+1,j]=Q[k,j]-Q[k+1,k+1]*Q[k,k-j+1];
Q[k,j]=Math.Round(Q[k,j],2);
}
}
double Q1=p[1]*(1-p[2])/(1-p[1]*p[1]),Q2=(p[2]-p[1]*p[1])/(1-p[1]*p[1]);
Q1=Math.Round(Q1,3);
Q2=Math.Round(Q2,3);
double d2=Convert.ToDouble(r[0]*(1-Q1*p[1]-Q2*p[2]));
d2=Math.Round(d2);
string Zt = textBoxZt.Text.Trim();
string [] Zt1 = Zt.Split(',');
int n=Zt1.Length;
double []Z=new double[Zt1.Length];
double []W=new double[Zt1.Length];
double []r=new double[Zt1.Length];
double []p=new double[Zt1.Length];
double [,]Q=new double[Zt1.Length,Zt1.Length];
double Zsum=0,Zave=0;
for(int i =0;i < Zt1.Length;i++)
{
Z[i] = Convert.ToDouble(Zt1[i]);
Zsum=Zsum+Z[i];
}
Zave=Zsum/Zt1.Length;
Zave=Math.Round(Zave);
for(int i =0;i < Zt1.Length;i++)
{
W[i]=Z[i]-Zave;
W[i]=Math.Round(W[i]);
}
for(int k =0; k < 16;k++)
{
for(int j=0;j<Zt1.Length-k;j++)
{
r[k]=r[k]+W[j]*W[j+k];
}
r[k]=r[k]/Zt1.Length;
r[k]=Math.Round(r[k]);
}
for(int k =1; k < 16;k++)
{
p[k]=Convert.ToDouble(r[k]/r[0]);
p[k]=Math.Round(p[k],2);
}
Q[1,1]=p[1];
for(int k=1;k<16;k++)
{
double s=0,t=0;
for(int j=1;j<k+1;j++)
{
s=s+p[k+1-j]*Q[k,j];
}
for(int j=1;j<k+1;j++)
{
t=t+p[j]*Q[k,j];
}
Q[k+1,k+1]=Convert.ToDouble((p[k+1]-s)/(1-t));
for(int j=1;j<k+1;j++)
{
Q[k+1,j]=Q[k,j]-Q[k+1,k+1]*Q[k,k-j+1];
Q[k,j]=Math.Round(Q[k,j],2);
}
}
double o1=Math.Round(-2*p[1]/(1+Math.Sqrt(1-4*p[1]*p[1])),3);
double d2=Math.Round(r[0]*(1+Math.Sqrt(1-4*p[1]*p[1]))/2,3);
double []a=new double
;
for(int k=1;k<n;k++)
{
a[k]=Z[k]-Zave+o1*a[k-1];
}
string Zt = textBoxZt.Text.Trim();
string [] Zt1 = Zt.Split(',');
int n=Zt1.Length;
double []Z=new double[Zt1.Length];
double []W=new double[Zt1.Length];
double []r=new double[Zt1.Length];
double []p=new double[Zt1.Length];
double [,]Q=new double[Zt1.Length,Zt1.Length];
double Zsum=0,Zave=0;
for(int i =0;i < Zt1.Length;i++)
{
Z[i] = Convert.ToDouble(Zt1[i]);
Zsum=Zsum+Z[i];
}
Zave=Zsum/Zt1.Length;
Zave=Math.Round(Zave);
for(int i =0;i < Zt1.Length;i++)
{
W[i]=Z[i]-Zave;
W[i]=Math.Round(W[i]);
}
for(int k =0; k < 16;k++)
{
for(int j=0;j<Zt1.Length-k;j++)
{
r[k]=r[k]+W[j]*W[j+k];
}
r[k]=r[k]/Zt1.Length;
r[k]=Math.Round(r[k]);
}
for(int k =1; k < 16;k++)
{
p[k]=Convert.ToDouble(r[k]/r[0]);
p[k]=Math.Round(p[k],2);
}
Q[1,1]=p[1];
for(int k=1;k<16;k++)
{
double s=0,t=0;
for(int j=1;j<k+1;j++)
{
s=s+p[k+1-j]*Q[k,j];
}
for(int j=1;j<k+1;j++)
{
t=t+p[j]*Q[k,j];
}
Q[k+1,k+1]=Convert.ToDouble((p[k+1]-s)/(1-t));
for(int j=1;j<k+1;j++)
{
Q[k+1,j]=Q[k,j]-Q[k+1,k+1]*Q[k,k-j+1];
Q[k,j]=Math.Round(Q[k,j],2);
}
}
double Q1=p[2]/p[1];Q1=Math.Round(Q1,2);
r[0]=r[0]*(1+Q1*Q1-2*Q1*p[1]);r[0]=Math.Round(r[0],2);
r[1]=r[0]*(1+Q1*Q1)*p[1]-Q1-Q1*p[2];r[1]=Math.Round(r[1],2);
p[1]=r[1]/r[0];p[1]=Math.Round(p[1],3);
double o1=Math.Round(-2*p[1]/(1+Math.Sqrt(1-4*p[1]*p[1])),2);
double d2=Math.Round(r[0]*(1+Math.Sqrt(1-4*p[1]*p[1]))/2,3);
double []a=new double
;
for(int k=1;k<n;k++)
{
a[k]=Z[k]-Zave+o1*a[k-1];
}
string [] Zt1 = Zt.Split(',');
double []Z=new double[Zt1.Length];
double []W=new double[Zt1.Length];
double Zsum=0,Zave=0;
for(int i =0;i < Zt1.Length;i++)
{
Z[i] = Convert.ToDouble(Zt1[i]);
Zsum=Zsum+Z[i];
}
Zave=Zsum/Zt1.Length;
Zave=Math.Round(Zave);
for(int i =0;i < Zt1.Length;i++)
{
W[i]=Z[i]-Zave;
W[i]=Math.Round(W[i]);
textBoxWt.Text+="W["+(i+1).ToString()+"]="+W[i].ToString()+",";
}
string Zt = textBoxZt.Text.Trim();
string [] Zt1 = Zt.Split(',');
double []Z=new double[Zt1.Length];
double []W=new double[Zt1.Length];
double []r=new double[Zt1.Length];
double Zsum=0,Zave=0;
for(int i =0;i < Zt1.Length;i++)
{
Z[i] = Convert.ToDouble(Zt1[i]);
Zsum=Zsum+Z[i];
}
Zave=Zsum/Zt1.Length;
Zave=Math.Round(Zave);
for(int i =0;i < Zt1.Length;i++)
{
W[i]=Z[i]-Zave;
W[i]=Math.Round(W[i]);
}
for(int k =0; k < 16;k++)
{
for(int j=0;j<Zt1.Length-k;j++)
{
r[k]=r[k]+W[j]*W[j+k];
}
r[k]=r[k]/Zt1.Length;
r[k]=Math.Round(r[k]);
textBoxRk.Text+="r["+k.ToString()+"]="+r[k].ToString()+",";
}
textBoxPk.Text="";
string Zt = textBoxZt.Text.Trim();
string [] Zt1 = Zt.Split(',');
double []Z=new double[Zt1.Length];
double []W=new double[Zt1.Length];
double []r=new double[Zt1.Length];
double []p=new double[Zt1.Length];
double Zsum=0,Zave=0;
for(int i =0;i < Zt1.Length;i++)
{
Z[i] = Convert.ToDouble(Zt1[i]);
Zsum=Zsum+Z[i];
}
Zave=Zsum/Zt1.Length;
Zave=Math.Round(Zave);
for(int i =0;i < Zt1.Length;i++)
{
W[i]=Z[i]-Zave;
}
for(int k =0; k < 16;k++)
{
for(int j=0;j<Zt1.Length-k;j++)
{
r[k]=r[k]+W[j]*W[j+k];
}
r[k]=r[k]/Zt1.Length;
r[k]=Math.Round(r[k]);
}
for(int k =1; k < 16;k++)
{
p[k]=Convert.ToDouble(r[k]/r[0]);
p[k]=Math.Round(p[k],2);
textBoxPk.Text+="p["+k.ToString()+"]="+p[k].ToString()+",";
}
textBoxQkk.Text="";
string Zt = textBoxZt.Text.Trim();
string [] Zt1 = Zt.Split(',');
double []Z=new double[Zt1.Length];
double []W=new double[Zt1.Length];
double []r=new double[Zt1.Length];
double []p=new double[Zt1.Length];
double [,]Q=new double[Zt1.Length,Zt1.Length];
double Zsum=0,Zave=0;
for(int i =0;i < Zt1.Length;i++)
{
Z[i] = Convert.ToDouble(Zt1[i]);
Zsum=Zsum+Z[i];
}
Zave=Zsum/Zt1.Length;
Zave=Math.Round(Zave);
for(int i =0;i < Zt1.Length;i++)
{
W[i]=Z[i]-Zave;
W[i]=Math.Round(W[i]);
}
for(int k =0; k < 16;k++)
{
for(int j=0;j<Zt1.Length-k;j++)
{
r[k]=r[k]+W[j]*W[j+k];
}
r[k]=r[k]/Zt1.Length;
r[k]=Math.Round(r[k]);
}
for(int k =1; k < 16;k++)
{
p[k]=Convert.ToDouble(r[k]/r[0]);
p[k]=Math.Round(p[k],2);
}
Q[1,1]=p[1];
for(int k=1;k<16;k++)
{
double s=0,t=0;
for(int j=1;j<k+1;j++)
{
s=s+p[k+1-j]*Q[k,j];
}
for(int j=1;j<k+1;j++)
{
t=t+p[j]*Q[k,j];
}
Q[k+1,k+1]=Convert.ToDouble((p[k+1]-s)/(1-t));
for(int j=1;j<k+1;j++)
{
Q[k+1,j]=Q[k,j]-Q[k+1,k+1]*Q[k,k-j+1];
Q[k,j]=Math.Round(Q[k,j],2);
textBoxQkk.Text+="Q["+k.ToString()+","+j.ToString()+"]="+Q[k,j].ToString()+",";
}
textBoxMX.Text="";
textBoxYB.Text="";
textBoxWC.Text="";
string Zt = textBoxZt.Text.Trim();
string [] Zt1 = Zt.Split(',');
int n=Zt1.Length;
double []Z=new double[Zt1.Length];
double []W=new double[Zt1.Length];
double []r=new double[Zt1.Length];
double []p=new double[Zt1.Length];
double [,]Q=new double[Zt1.Length,Zt1.Length];
double Zsum=0,Zave=0;
for(int i =0;i < Zt1.Length;i++)
{
Z[i] = Convert.ToDouble(Zt1[i]);
Zsum=Zsum+Z[i];
}
Zave=Zsum/Zt1.Length;
Zave=Math.Round(Zave);
for(int i =0;i < Zt1.Length;i++)
{
W[i]=Z[i]-Zave;
W[i]=Math.Round(W[i]);
}
for(int k =0; k < 16;k++)
{
for(int j=0;j<Zt1.Length-k;j++)
{
r[k]=r[k]+W[j]*W[j+k];
}
r[k]=r[k]/Zt1.Length;
r[k]=Math.Round(r[k]);
}
for(int k =1; k < 16;k++)
{
p[k]=Convert.ToDouble(r[k]/r[0]);
p[k]=Math.Round(p[k],2);
}
Q[1,1]=p[1];
for(int k=1;k<16;k++)
{
double s=0,t=0;
for(int j=1;j<k+1;j++)
{
s=s+p[k+1-j]*Q[k,j];
}
for(int j=1;j<k+1;j++)
{
t=t+p[j]*Q[k,j];
}
Q[k+1,k+1]=Convert.ToDouble((p[k+1]-s)/(1-t));
for(int j=1;j<k+1;j++)
{
Q[k+1,j]=Q[k,j]-Q[k+1,k+1]*Q[k,k-j+1];
Q[k,j]=Math.Round(Q[k,j],2);
}
}
double Q1=p[1],d2=Convert.ToDouble(r[0]*(1-p[1]*p[1]));
d2=Math.Round(d2);
string Zt = textBoxZt.Text.Trim();
string [] Zt1 = Zt.Split(',');
int n=Zt1.Length;
double []Z=new double[Zt1.Length];
double []W=new double[Zt1.Length];
double []r=new double[Zt1.Length];
double []p=new double[Zt1.Length];
double [,]Q=new double[Zt1.Length,Zt1.Length];
double Zsum=0,Zave=0;
for(int i =0;i < Zt1.Length;i++)
{
Z[i] = Convert.ToDouble(Zt1[i]);
Zsum=Zsum+Z[i];
}
Zave=Zsum/Zt1.Length;
Zave=Math.Round(Zave);
for(int i =0;i < Zt1.Length;i++)
{
W[i]=Z[i]-Zave;
W[i]=Math.Round(W[i]);
}
for(int k =0; k < 16;k++)
{
for(int j=0;j<Zt1.Length-k;j++)
{
r[k]=r[k]+W[j]*W[j+k];
}
r[k]=r[k]/Zt1.Length;
r[k]=Math.Round(r[k]);
}
for(int k =1; k < 16;k++)
{
p[k]=Convert.ToDouble(r[k]/r[0]);
p[k]=Math.Round(p[k],2);
}
Q[1,1]=p[1];
for(int k=1;k<16;k++)
{
double s=0,t=0;
for(int j=1;j<k+1;j++)
{
s=s+p[k+1-j]*Q[k,j];
}
for(int j=1;j<k+1;j++)
{
t=t+p[j]*Q[k,j];
}
Q[k+1,k+1]=Convert.ToDouble((p[k+1]-s)/(1-t));
for(int j=1;j<k+1;j++)
{
Q[k+1,j]=Q[k,j]-Q[k+1,k+1]*Q[k,k-j+1];
Q[k,j]=Math.Round(Q[k,j],2);
}
}
double Q1=p[1]*(1-p[2])/(1-p[1]*p[1]),Q2=(p[2]-p[1]*p[1])/(1-p[1]*p[1]);
Q1=Math.Round(Q1,3);
Q2=Math.Round(Q2,3);
double d2=Convert.ToDouble(r[0]*(1-Q1*p[1]-Q2*p[2]));
d2=Math.Round(d2);
string Zt = textBoxZt.Text.Trim();
string [] Zt1 = Zt.Split(',');
int n=Zt1.Length;
double []Z=new double[Zt1.Length];
double []W=new double[Zt1.Length];
double []r=new double[Zt1.Length];
double []p=new double[Zt1.Length];
double [,]Q=new double[Zt1.Length,Zt1.Length];
double Zsum=0,Zave=0;
for(int i =0;i < Zt1.Length;i++)
{
Z[i] = Convert.ToDouble(Zt1[i]);
Zsum=Zsum+Z[i];
}
Zave=Zsum/Zt1.Length;
Zave=Math.Round(Zave);
for(int i =0;i < Zt1.Length;i++)
{
W[i]=Z[i]-Zave;
W[i]=Math.Round(W[i]);
}
for(int k =0; k < 16;k++)
{
for(int j=0;j<Zt1.Length-k;j++)
{
r[k]=r[k]+W[j]*W[j+k];
}
r[k]=r[k]/Zt1.Length;
r[k]=Math.Round(r[k]);
}
for(int k =1; k < 16;k++)
{
p[k]=Convert.ToDouble(r[k]/r[0]);
p[k]=Math.Round(p[k],2);
}
Q[1,1]=p[1];
for(int k=1;k<16;k++)
{
double s=0,t=0;
for(int j=1;j<k+1;j++)
{
s=s+p[k+1-j]*Q[k,j];
}
for(int j=1;j<k+1;j++)
{
t=t+p[j]*Q[k,j];
}
Q[k+1,k+1]=Convert.ToDouble((p[k+1]-s)/(1-t));
for(int j=1;j<k+1;j++)
{
Q[k+1,j]=Q[k,j]-Q[k+1,k+1]*Q[k,k-j+1];
Q[k,j]=Math.Round(Q[k,j],2);
}
}
double o1=Math.Round(-2*p[1]/(1+Math.Sqrt(1-4*p[1]*p[1])),3);
double d2=Math.Round(r[0]*(1+Math.Sqrt(1-4*p[1]*p[1]))/2,3);
double []a=new double
;
for(int k=1;k<n;k++)
{
a[k]=Z[k]-Zave+o1*a[k-1];
}
string Zt = textBoxZt.Text.Trim();
string [] Zt1 = Zt.Split(',');
int n=Zt1.Length;
double []Z=new double[Zt1.Length];
double []W=new double[Zt1.Length];
double []r=new double[Zt1.Length];
double []p=new double[Zt1.Length];
double [,]Q=new double[Zt1.Length,Zt1.Length];
double Zsum=0,Zave=0;
for(int i =0;i < Zt1.Length;i++)
{
Z[i] = Convert.ToDouble(Zt1[i]);
Zsum=Zsum+Z[i];
}
Zave=Zsum/Zt1.Length;
Zave=Math.Round(Zave);
for(int i =0;i < Zt1.Length;i++)
{
W[i]=Z[i]-Zave;
W[i]=Math.Round(W[i]);
}
for(int k =0; k < 16;k++)
{
for(int j=0;j<Zt1.Length-k;j++)
{
r[k]=r[k]+W[j]*W[j+k];
}
r[k]=r[k]/Zt1.Length;
r[k]=Math.Round(r[k]);
}
for(int k =1; k < 16;k++)
{
p[k]=Convert.ToDouble(r[k]/r[0]);
p[k]=Math.Round(p[k],2);
}
Q[1,1]=p[1];
for(int k=1;k<16;k++)
{
double s=0,t=0;
for(int j=1;j<k+1;j++)
{
s=s+p[k+1-j]*Q[k,j];
}
for(int j=1;j<k+1;j++)
{
t=t+p[j]*Q[k,j];
}
Q[k+1,k+1]=Convert.ToDouble((p[k+1]-s)/(1-t));
for(int j=1;j<k+1;j++)
{
Q[k+1,j]=Q[k,j]-Q[k+1,k+1]*Q[k,k-j+1];
Q[k,j]=Math.Round(Q[k,j],2);
}
}
double Q1=p[2]/p[1];Q1=Math.Round(Q1,2);
r[0]=r[0]*(1+Q1*Q1-2*Q1*p[1]);r[0]=Math.Round(r[0],2);
r[1]=r[0]*(1+Q1*Q1)*p[1]-Q1-Q1*p[2];r[1]=Math.Round(r[1],2);
p[1]=r[1]/r[0];p[1]=Math.Round(p[1],3);
double o1=Math.Round(-2*p[1]/(1+Math.Sqrt(1-4*p[1]*p[1])),2);
double d2=Math.Round(r[0]*(1+Math.Sqrt(1-4*p[1]*p[1]))/2,3);
double []a=new double
;
for(int k=1;k<n;k++)
{
a[k]=Z[k]-Zave+o1*a[k-1];
}
相关文章推荐
- 使用tensorflow objet_detection API 实现遥感影像飞机模型识别全过程
- 003-Vuforia实现模型从识别图底部上升出来
- C# 用装饰模式实现蝌蚪变青蛙的过程
- C#调用DLL实现图像文字识别(OCR)
- C# 全过程用户权限实现策论 (1.Windows身份验证)
- C# 全过程用户权限实现策论 (3.权限与代码安全访问)
- C#实现指纹识别功能编程
- C#中索引器的实现过程
- 基于 SQLite 数据库的 C# 实体模型的实现
- C#中如何实现文字在图片中移动,最好能在移动过程中慢慢消失
- vs2015 C#实现usb虚拟串口自动识别和重新连接
- 实现随机分页的通用分页存储过程.sql
- 用c#实现拍拍抢拍精灵实现过程--核心代码--腾讯qq拍拍网秒杀器代码
- C#实现人脸识别【SqlHelper】
- C#中索引器的实现过程
- 这学期刚学的用javascript实现随机生成验证码过程(非图片验证码)
- 深度人脸识别的 Caffe 实现(附模型开源地址及论文下载)
- 字符型图片验证码识别完整过程及Python实现
- TensorFlow实现人脸识别(5)-------利用训练好的模型实时进行人脸检测
- SPARK模型实例:两种方法实现随机森林模型(MLlib和ML)