⑴ 求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,基本都是显示输出的函数,你要自己改一下。
⑵ 我在网上找到了一个wigner分布的Matlab程序 希望有高手可以给加个详细注解
tfrwv是调用的时频分布工具箱tftb-0.2
⑶ matlab下载方式及地址
this is the matlab of R 2013a ,the seriels number is in the install file
⑷ 请问哪里可以下载到MATLAB的QFT工具箱
MATLAB工具箱下载地址总汇
本工具箱均为免费工具箱.
1.平面操作工具箱
http://cathy.ijs.si/~leon/planman.html
2.SimMechanics 工具箱 (这个好像不是免费的)
http://www.mathworks.com/access/helpdesk/help/toolbox/physmod/mech/mech.shtml
3.gaot工具箱(遗传算法工具箱)
http://www.dytrol.com/viewFile.asp?Boardid=11&ID=263
4.Optimization Toolbox 2.2
http://www.ttdown.com/SoftDown.asp?ID=25782
5.Vibration Toolbox
http://www.cs.wright.e/people/faculty/jslater/vtoolbox/vtoolbox.html
6.MATLAB机器视觉工具箱
http://www.cat.csiro.au/cmst/staff/pic/vision-tb.html
7.Polynomial Toolbox
http://www.polyx.com/frm-main-download.htm
8.TIME-FREQUENCY TOOLBOX
http://crttsn.univ-nantes.fr/~auger/tftb.html
9.Uvi_Wave Wavelet Toolbox
http://www.gts.tsc.uvigo.es/~wavelets/
10.THE NNSYSID TOOLBOX - Version 2
http://kalman.iau.dtu.dk/research/control/nnsysid.html
11.Camera calibration toolbox
http://www.ee.oulu.fi/~jth/calibr/
12.Virtual Control Lab
http://www.esr.ruhr-uni-bochum.de/VCLab/
13.有限元工具箱
http://www.dytrol.com/viewFile.asp?Boardid=11&ID=264
14.最速梯度法
http://www.dytrol.com/viewFile.asp?Boardid=11&ID=265
⑸ 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的准备工作就完了。