Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2008-10-11, 21:29   #1
moonriver13
初级会员
 
注册日期: 2008-10-11
年龄: 45
帖子: 2
声望力: 0
moonriver13 正向着好的方向发展
问题 [求助]如何在MATLAB中验证函数经fouier变换前后能量是否守恒

我们知道,fourier变换属于幺正变换,因此其变换前后,空域(或时域)中的能量等于其相应频域中的能量。
以下一段小程序用于简单验证函数在fourier变换前后的能量关系,结果发现fourier变换前后能量不相等,请大侠们指正错误所在:

%%%%%%%%%
x=linspace(-10,10);
y=x.^2; %原函数
yabs=abs(y); %取模
Z=fft(y);
Z=fftshift(Z)./length(Z); %移动函数使能量集中在中央
Zabs=abs(Z);
d1=abs(yabs(2)-yabs(1)); %变换前函数的间隔
d2=abs(Zabs(2)-Zabs(1)); %变换后函数的间隔
E1=sum(yabs.^2.*d1) %变换前函数的总能量
E2=sum(Zabs.^2.*d2) %变换后函数的总能量

得到:
E1 = 8.3245e+005
E2 = 1.3354

补充:
1.程序里认为能量的表达是函数的模的平方的积分
2.认为一维函数的能量是离散后的函数值与相应采样距离的内积之和
3.fft变换时,length(Z)的使用是否正确?
4.变换前的函数自变量x为【-10,10】,而不是【-inf,inf】.

请帮忙指出程序或补充说明中的错误,谢谢,万分感谢!!!
moonriver13 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
[分享]全世界的所有数据库的文献都可以免费下载:) yiwusuoyou 学术科研 3 2009-05-25 12:36
如何实现gui窗口嵌套 beulah MATLAB论坛 1 2008-12-28 17:57
[求助]MATLAB解决随机一致性指标值 1027120859 MATLAB论坛 3 2008-12-26 10:52
[资料]MATLAB Mapping Toolbox用户手册(第2部分) lilly MATLAB论坛 0 2008-12-03 00:58
实验数据处理 kamy MATLAB论坛 0 2008-12-02 19:21


所有时间均为北京时间。现在的时间是 11:01


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.