%在色散位移光纤中研究多孤子的相互作用clearclc%?注意时间域与频域的选择问题% T = 20; %时间窗口(-10:10) T = 40;tn= 2^10; % 时间区域个数(2^M个) dt = T/tn; %选择的时间步长 t = ((1:tn)'-(tn+1)/2)*dt; w = wn(T,tn);%傅里叶域频率,调用计算频率函数 b=0.03;c=-i*w'.^2/2+i*b*w'.^3;dz=0.1; %迭代时选择的步长%步长的选择影响计算效率%z=0:dz:50; % 位置坐标z=0:dz:100; % 位置坐标 % 输入初始脉冲q=3.5;r1=1;r2=1;r3=1;o1=0;o2=0;o3=0;%q为初始间距,r为相对振幅,o为相对相位u(1,:)=sech(t-q)+r1*sech(r1*(t+q))*exp(i*o1)+r2*sech(r2*(t+3*q))*exp(i*o2)+r3*sech(r3*(t-3*q))*exp(i*o3); %输入同幅同相孤子%?注意复数的表示,傅里叶变换函数的使用%由于输入负频,fft对应逆变换,ifft对应傅里叶变换for k=1:1:length(z)% 分布傅里叶变换解方程u1=fft(exp(c*dz/2).*ifft(u(k,:)));u2=u1.*exp(i*dz*abs(u(k,:)).^2);u(k+1,:)=fft(exp(c*dz/2).*ifft(u2));%二次迭代for m=1:2u2=u1.*exp(i*dz/2*(abs(u(k,:)).^2+abs(u(k+1,:)).^2));u(k+1,:)=fft(exp(c*dz/2).*ifft(u2));end%缺少迭代仿真将出现很多问题end figuresubplot(1,2,1);plot(t(1:1:length(t)),u(1,:),'k')xlabel('归一化时间')ylabel('归一化振幅')axis([-20,20,0,1.5]);title('DSF光纤中输入多孤子')subplot(1,2,2);% waterfall 用于画流水线图样,mesh 用于画彩色曲面,mesh计算速度快%waterfall(t(1:1:length(t)),z(1:(length(z)-1)/50:length(z)-1),abs(u(1:(length(z)-1)/50:length(z)-1,:)))mesh(t(1:1:length(t)),z(1:(length(z))/50:length(z)),abs(u(1:(length(z))/50:length(z),:)))%注意采样点少点好画,view(-10,55);xlabel('归一化时间')ylabel('归一化距离')zlabel('归一化振幅')title('TOD作用输出光脉冲')
通过上图可以看出色散位移与光孤子的关系,可以看出,光孤子岁色散位移越来越多。