小波变换的 C 源代码
#define N0 128
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
#include "string.h"
void db4(double *h,double *g,double *hh,double *gg);
void wd(int N,double *h,double *g,double *c0,double *c,double *d);
void wr(int N,double *h,double *g,double *c, double *d,double *cd);
void main()
{
double fk[N0],c0[N0],c[N0],d[N0];
double h[8],g[8],hh[8],gg[8];
float fk0[N0];
FILE *fp;
int i,k,j,n,l,N;
fp=fopen("wdata.dat","rt");
fscanf(fp,"%d",&N);
for(k=0;k
}
for(k=0;k
h[7]=-0.0105974017850890;
h[6]= 0.0328830116668852;
h[5]= 0.0308413818355607;
h[4]=-0.1870348117190931;
h[3]=-0.0279837694168599;
h[2]= 0.6308807679398597;
h[1]= 0.7148465705529154;
h[0]= 0.2303778133088964;
isgn=1;
for(k=0;k<8;k++) {
gg[k]=isgn*h[7-k];
isgn=-isgn;
}
for(k=0;k<8;k++) {
g[k]=gg[7-k];
hh[k]=h[7-k];
}
return;
}
float fun(float x)
{
float pi=3.1415926;
float yx=30*exp(-x/40)*sin(2*pi*x/40);
return(yx);
}