📄 最小二乘拟合频率.cpp
字号:
#define <stdio.h>
#define <math.h>
#define N 78 //采样周期
#define M 200 //存储数据总数
main()
{
int n,k,i;
double a1,a2,a3,a4,b1,b2,a,f1,f2;
double x[n],y[n];
for(n=0;n<M;n++) //构造x,y
{
for(i=0;i<N;i++)
{
a[i]=0.5
}
x[n]=2u[n+1];
y[n]=u[n]+u[n+2];
}
for(k=0;k<N;k++) //最小二乘法
{
a1=a1+x[n];
a2=a2+y[n];
a3=a1*a2;
a4=a4+x[n]*y[n];
b1=b1+x[n]*x[n];
b2=a1*a1;
}
a=(N*a4-a1*a2)/(N*b1-b2);
f1=acos(a);
f2=float arccos(a);
}
/////////////////////////////////////////
//#include "stdio.h"
//#include "math.h"
#define PI 3.14159
//int cos_tab[512];
#define NN 1000 //余弦表个数
//void main()
cos_tab[NN]; //余弦表
float arccos(float l)
{
int i,x,index;
float y1;
for(i=0;i<NN;i++)
{
cos_tab[i]=(int)(32767*cos(2*PI*i/NN));
//printf("%d",sin_tab[i]);
}
x=l; //scanf("%d",&x);
index=(int)(256*x/PI);
y1=cos_tab[index]+(256*x/PI-i)(cos_tab[index+1]-cos_tab[index]);
return (y1); //printf("%d",y);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -