sillbort.c

来自「时间域的错误希尔伯特变换」· C语言 代码 · 共 46 行

C
46
字号
#include "head.h"

void main()
{	
	int i,j;double r[M];double x[N];double s[Z]={0};
//*******************************************************
	//从 input3.dat 读取数据
	FILE *fp,*fp1,*fp2;
	fp=fopen("cos.txt","w");
	//fp2=fopen("r1.txt","w");
	/*存储数据的数组*/
	for(i=0;i<N;i++)
	{
		x[i]=cos(i*dt);
	    //fprintf(fp2,"%lf\n",x[i]);
	}
//*******************************************************
	//求取滤波因子
	r[0]=1000000000000;
	for(i=1;i<M;i++)
	{
		r[i]=1/(pi*dt*i);
	}
	//	fprintf(fp2,"%lf\n",r[i]);

//*******************************************************
	//褶积滤波
	
	for(i=0;i<Z;i++)/*做褶积*/
	{
		for(j=0;j<N;j++)
		{	
       		if(i-j>=0&&i-j<=M-1)s[i]+=r[i-j]*x[j];
		}

	}
//*******************************************************
	//滤波结果存储
	fp1=fopen("结果.txt","w");
	for(j=0;j<Z;j++)
	{ 
		fprintf(fp1,"%f %f\n",j*dt,s[j]);
	} 
	fclose(fp);fclose(fp1);
}

⌨️ 快捷键说明

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