matlab连续静态图,画出来的动态图与静态的不一样

本帖最后由 1566666 于 2020-8-19 13:51 编辑

我有一个画静态图的代码,画了一张图(图二),我让delay的第二个元素可以变化,并且动态显示出来,结果只有第一帧是和原来差不多,后面的图(图一)全和原来的有点不同,看了半天也没看出来是有什么问题啊啊啊啊啊啊啊

静态图代码

clc

clear

units;

u0 = 4*pi*(10^-7);

c = 299792458*m/s;

t=-100*fs:0.0001*fs:100*fs;

deg = pi/180;

freq = [c/(1950*nm),c/(1350*nm)];

fai = [-180 270]*deg;                %调节CEP

duration = [30,30]*fs;   %调节脉宽

delay = [0,1.13]*fs;                %调节延时

I=[2.9*10^14 5*10^13];    %调节光强

X= zeros(size(t));

for index = 1:length(freq)

freq_temp = freq(index);

fai_temp = fai(index);

duration_temp = duration(index);

delay_temp = delay(index);

I_temp = I(index);

X = X+ 100*sqrt(2*I_temp*u0*c)*exp(-2*log(2)*((t-delay_temp)./duration_temp).^2).*cos(2*pi*freq_temp*(t-delay_temp)+fai_temp);

end

I=(abs(X)).^2;

I=I/max(I);

plot(t/(6.5*fs),I,'r-','DisplayName','two color','LineWidth',2);

xlabel('Time/cycle(6.5fs)','FontSize',14);

ylabel('E^2','FontSize',14);

xlim([-4 4]);

hold on

X1=100*sqrt(2*(2.9*10^14)*u0*c)*exp(-2*log(2)*((t)./(7.93*fs)).^2).*cos(2*pi*(c/(1.7*um))*(t));

I1=(abs(X1)).^2;

I1=I1/max(I1);

%plot(t/(6.5*fs),I1,'k-','DisplayName','1.4-cycle at 1.7 um','LineWidth',2)

hold off

hold on

np = 100;

[up,lo] = envelope(I,np,'peak');

plot(t/(6.5*fs),up,'g-','DisplayName','envelope of two color','LineWidth',2);

hold off

legend

fwhm = fwhmax(t/(6.5*fs),up);

fprintf('中心脉冲的半高全宽为 %5.4f cycle\n',fwhm);

然后动态的

clc

clear

units;

u0 = 4*pi*(10^-7);

c = 299792458*m/s;

t=-100*fs:0.0001*fs:100*fs;

deg = pi/180;

freq = [c/(1950*nm),c/(1350*nm)];

fai = [-180 270]*deg;                %调节CEP

duration = [30,30]*fs;   %调节脉宽

I=[2.9*10^14 5*10^13];    %调节光强

delay=input('请输入第二束脉冲的延时范围,带单位(示例:[-5:0.01:5]*fs):\n');

n=length(delay);

fwhm = zeros(size(delay));

for index1 = 1:n

X= zeros(size(t));

delay_temp = delay(index1);

delay1=[0 delay_temp];

for index = 1:length(freq)

freq_temp = freq(index);

fai_temp = fai(index);

duration_temp = duration(index);

delay1_temp = delay1(index);

I_temp = I(index);

X = X+ 100*sqrt(2*I_temp*u0*c)*exp(-2*log(2)*((t-delay1_temp)./duration_temp).^2).*cos(2*pi*freq_temp*(t-delay1_temp)+fai_temp);

end

I=(abs(X)).^2;

I=I/max(I);

plot(t/(6.5*fs),I,'r-','DisplayName','two color','LineWidth',2);

xlabel('Time/cycle(6.5fs)','FontSize',14);

ylabel('E^2','FontSize',14);

xlim([-4 4]);

hold on

np = 100;

[up,lo] = envelope(I,np,'peak');

plot(t/(6.5*fs),up,'g-','DisplayName','envelope of two color','LineWidth',2);

hold off

legend

fwhm_temp = fwhmax(t/(6.5*fs),up);

txt = {'delay(fs): ' num2str(delay_temp/fs),'fwhm(cycle):' num2str(fwhm_temp)};

text(2,0.8,txt)

drawnow

fwhm(index1)=fwhm_temp;

end

fwhm_min=min(fwhm);

k=find(fwhm==fwhm_min);

delay_min=delay(k)/fs;

fprintf('输入的序列里fwhm的最小值为 %5.4f cycle\n',fwhm_min);

fprintf('此时对应的时间延迟为 %5.4f fs\n',delay_min);

按理说很简单啊,哭辽

1.13.jpg

(35.82 KB, 下载次数: 6)

2020-8-19 13:47 上传

b4d287d1aacbf0cf95a77c41289acfe6.gif

c5006d1a5b4047f80d42a7082635a87b.gif

动态截图的1.13

edc72ac039e629e4818598816d34bdfc.png

untitled6666.jpg

(40.2 KB, 下载次数: 6)

2020-8-19 13:47 上传

b4d287d1aacbf0cf95a77c41289acfe6.gif

c5006d1a5b4047f80d42a7082635a87b.gif

静态1.13

fed8e0f384c6c814ca837879df87c380.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值