傅里叶变换:把连续的事物离散化

2 篇文章 0 订阅

1、曲线用直线逼近
任何曲线都可以由无数条直线无限逼近。对于任意给定的误差,总能找到一组直线和曲线的差距小于此误差。完全没有误差的情况是少数,比如直线本身就可以被直线无误差逼近。但是这些无规律的直线不好把控,对实物的分析并无益处。
2、曲线用多项式逼近
在这里插入图片描述
足够平滑的曲线可以用多项式逼近。相对于1中的直线组,此时的多项式组已经有规律可循。
3、曲线用三角函数逼近
既然曲线能用多项式函数逼近,那还能用别的函数逼近吗?首先要大胆的假设,任何函数组都可以用来逼近曲线。然后对基本函数逐个分析,指数函数、对数函数、幂函数、三角函数等怎么逼近呢?大胆假设的基础上要理性的分析,那种函数逼近简单呢,对指导生产生活有帮助呢(很多理论是在实践的需求下催生的)。

4、离散傅里叶变换:加权计算相似度

int DFT(int dir,int m, double x1,double y1)
{
long i,k;
double arg;
double cosarg,sinarg;
double x2=NULL , y2=NULL;
x2=malloc(m
sizeof(double));
y2=malloc(m
sizeof(double));
if (x2=NULL || y2=NULL)
return (FALSE);
for (i=0;i<m;i++)
{ x2[i]=0;
y2[i]=0;
arg=-dir
2.0
3.(double)i/(double)m;
for(k=0;k<m;k++)
{
cosarg=cos(k
arg);
sinarg=sin(k*arg);
x2[i]+=(x1[k]*cosarg-y1[k]*sinarg);
y2[i]+=(x1[k]*sinarg+y1[k]*cosarg);
}
}
if (dir==1)
{ for (i=0;i<m;i++)
{ x1[i]=x2[i]/(double)m;
y1[i]=y2[i]/(double)m;
}
}
else
{ for (i=0;i<m;i++)
{ x1[i]=x2[i];
y1[i]=y2[i];
}
}
free (x2);
free (y2);
return (TRUE);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码猿杂谈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值