⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toimage.m

📁 希尔伯特黄变换的程序源码
💻 M
字号:
function [im,tt] = toimage(A,f,t,splx,sply)% [im,tt] = TOIMAGE(A,f,t,splx,sply) transforms a spectrum made% of 1D functions (e.g., output of "spectreh") in an 2D image%% inputs :   - A    : amplitudes of modes (1 mode per row of A)%            - f    : instantaneous frequencies%            - t    : time instants %            - splx : number of columns of the output im (time resolution).%                     If different from length(t), works only for uniform %                     sampling.%            - sply : number of rows of the output im (frequency resolution).% outputs :  - im   : 2D image of the spectrum%            - tt   : time instants in the image%% utilisation : [im,tt] = toimage(A,f);[im,tt] = toimage(A,f,t);[im,tt] = toimage(A,f,sply);%              [im,tt] = toimage(A,f,splx,sply);[im,tt] = toimage(A,f,t,splx,sply);DEFSPL = 400;if nargin < 3  t = 1:size(A,2);  sply = DEFSPL;  splx = length(t);else    if length(t) == 1        tp = t;        t = 1:size(A,2);        if nargin < 4            sply = tp;            splx = length(t);        else            if nargin > 4                error('too many arguments')            end            sply = splx;            splx = tp;        end    else        lt = length(t);        if nargin < 4          sply = DEFSPL;          splx = lt;        elseif nargin < 5          sply = splx;          splx = lt;        elseif nargin > 5            error('too many arguments')        end    endendlt=length(t);im=[];im(splx,sply) = 0;for i=1:size(f,1)  for j = 1:lt    ff=floor(f(i,j)*2*(sply-1))+1;    if ff <= sply % in case f(i,j) > 0.5      im(floor(j*(splx-1)/lt)+1,ff)=im(floor(j*(splx-1)/lt)+1,ff)+A(i,j);    end  end  endfor i = 1:splx  tt(i) = mean(t(floor((i-1)*lt/(splx))+1:floor(i*lt/(splx))));endim=fliplr(im)';

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -