MATLABpause(matlab中pause什么功能)

伏羲号

不加参数,直接用pause的话,就是程序暂停,直至用户按任意一个按键.

MATLABpause(matlab中pause什么功能)

如果加参数.

比如pause(2.5)就是程序暂停2.5秒.

采用matlab中的延时函数pause:Halt execution temporarily实现代码如下:

1.pause, by itself, causes M-files to stop and wait for you topress any key before continuing.

2.pause(n) pauses execution for n seconds before continuing, wheren can be any nonnegative real number.

3.pause(inf) puts you into an infinite loop. To return to theMATLAB prompt, type Ctrl+C.

4.pause on allows subsequent pause commands to pauseexecution.

5.pause off ensures that any subsequent pause or pause(n) statements do not pause execution.

采用MATLAB中的延时函数pause:Halt execution temporarily实现代码如下:

1.pause, by itself, causes M-files to stop and wait for you topress any key before continuing.

2.pause(n) pauses execution for n seconds before continuing, wheren can be any nonnegative real number.

3.pause(inf) puts you into an infinite loop. To return to theMATLAB prompt, type Ctrl+C.

4.pause on allows subsequent pause commands to pauseexecution.

5.pause off ensures that any subsequent pause or pause(n) statements do not pause execution.

1、最大的问题是循环体里面的 pause(0.1),尤其是里面那一层循环。

2、很多赋值语句后面应该加分号,避免显示。

3、数组预置(对于这段代码而言不是很重要)。

里面那层的pause是在这样的循环结构中:

1

2

3

4

for k=1:10;

i=i+1;

for x=2:z-1;

for y=2:z-1;

粗略估算一下,会执行10*18*18次,每次0.1秒,仅这一句就会耗时324秒。

删除上述pasue之后,在我的电脑上运行大约需要27秒。

标量的信号能量就是信号幅度平方的积分,如果是数字信号,能量就是各点信号幅度值平方后的求和。 也可以在频率域计算,分发同上。幅度平方积分或求和。

我了解到对于HHT变换,主要有两种MATLAB函数代码,第一种是:[imf,residual,info] = emd(q); [hs,f,t,IMFinsf,imfinse] = hht(imf,fs); 第二种是[A,f,t]= hhspectrum(imf) ;[E,t,Cenf]=toimage(A,f)。 对于第一种,imfinse就是每一个IMF函数的瞬时能量,要得到原信号的瞬时能量谱,是否是将每个IMF函数的瞬时能量谱进行叠加? 对于第二种,该怎么求得原信号的瞬时能量谱?我了解到瞬时能量的定义如下:

第一种方法:

N=2048;

%fft默认计算的信号是从0开始的

t=linspace(1,2,N)';deta=t(2)-t(1);fs=1/deta;

x=5*sin(2*pi*10*t)+5*sin(2*pi*35*t);

plot(t,x);

xlabel('Time(s)');

imf = emd(x);

[hs,f,t,imfinsf,imfinse] = hht(imf,fs,'FrequencyResolution',1);

第二种方法:

clear;clc;clf;

N=2048;

%fft默认计算的信号是从0开始的

t=linspace(1,2,N);deta=t(2)-t(1);fs=1/deta;

x=5*sin(2*pi*10*t)+5*sin(2*pi*35*t);

z=x;

c=emd(z);

%计算HHT时频谱和边际谱

[A,fa,tt]=hhspectrum(c);

[E,tt1,cenf]=toimage(A,fa,tt,length(tt));

figure(3)

disp_hhs(E,tt1) %二维图显示HHT时频谱,E是求得的HHT谱

pause

figure(4)

for i=1:size(c,1)

faa=fa(i,:);

[FA,TT1]=meshgrid(faa,tt1);%三维图显示HHT时频图

surf(FA,TT1,E)

title('HHT时频谱三维显示')

hold on

end

hold off

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,107人围观)

还没有评论,来说两句吧...