⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 二次指数.txt

📁 二次指数平滑预测法和三次指数平滑预测法是普遍的预测方法,应用很广,本代码还包含其平滑系数的确定
💻 TXT
字号:
#include<stdio.h>
#include<math.h>
double sw(double x)
{
	double t,z;
	
    z=(int)((fabs(x)*pow(10,1))+0.5);
    t=z/pow(10.0,1);
    if(x>=0)
    	return t; 
    else
  	    return -t;
}

main()
{
	int i,n;
	double y[30],y1[30],s1[30],s2[30],z,mse,a,b;
	printf("ge shu:\n");
	scanf("%d",&n);
	printf("z:\n");
	scanf("%lf",&z);
	printf("gshu ju:\n");
	for(i=1;i<=n;i++)
	{
		scanf("%lf",&y[i]);
	}
	s1[0]=s2[0]=sw((y[1]+y[2]+y[3])/3);

		for(i=1;i<=n;i++)
		{	
			s1[i]=sw(z*y[i]+(1-z)*s1[i-1]);
			s2[i]=sw(z*s1[i]+(1-z)*s2[i-1]);
			
			y1[i]=sw(((2-z)*s1[i-1]-s2[i-1])/(1-z));
			mse=mse+pow(y[i]-y1[i],2);
		}
		mse=sqrt(mse/n);
		a=2*s1[n]-s2[n];
		b=z*(s1[n]-s2[n])/(1-z);
	
	
	printf("a=%lf,b=%lf,mse=%lf\n",a,b,mse);
	printf("s1[i]\n");
	for(i=1;i<=n;i++)
	{
		
	    printf("%lf  ",s1[i]);
    }
    printf("\ns2[i]\n");
	for(i=1;i<=n;i++)
	{
		
	    printf("%lf  ",s2[i]);
    }
    
    printf("\ny1[i]\n");
	for(i=1;i<=n;i++)
	{
		
	    printf("%lf  ",y1[i]);
    }
    printf("\n");
	system("pause");
}







#include<stdio.h>
#include<math.h>
double sw(double x)
{
	double t,z;
	
    z=(int)((fabs(x)*pow(10,1))+0.5);
    t=z/pow(10.0,1);
    if(x>=0)
    	return t; 
    else
  	    return -t;
}

main()
{
	int i,n;
	double y[30],y1[30],s1[30],s2[30],z,mse,a,b,min=99999.9,l;
	printf("ge shu:\n");
	scanf("%d",&n);
	
	printf("gshu ju:\n");
	for(i=1;i<=n;i++)
	{
		scanf("%lf",&y[i]);
	}
	s1[0]=s2[0]=sw((y[1]+y[2]+y[3])/3);
    for(z=0.001;z<1.000;z=z+0.001)
	{
		for(i=1;i<=n;i++)
		{	
			s1[i]=sw(z*y[i]+(1-z)*s1[i-1]);
			s2[i]=sw(z*s1[i]+(1-z)*s2[i-1]);
			
			y1[i]=sw(((2-z)*s1[i-1]-s2[i-1])/(1-z));
			mse=mse+pow(y[i]-y1[i],2);
		}
		mse=sqrt(mse/n);
		if(mse<min)
		{
			min=mse;
			l=z;
		}
	}
	printf("%lf,%lf",l,z);
	system("pause");
}









⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -