⑴ matlab下载方式及地址
this is the matlab of R 2013a ,the seriels number is in the install file
⑵ 求wigner ville 分布的程序,要fortran or c写的。已附上matlab程序,转换也成
if (nargin .eq. 0) then
error('At least one parameter required')
end if
xrow = size(x,1)
xcol = size(x,2)
if (nargin .eq. 1) then
t=1:xrow
N=xrow
trace=0
elseif (nargin .eq. 2) then
N=xrow
trace=0
elseif (nargin .eq. 3) then
trace = 0
end if
if (N<0) then
error('N must be greater than zero')
end if
trow = size(t,1)
tcol = size(t,2)
if ((xcol.eq.0).or.(xcol>2)) then
error('X must have one or two columns')
elseif (trow.neq.1) then
error('T must only have one row')
elseif (2^nextpow2(N).neq.N) then
print*,'For a faster computation, N should be a power of two'
end if
tfr= 0
if (trace .neq. 0) then
print*,'Wigner-Ville distribution'
end if
do icol=1,tcol,
ti= t(icol)
taumax=min([ti-1,xrow-ti,round(N/2)-1])
tau=-taumax:taumax
indices= rem(N+tau,N)+1
tfr(indices,icol) = x(ti+tau,1) * conj(x(ti-tau,xcol))
tau=round(N/2)
if (ti<=xrow-tau)&(ti>=tau+1) then
tfr(tau+1,icol) = 0.5 * (x(ti+tau,1) * conj(x(ti-tau,xcol)) + ...
x(ti-tau,1) * conj(x(ti+tau,xcol)))
end if
if (trace .neq. 0) then
disprog(icol,tcol,10)
end if
end do
tfr= fft(tfr)
if (xcol.eq.1) then
tfr=real(tfr)
end if
if (nargout.eq.0) then
tfrqview(tfr,x,t,'tfrwv')
elseif (nargout.eq.3) then
f=(0.5*(0:N-1)/N)'
end if
说明:还有几个MATLAB自带的函数我没有改,比如error, tfrqview,基本都是显示输出的函数,你要自己改一下。
⑶ matlab有emd函数吗
没有的,但是可以用matlab的时频工具箱,工具箱下载地址:http://tftb.nongnu.org/
matlab的工具箱的安装步骤:
1.解压专下载的文件包,属将tft/mfile复制到matlab的toolbox文件夹下
2.建立搜索路径,matlab->file->Set Path->Add Folder
->选择mfile文件夹复制到matlab的toolbox的路径->save->close
3.测试是否建立搜索路径成功,在matlab命令窗口打入:which fmsin
返回的结果是你放mfile的正确路径说明建立搜索路径成功,就完成了安装工具包的工作。
此时EMD的准备工作就完了。