| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1513 人关注过本帖
标题:如何在MATLAB中验证函数经fouier变换前后能量是否守恒
只看楼主 加入收藏
moonriver13
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-10-11
收藏
 问题点数:0 回复次数:0 
如何在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】.

请帮忙指出程序或补充说明中的错误,谢谢,万分感谢!!!
搜索更多相关主题的帖子: MATLAB fouier 函数 能量 守恒 
2008-10-11 21:27
快速回复:如何在MATLAB中验证函数经fouier变换前后能量是否守恒
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016232 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved