24小时热门版块排行榜    

查看: 753  |  回复: 5
【奖励】 本帖被评价2次,作者415131606增加金币 1.5
当前主题已经存档。

415131606

铁杆木虫 (文坛精英)


[资源] 【资源】分享一个脉冲的光线中传输的matlab程序

好多研1的同学,开始用matlab进行模拟的时候都没有学过matlab,下面这个程序为光脉冲在光纤中传输时程序,其中用到了傅里叶分步法,要用傅里叶分步法的同学也可以参考借鉴一下,还有这个程序也可以用来作为锁模的机理的前序,大家参考上面的程序很容易编出锁模的程序,希望对大家有帮助,最后用的是3D输出,大家也可以参考一下3D输出的具体写法!
       %===== Solving NLSE Using Split-step Fourier Method  (SSFM) =======
%  The NLSE is like thie:
%  Uz   =  i/2*Uxx - i*beta*U/(1+|U|^2)
%  U(z=0)= sqrt(0.11)*exp(-x.^2/0.85^2);  Gauss pulse
%******************************************************************
% Split-step fast foruier method
%                U(z+dz)=(L+N)U(z)     L and N are operators
%                L=i/2 * d/dx^2        Linear operator
%                N=-i*beta/(1+|U|^2)   Nonlinear operator
% Linear operator computation with fft in Fourier domain for speed
% Nonlinear operator computation in space domain
% step: 1.  U-->fft(U)   = ans
%       2.  L(dz/2).*ans
%       3.  ifft(ans)
%       4.  N(dz).*ans
%       5.  fft(ans)
%       6.  L(dz/2).*ans
%       7.  ifft(ans)     =U(z+dz)
% Calculate two times L(dz/2) can get a accuracy of  O(dz^3)
%******************************************************************
clear;
clc;

         

beta=1;  gamma=0;
%******************************************************************
% Set Space & Frequency Windows
%******************************************************************
nz = 3000;               
dz = 0.001;
Nstep = nz/10;  % For drawing waterfall lines
xmax = 10;  % x domain [-5,5]
nx = 2^9;  
dx = 2*xmax/nx;
x = (-xmax:dxxmax-dx))';
fk = 2*pi/dx;      
xl = length(x)/2;
k = (-xl*fk:fkxl-1)*fk)'/nx;  % frequency domain [-fk/2,fk/2]
%******************************************************************
% Initialization
%******************************************************************
u0 =sech(x);
u  = u0;

%******************************************************************
% Preplot
%******************************************************************
iplot = 1;
zplot(iplot) = 0;  
Uplot(:,iplot) = u.*conj(u);

%******************************************************************
% Linear & Nonlinear Operators
%******************************************************************
% in fourier domain
%******************************************************************
% Split-Step Fourier Method For NLS
%******************************************************************

   L=exp(i*dz/4*k.^2);
   
for m = 1:1:nz
%%%%%%%%%%% test for self-delfection%%%%%%%   
absu2=u.*conj(u);


%u2xtemp=diff(absu2)./diff(x);

%u2x(1)=u2xtemp(1);u2x(2:nx,1)=u2xtemp(1:nx-1);

Na=i*dz*beta*u.*conj(u); % in space domain

%Nb=-Na/beta*gamma.*u2x; % in space domain

%N=exp(Na+Nb);
N=exp(Na);


%%%%%%%%%%%%%%% end test%%%%%%%
      f = fftshift(fft(u));
      
      f = L.*f;
      
      
  uhalf = ifft(fftshift(f));
  
     ua = N.*uhalf;
   
         
      f = fftshift(fft(ua));
      
      
      f = L.*f;
      
      
   uend = ifft(fftshift(f));
   
% 梯形规则积分 两次迭代
     u2 = exp(i/2*dz*beta*(u.*conj(u)+uend.*conj(uend))).*uhalf;
     
      f = fftshift(fft(u2));
      
      
      f = L.*f;
     
      
  uend1 = ifft(fftshift(f));

     u3 = exp(i/2*dz*beta.*(u.*conj(u)+uend1.*conj(uend1))).*uhalf;
     
      f = fftshift(fft(u3));
     
      
      f = L.*f;
     
      u = ifft(fftshift(f));
      
      
      er=1e-4;
      
      u2a=uend1.*conj(uend1);
      
      u2b=u.*conj(u);
      
      if(abs(max(u2b-u2a))/max(u2b)) > er;
         
          disp('Reduce step length please');break;
         
      end
     
      
      

% For drawing 3-D graphic
      
    if (rem(m,Nstep) == 0)
        iplot=iplot+1;
        Uplot(:,iplot)=u.*conj(u);
        zplot(iplot) = m*dz;  
         
     
     
    end
end
waterfall(x,zplot,Uplot');

hidden off;
view(50,30);
title('Soliton Evolution');
xlabel('s','FontSize',18);
ylabel('\xi','FontSize',18);
zlabel('|U|^2','FontSize',14,'Rotation',0,'Position',[-xmax/1.5,-.1,max(u0)^2]);
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

415131606

铁杆木虫 (文坛精英)


不知道上面怎么出来两个
2楼2009-05-17 10:42:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

415131606

铁杆木虫 (文坛精英)


上面的表示的是: (的意思,默认成
3楼2009-05-17 10:43:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

redcrag

木虫 (著名写手)


★★★ 三星级,支持鼓励

就是非线性内容少了点,比如拉曼项等等
5楼2009-05-18 08:39:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xhdeng252

木虫 (正式写手)


程序出错了

Error: Missing variable or function.
6楼2009-05-21 09:56:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
sunxiao4楼
2009-05-17 11:44   回复  
 up
相关版块跳转 我要订阅楼主 415131606 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 HFw0lei2R37i 2026-08-14 6/300 2026-08-14 22:32 by 4wMiSEwB6436
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +6 启萌科技 2026-08-12 21/1050 2026-08-14 19:48 by 启萌科技
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +5 Ldrop2023 2026-08-13 5/250 2026-08-14 18:48 by ssxclkj
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +6 Tide man 2026-08-14 7/350 2026-08-14 18:36 by 正能量1斤
[基金申请] filecode +6 cratir 2026-08-14 10/500 2026-08-14 18:29 by 笑叹辞穷
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +10 家与远方 2026-08-10 15/750 2026-08-14 02:08 by 绵羊哥哥
[硕博家园] 一作与独作在应聘高校教师时区别大吗 +3 mbygzh 2026-08-08 4/200 2026-08-13 19:31 by 龙-樱
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
信息提示
请填处理意见