请教画hht谱的程序中看不懂的几句
我用Rilling的程序,画边际谱或者hht谱。求完瞬时频率和瞬时幅值后要用toimage函数把一维转换成二维图输出,此函数的最后几句看不懂,请大侠指点。如下:indf = round(2*f*(sply-1)+1);
indt = repmat(round(linspace(1,length(t),splx)),size(A,1),1);
im = accumarray(,A(:),);
indt = indt(1,:);
tt = t(indt);
ff = (0:sply-1)*0.5/sply+1/(4*sply); 这段代码中核心是accumarray函数
楼主可以仔细看看这个函数的matlab说明文档。这和黄的程序中的这段代码实现的功能是一样的
h1=zeros(npt-1,nyy+1);
p=round(nyy*(omg-wmn)/dw)+1;
for j1=1:npt-1
for i1=1:knb
ii1=p(j1,i1);
h1(j1,ii1)=h1(j1,ii1)+a(j1,i1);
end
end
主要是按照频率大小将相应的振幅放到相应的矩阵的元素之中,实现hilbert 谱。
回复 沙发 qishiaq 的帖子
多谢指点,之前看了accumarray函数的帮助说明,还是不太清楚才求助的。请问huang的程序和rilling 的程序有什么不同嘛?可以把整个程序都发给我看看不?多谢,我邮箱xiaoxiong702@126.com。回复 沙发 qishiaq 的帖子
现在把每句语言都搞明白了,但是又有新的问题想请教。accumarray(,A(:)]已经可以把不同时间不同频率的瞬时幅值找到了,为什么还要把它复制成sply行,splx列呢。
页:
[1]