非线性薛定谔方程用matlab,非线性薛定谔方程数值解的matlab仿真.docx
非线性薛定谔方程数值解的matlab仿真.docx
ADMIN非线性薛定谔方程数值解的MATLAB仿真利用分步快速傅里叶变换对光纤中光信号的传输方程进行数值求解1、非线性薛定谔方程非线性薛定谔方程NONLINEARSCHRODINGEREQUATION,NLSE是奥地利物理学家薛定谔于1926年提出的,应用在量子力学系统中。由于量子力学主要研究粒子的动力学运动状态,所以不能运用牛顿力学公式来表示。通常在量子力学中,研究系统的状态一般通过波函数X,T来表示。而对波函数的研究主要是求解非线性薛定谔方程。本文主要研究光脉冲在光纤中传输状态下的演变。一般情况下,光脉冲信号在光纤中传输时,同时受到光纤的色散和非线性效应的影响。通过MAXWELL方程,考虑到光纤的色散和非线性效应,可以推导出光信号在光纤中的传输方程,即非线性薛定谔方程。NLSE是非线性偏微分方程,一般很难直接求出解析解,于是通过数值方法进行求解。具体分为两大类1分布有限差分法SPLITSTEPFINITEDIFFERENCE,SSFD;2分步傅里叶变换法SPLITSTEPFOURIERTRANS,SSFT。一般情况,在达到相同精度,由于分步傅里叶变换法采用运算速度快的快速傅里叶变换,所以相比较有限差分法运算速度快一到两个数量级。于是本文介绍分步傅里叶变换法来对光纤中光信号的传输方程,即非线性薛定谔方程进行数值求解。并通过MATLAB软件对结果数值仿真。非线性薛定谔方程的基本形式为2|TXIUU其中U是未知的复值函数目前,采用分步傅立叶算法SPLITSTEPFOURIER求解非线性薛定谔方程的数值解应用比较多。分步傅立叶方法最早是在1937年开始应用的,这种方法己经被证明是相同精度下数值求解非线性薛定愕方程最快的方法,部分原因是它采用了快速傅立叶变换算法FASTFOURIERTRANSALGORITHM。基于MATLAB科学计算软件以及MATLAB强大的符号计算功能,完全可以实现分步傅立叶数值算法来对脉冲形状和频谱进行仿真。一般情况下,光脉冲沿光纤传播时受到色散和非线性效应的共同作用,假设当传输距离很小的时候,两者相互独立作用,那么,根据这种思想可建立如下分步傅立叶数值算法的数学模型(I)把待求解的非线性薛定谔方程写成以下形式ˆUDNZ其中是线性算符,代表介质的色散和损耗,是非线性算符,它决定了脉冲传输ˆDˆ过程中光纤的非线性效应。一般来讲,沿光纤的长度方向,色散和非线性是同时作用的。分步傅立叶法假设在传输过程中,光场每通过一小段距离H,色散和非线性效应可以分别作用,得到近似结果。也就是说脉冲从Z到ZH的传输过程中分两步进行。第一步,只有非线性作用,方程II式中的0;第二步,再考虑线性作用,方程II式中的0ˆDˆN这样方程2在这两步中可分别简化为ˆUDZ得到了上面两个方程(III),就可以分别求解非线性作用方程和线性作用方程,然后讨论分步傅立叶法的数值算法。由于方程(III)是一个偏微分方程,需要通过傅立叶变换把偏微分方程转换为代数方程,进行运算。傅立叶变换的定义如下1,,,EXP1,,,2FUZTZUZTIDIT在计算时一般采用快速傅立叶变换(FFT)算。为了保证精度要求,一般,Z还需要反复调整纵向传输步长Z和横向脉冲取样点数T来保证计算精度。2、分步傅立叶数值算法的MATLAB实现现待求解的非线性薛定谔方程如下2204AIIAZT其中,AZ,T是光场慢变复振幅,Z是脉冲沿光纤传播的距离;(II)(III)(IV)(V),,VG是群速度;是色散系数;是非线性系数;1TTZ//PSKM1/WKM是光纤损耗系数,它与用分贝表示的损耗系数的关系为/KMDB43DB首先,可以将方程(V)归一化振幅,是入射脉冲的峰值功0,/UAZTP率,此时方程V可改写为2204IIZT为了使用分步傅立叶法求解方程VI,将方程VI写成以下形式ˆUDNZ进一步,可以得出如下方程(VII)220ˆITNPIU然后,按照步骤1和步骤2,依次计算方程(VII)的线性算符和非线性算符。最后在步骤3中,运行步骤1和步骤2的MATLAB程序,得出线性算符和非线性算符的精确数值解及其仿真曲线。步骤1线性算符方程的求解线性算符的方程如下2IUTZ用傅立叶变换方法,得到一个常微分方程(IX)24IUZ解方程IX得2,0,EXPIZZ式中是初值的傅立叶变换,将进行反傅立叶变换就得到了0,U,T,U(VI)(VII)(VIII)(IX)(X)。方程X的求解公式为,UZT2,{EXP0,}IZUZTFFUT其中和分别表示傅立叶变换和反傅立叶变换运算。F步骤2非线性算符方程的求解非线性部分的方程如下20UPIZ同STEP1的方法,解方程(XII),得到20,,EXP,ITZ式中是初值的傅立叶变换,将进行反傅立叶变换就得到了0,U0TZ。方程XIII的求解公式为ZT20,{EXP,0,}ZFPIUTZFT其中和分别表示傅立叶变换和反傅立叶变换运算。F步骤3算法在MATLAB中的实现在MATLAB中,设有限时长序列的长度为,它对应于一个频域内的长XN1NN度为N的有限长序列,的角频,其中T是1XKXK21KN序列的采样时间间隔XN这种正反离散傅立叶变换的关系式为12EXP1NJJXKDFTXNJKNXNIKXJNN然后用MATLAB中的离散傅立叶变换DFT函数FFT和离散傅立叶反变换IDFT的函数IFFT来实现方程VIII,XII式中的傅立叶和反傅立叶变换运算。进一步,得到方程XI,XIV的数值解及仿真曲线。最后,通过测试一组参数,得到方程(V)在该算法下的MATLAB运算结果。MATLAB总共用时3426S,求得的的结果曲线如下图所示。结果表明,算法正确而且精度(XI)(XII)(XIII)(XV)(XIV)也比较高,能够在非线性薛定谔方程的求解中广泛应用。附录MATLAB的脚本文件源代码PO200输入光强,单位WALPHA35光纤损耗值,单位DB/KMGAMMA20光纤非线性参数TO1初始脉冲宽度,单位秒C50第一次计算输入的啁啾参数B21000波数的倒数CPUTIME0TICLN1ISQRT1PI31415926535ALPHALPHA/4343LDTO2/ABSB2扩散长度,单位是MAOSQRTPO光振幅TAU4096E121E124095E12DT1E12H1000步长FORII010115不同的光纤长度不同,这个量可变ZIILDUAOEXP1IC/2TAU/TO2FIGURE1PLOTABSU, R TITLE PULSE XLABEL TIME YLABEL AMPLITUDE GRIDONHOLDONLMAXSIZEUFWHM1FINDABSUABSMAXU/2FWHM1LENGTHFWHM1DW1/L/DT2PIW1L/21L/21DWUFFTSHIFTU零延迟对中的谱WFFTSHIFTW零延迟对中的谱SPECTRUMF
非线性薛定谔方程用matlab,非线性薛定谔方程数值解的matlab仿真.docx相关推荐
- matlab 二阶非线性微分方程组,二阶非线性常微分方程的打靶法matlab实现.doc
二阶非线性常微分方程的打靶法matlab实现.doc 二阶非线性常微分方程的打靶法1.问题:试用打靶法求二阶非线性常微分方程亮点边值的数值解:要求用Matlab编程计算,请给出一些例子,验证你的算法与 ...
- 机器学习(MACHINE LEARNING)MATLAB非线性曲线拟合方法
文章目录 1 得到散点数据 2 确定函数模型 3 确定选用函数模型中的未知参数 在科学计算和工程应用中,经常会遇到需要拟合一系列的离散数据,最近找了很多相关的文章方法,在这里进行总结一下其中最完整.几 ...
- matlab 非线性曲线拟合
% matlab 非线性曲线拟合, nlinfit & lsqcurvefit & lsqnonlin: %x0 初始向量 %p 表达式参数变量 xdata = [0.25 0.5 0 ...
- Matlab非线性拟合工具箱cftool
一. 单一变量的曲线逼近 Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性.非线性曲线拟合.下面结合我使用的 Matlab R2007b 来简单介绍如何使用这 ...
- matlab 非线性电感,基于Matlab/Simulink利用动态和静态电感等磁参数建立了一种开关磁阻电机的非线性磁参数模型...
基于动.静态电感特性的开关磁阻电机非线性磁参数模型 蒋涛 (北京航空航天大学,北京100191) 摘要:基于Matlab/Simulink.利用动态和静态电感等磁参数建立了一种开关磁阻电机的非线性磁参 ...
- matlab 画非线性曲线,matlab 非线性曲线拟合, nlinfit lsqcurvefit lsqnonlin
% matlab 非线性曲线拟合,polyfit & nlinfit & lsqcurvefit & lsqnonlin: %x0 初始向量 %p 表达式参数变量 xdata ...
- matlab 赋权法,基于MATLAB的非线性曲线拟合赋权法
成都航空职业技术学院学报 Journal of Chengdu Aeronautic Polytechnic 2018 年 12 月第 4 期(总第 117 期) Vol.34 No.4(Serial ...
- 基于BP神经网络的非线性函数拟合(一维高斯函数)研究-含Matlab代码
目录 一.引言 二.BP神经网络的结构与原理 2.1 信息前向传播 2.2 误差的反向传播过程 三.基于BP神经网络的非线性函数拟合 3.1 数据生成 3.2 神经网络拟合结果 四.参考文献 五.Ma ...
- MATLAB 非线性隐函数拟合采坑记录(使用 fsolve solve nlinfit lsqcurvefit函数)
MATLAB 非线性隐函数拟合采坑记录(使用 fsolve solve nlinfit lsqcurvefit函数) 问题描述 解决思路 错误示范1 代码思路 原因解释 模型更正 更正模型1 更正模型 ...
- 【图像去噪】基于matlab非线性扩散PM算法图像去噪【含Matlab源码 2130期】
⛄一.PM模型图像降噪简介 1 引言 数字图像在获取.存储和传输中总会受到噪声的影响,因此图像去噪一直是备受关注的研究问题.作为图像处理技术的一大分支,基于偏微分方程的方法在图像去噪领域发挥着功不可没 ...
最新文章
- 一个富翁试图与陌生人做一笔生意用python_实验报告1 - 图文 -
- POJ-3590 The shuffle Problem 置换+DP | DFS
- 【连载】如何掌握openGauss数据库核心技术?秘诀一:拿捏SQL引擎(4)
- Qt下拉对话框 ComboBox的用法
- android百度定位代码,android开发:百度地图及定位的演示代码
- Sql Server 中 根据具体的值 查找该值所在的表和字段
- js ajax 跨域上传文件,使用 Javascript 实现跨域上传文件到存储
- ArcGIS聚类分析
- 求解一元二次方程c语言程序,一元二次方程求解程序完整代码
- 爬虫基础,搜索引擎原理(个人整理)
- 【思特奇杯·云上蓝桥-算法集训营】第1周----真题汇总+思路分析
- 学计算机高中应选什么科目,学计算机高中需要选哪三科?高中自选三科怎么上课?...
- aar打包依赖 android_打包依赖.aar文件以及坑总结
- 中国(吉林)首批援萨摩亚医疗队凯旋
- 计算机电池的性能参数,【戴尔灵越3567笔记本电脑使用总结】体积|电池|性能_摘要频道_什么值得买...
- HTTPS网页打开缓慢或者打不开
- 2.nodejs如何实现同步ldap组织架构,同步用户,用户认证
- 计算机绘图培训心得,计算机绘图实习工作总结
- 深圳TikTok电商/网红出海
- debian11删除swap分区之后出现mdadm no arrays found in config file or automatically的的解决方法