一种球形粒子G Mie散射效率极值的算法

【专利摘要】球形粒子的G?Mie散射问题属于物理光学领域,涉及光与原子的相互作用。G?Mie理论在有着广泛的用途,如分析激光衍射粒度,光镊,激光制冷,大气理论和温室效应分析等。目前涉及G?Mie理论散射效率极值的报道还没有出现,而散射效率极值的分析对我们研究散射过程有着重要意义。本发明利用MATLAB计算了散射效率的极值,这种算法能计算出G?Mie散射效率的极值,方便与我们对G?Mie散射效率极值做出分析并且可以得到G?Mie理论散射效率的同时得出了G?Mie散射理论中a,b,c,d四个系数和散射效率与尺寸参量的图像。

【专利说明】一种球形粒子GMie散射效率极值的算法

【技术领域】

[0001]球形粒子的G Mie散射问题属于物理光学领域,涉及光与原子的相互作用。

【背景技术】

[0002]1908年,G Mie发表了任何尺寸均匀球形粒子散射问题的严格解,对于粒子散射,G Mie理论是目前应用广泛的的算法,当处理波长量级的粒子散射问题时,这种算法精确度最高。但是G Mie散射理论不是作为一个完全独立的理论出现的,而是球形粒子在麦克斯韦方程组下的一个解析解。但是由于求解本身的非常的复杂,G Mie第一个完美求出这个解,后来人们用G Mie理论来命名他的求解算法。

[0003]G Mie理论在有着广泛的用途,如分析激光衍射粒度,光镊,激光制冷,大气理论和温室效应分析等。

[0004]G Mie散射理论特别复杂,国内外很多专家学者都对其算法进行了研究。在国外,Van de hulst证实,对于复折射率较大的金属粒子等特殊粒子,利用这种后向递推公式无法得到准确的结果。Dave于1968年第一次利用前向递推算法计算出了消光系数Kext,散射系数Ksea和吸收系数Kabs,在尺度系数比较小(〈100)的时候取得了比较准确的结果。由于前向递推算法是不稳定的,计算的时候会产生数值溢出,所以Dave的算法不能应用到大尺度系数情况下。Wiscombe于1980年发表了从紫外波长到微波波长范围内的计算方案,方案详细地讨论了计算时间,循环次数等,得到了准确的结果。但是他的算法没有考虑复折射率较大的粒子,也没有列出在大尺度系数时的计算结果。Bohren利用Wiscombe的近似公式提供了一个计算程序,该程序计算快速而且准确,但是不适用于以下场合:(I)复折射率比较大的金属粒子和绝缘体粒子;(2)尺度系数大于1000的粒子。而在国内,许多人士在前人研究成果的基础上也做了大量的改进,但在粒子尺度范围界定以及运算时间上仍未做到最佳。余其铮等利用连分式进行了计算,为了解决连分式计算速度慢的问题,对连分式计算次数进行了拟合,提高了计算速度,但是文中只给出了尺度系数在I到100时的拟合公式。对于在100以外的拟合公式没有详细地讨论。

[0005]目前涉及GMie理论散射效率极值的报道还没有出现,而散射效率极值的分析对我们研究散射过程有着重要意义,相比于以前的计算方法,本算法计算速度快,可以计算折射率较大的粒子,而且在算极值的同时还能得到a,b,c,d四个系数和散射效率与尺寸参量的图像。

【发明内容】

[0006]本算法的主要内容包括计算三小部分,第一部分为计算G Mie理论中a,b,c,d四个系数,第二部分为计算G Mie理论中散射效率并画出其曲线,第三部分对散射效率求极值。

[0007]第一部分:G Mie理论中a, b, c, d四个系数的计算。首先利用Wiscombe给出的经验公式n = x+c*x1/3+b得出计算循环次数η,其中c在4-4.05之间,b在1_2之间,接着对Ψ。,F1, 10,ξ:进行赋值,然后利用MATLAB中自带bessel函数,采用向后递推法计算出Ψη和ξ η,最后计算出an, bn, cn, dn。

[0008]第二部分:首先对输入的粒子尺寸参量进行判断,如果输入的尺寸参量等于0,则输出结果为0,如果输入的尺寸参量大于0,则计算循环次数n,接着调用第一部分写好的计算GMie理论中a,b,c, d四个系数的函数,根据建立的数学模型计算散射系数和消光系数的计算,最后返回计算结果。并画出其与尺寸参量的曲线。

[0009]第三部分:首先将η赋值,将其赋值为从I到nmax的矩阵,接着计算出x的值,然后调用第二部分的出的计算散射效率的程序,接着利用MATLAB中自带findpeaksO函数,,将第二部分的出的散射效率和尺寸参量的曲线图中的极值取出,最后将其作为返回结果返回。

[0010]本发明的有益效果:

[0011]I)能计算出G Mie散射效率的极值,方便与我们对G Mie散射效率极值做出分析,应用领域广泛。

[0012]2)在得到G Mie理论散射效率的同时得出了 G Mie散射理论中a,b,c,d四个系数和散射效率与尺寸参量的图像。

【专利附图】

【附图说明】

[0013]附图1为第一部分的程序流程图。

[0014]附图2为第二部分的程序流程图。

[0015]附图3为第三部分的程序流程图。

【权利要求】

1.一种球形粒子G Mie散射效率极值的算法,包括利用向后递推的方式计算散射效率中a、b、C、d四个系数(1),根据⑴计算出的a、b、C、d四个系数,建立散射系数和消光系数的数学模型,计算散射效率,画出散射效率与尺寸参量关系的图像(2),最后利用findpeaksO函数,将(2)中计算的第二部分的出的散射效率和尺寸参量的曲线图中的极值取出,最后将其作为返回结果返回。

2.根据权利要求1所述的一种球形粒子GMie散射效率极值的算法其特征在于,采用向后递推的方式计算散射效率中a、b、C、d四个系数。

3.根据权利1、2所述的一种球形粒子GMie散射效率极值的算法其特征在于,通过计算散射效率和消光系数,得到散射效率和尺寸参量的关系,并画出它们的图像。

4.根据权利1、3所述的一种球形粒子GMie散射效率极值的算法其特征在于,采用MATLAB中f indpeaks O函数将(2)中计算出的散射效率的极值点。

【文档编号】G06F17/50GK103970962SQ201410221957

【公开日】2014年8月6日 申请日期:2014年5月23日 优先权日:2014年5月23日

【发明者】张晓霞, 闫忠龙, 刘永 申请人:电子科技大学

mie散射粒子消光系数 matlab代码,一种球形粒子GMie散射效率极值的算法相关推荐

  1. 【图像增强】基于DEHAZENET和HWD的水下去散射图像增强附matlab代码

    1 内容介绍 去散射和边缘增强是解决水下图像的对比度严重衰减.颜色偏差和边缘模糊等问题的关键步骤.这篇论文提出了一种较好的水下图像增强的方法.首先使用经过端到端训练的卷积神经网络去测量输入图片,同时以 ...

  2. c语言gga字符串校验和代码,一种新的Java智能卡上字节码校验算法.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspJava 一种新的Java智能卡上字节码校验算法.pdf4页 本 ...

  3. Gps高程拟合matlab代码,几种GPS高程拟合方法分析与比较.doc

    几种GPS高程拟合方法分析与比较 几种GPS高程拟合方法分析与比较 摘 要:文章论述了几种常用的GPS高程拟合的方法,并在MATLAB中编制了相应的程序,建立了相应的GPS高程拟合模型,并通过实例数据 ...

  4. 掌纹与掌静脉融合matlab代码,一种基于人脸和掌纹掌静脉识别的身份比对方法与流程...

    本发明涉及生物识别技术领域,具体为一种基于人脸和掌纹掌静脉识别的身份比对方法. 背景技术: 生物特征是指人体所固有的生理特征或行为特征,生理特征包括指纹.人脸.虹膜.掌静脉等,行为特征有声纹.步态以及 ...

  5. 点云自适应滤波matlab代码,一种机载激光雷达点云的自适应滤波方法与流程

    本发明属于机载激光雷达数据处理技术领域,具体涉及机载激光雷达数据的处理发放,尤其是涉及一种提高机载激光雷达数据滤波精度的方法. 背景技术: 机载激光雷达(airbornelightdetectiona ...

  6. 峰值云变换matlab代码,一种基于密度峰值的云变换方法与流程

    本发明涉及一种基于密度峰值的云变换方法,属于数字图像数据处理技术. 背景技术: 粒计算是基于多层次粒结构研究思维方式.问题求解方法.信息处理模式的理论,早在1997年,Zadeh教授就提出了粒计算是模 ...

  7. 小波变换去雾matlab代码,一种基于小波变换的图像去雾方法

    一种基于小波变换的图像去雾方法 摘要:为获得雾天 关键词:小波变换;Mallat算法;单尺度Retinex;同态滤波 中图分类号:TN957.52文献标识码:A 文章编号:1009-3044(2020 ...

  8. matlab去除大跳变,一种快速灰度校正算法(处理亮度不均等情况)(含MATLAB代码)...

    一种快速灰度校正算法(处理亮度不均等情况)(含MATLAB代码) 一种快速灰度校正算法(处理亮度不均等情况)(含MATLAB代码) 文章目录 前言 一.MATLAB代码 二.结果示例 总结 前言 方法 ...

  9. 粒子群(pso)算法详解matlab代码,粒子群(pso)算法详解matlab代码

    粒子群(pso)算法详解matlab代码 (1)---- 一.粒子群算法的历史 粒子群算法源于复杂适应系统(Complex Adaptive System,CAS).CAS理论于1994年正式提出,C ...

最新文章

  1. LinkedIn领英发布《2016中国人才趋势报告》
  2. Swift实战-豆瓣电台(六)视图跳转,传参及回跳
  3. 吴恩达:现在很多所谓的AI公司,其实都不是AI公司
  4. C语言经典例11-斐波那契数列
  5. python 字符串总结
  6. opengl三维图形图形颜色_【图形学基础】基本概念
  7. K3/Cloud点按钮打开单据,列表,动态表单,简单账表和直接Sql报表示例
  8. python中统计数据的总和_Python 数据的累加与统计的示例代码
  9. MVC控制器执行重定向
  10. Voltage Trackers for Sensors power supply
  11. firefox的about:config说明及配置
  12. 【数字IC/FPGA】时钟无毛刺切换
  13. 现在写Android,性能优化太重要了!
  14. Vscode代码格式化文档配置
  15. 开源中国 Android 文件夹管理
  16. 【开源项目推荐-ColugoMum】这群本科生基于国产深度学习框架PaddlePadddle开源了零售行业解决方案
  17. [golang gin框架] 27.Gin 商城项目-购物车
  18. C语言运算符的优先级和结合性
  19. java 阿里云服务器流下载慢的可能原因
  20. js调用vlc_web网页中使用vlc插件播放相机rtsp流视频

热门文章

  1. linux需要什么基础,学linux需要什么基础?
  2. mcq 队列_MCQ | 基础知识 免费和开源软件| 套装3
  3. java 方法 示例_Java集合的lastlastIndexOfSubList()方法和示例
  4. PyCharm pyqt5 python串口通信封装类SerialCommunication
  5. jenkins用ssh agent插件在pipeline里实现scp和远程执行命令
  6. python http 返回json中文乱码
  7. PJ2018T4 对称二叉树 树形结构
  8. 平流式初沉池贮砂斗计算_?初沉池、二沉池的作用与区别-亨孚科技
  9. impala写入oracle,dataframe 写入 impala 语法错误,怎么解决?
  10. oracle+行换列,Oracle的数据表中行转列与列转行的操作实例讲解