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

📄 o频,振,相谱,分析.cpp

📁 简单的数据分析处理
💻 CPP
字号:
#include<stdio.h>
#define n 50
#include"math.h"
#define PI 3.1415926
void main()
{
int i,j;
float y[n],a[n]={.0},b[n]={.0},an[n],fi[n];
void csju(float y[]);
void anmax(float an[]);

csju(y);
printf("Y[n]=实部+虚部\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
a[i]+=float(y[j]*cos((2*PI/n)*j*i));
b[i]+=-float(y[j]*sin((2*PI/n)*j*i));
}
an[i]=float(sqrt(a[i]*a[i]+b[i]*b[i]));
fi[i]=float(atan(b[i]/a[i]));
printf("Y[%d]=%f+i%f\n",i+1,a[i],b[i]);
}
printf("振幅谱为:\n");
for(i=0;i<n;i++)
printf("An[%d]=%f\n",i+1,an[i]);
anmax(an);
printf("相位谱为:\n");
for(i=0;i<n;i++)
{
	printf("fi[%d]=%f  \t",i+1,fi[i]);
	if((i+1)%2==0)printf("\n");
}
printf("\n");
}
void csju(float y[])
{
	  int i;
	  FILE   *fp;
	  fp=fopen("褶积数据.txt",   "r");
	  printf("文件提取数据如下:\n");
	  for(i=0;i<n;i++)
	 {
	  fscanf(fp,"%f",&y[i]);
	  printf("y[%d]=%f\n",i+1,y[i]);
	  }
	  printf("********zcx*run*over!*********\n");
	  fclose(fp);
}
void anmax(float an[])
{
	int i=2;
	float max=an[1];
	do 
	{
		if(an[i]<max&&max>an[i+1])
	{
		printf("************************************\n");
		printf("振幅极大值的序列号是:n1=%d*\n",i-1);
		printf("f0=%f\n",(i-1)/(n*0.004));
	
		break;
	}
		max=an[i];
	i++;
	
}while(i<n/2);
	printf("振幅谱An的极值是:%f\n",max);
	printf("************************************\n");
	
}

⌨️ 快捷键说明

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