24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 670  |  回复: 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

铁杆木虫 (文坛精英)


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

415131606

铁杆木虫 (文坛精英)


不知道上面怎么出来两个
2楼2009-05-17 10:42:41
已阅   回复此楼   关注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的回帖
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 285求调剂 +4 AZMK 2026-04-04 6/300 2026-04-05 14:38 by AZMK
[考研] 材料求调剂 +3 一样YWY 2026-04-05 3/150 2026-04-05 14:27 by liuhaixu
[考研] 298分 070300求调剂 +15 zwen03 2026-04-02 15/750 2026-04-05 12:52 by Hdyxbekcb
[考研] 085600,321分求调剂 +10 大馋小子 2026-04-04 11/550 2026-04-05 08:25 by 544594351
[考研] 一志愿郑州大学材料与化工085600,求调剂 +24 吃的不少 2026-04-02 24/1200 2026-04-04 23:20 by 永字号
[考研] 290求调剂 +7 luoziheng 2026-04-04 7/350 2026-04-04 23:17 by lqwchd
[考研] 材料求调剂 +10 呢呢妮妮 2026-04-01 10/500 2026-04-04 23:12 by 无际的草原
[考研] 11408,335分,本科211,求调剂,可转专业 +5 鳄梨大鳄鱼 2026-04-03 5/250 2026-04-04 22:49 by chongya
[考研] 282求调剂 +20 ycy1201 2026-04-01 22/1100 2026-04-04 00:42 by userper
[考研] 311求调剂 +20 zchqwer 2026-04-01 22/1100 2026-04-03 22:09 by lglzsd
[考研] 295求调剂 +6 FZAC123 2026-04-03 6/300 2026-04-03 21:01 by zhq0425
[考研] 366求调剂 +7 sbdnd 2026-04-03 7/350 2026-04-03 12:40 by cymywx
[考研] 279求调剂 +6 qazplm0852 2026-04-02 6/300 2026-04-03 10:03 by 蓝云思雨
[考研] 材料工程322分 +8 哈哈哈吼吼吼哈 2026-04-01 8/400 2026-04-02 11:53 by 3041
[考研] 0856初试324分求调剂 +6 想上学求调 2026-04-01 6/300 2026-04-02 11:42 by 星空星月
[考研] 285求调剂 +11 AZMK 2026-04-01 11/550 2026-04-01 22:40 by peike
[考研] 279求调剂 +7 莫xiao 2026-04-01 7/350 2026-04-01 22:05 by 客尔美德
[考研] 288资源与环境专硕求调剂,不限专业,有学上就行 +25 lllllos 2026-03-30 26/1300 2026-04-01 09:52 by 一只好果子?
[考研] 一志愿大连理工大学材料求调剂 +6 Gymno 2026-03-30 6/300 2026-03-31 07:26 by 无际的草原
[考研] 085602 化学工程专硕 340分求调剂 +4 qianbai11 2026-03-29 4/200 2026-03-30 11:34 by 唐沐儿
信息提示
请填处理意见