使用标量衍射理论和菲涅耳和弗劳恩霍夫衍射的衍射对波动光学进行建模(Matlab代码实现)

           目录

1 概述

2 运行结果

3 参考文献

‍4 Matlab代码


1 概述

本文使用Matlab对波动光学进行建模。包括使用标量衍射理论和菲涅耳和弗劳恩霍夫衍射的衍射。

2 运行结果

使用标量衍射理论和菲涅耳和弗劳恩霍夫衍射的衍射对波动光学进行建模(Matlab代码实现)_第1张图片

 使用标量衍射理论和菲涅耳和弗劳恩霍夫衍射的衍射对波动光学进行建模(Matlab代码实现)_第2张图片使用标量衍射理论和菲涅耳和弗劳恩霍夫衍射的衍射对波动光学进行建模(Matlab代码实现)_第3张图片使用标量衍射理论和菲涅耳和弗劳恩霍夫衍射的衍射对波动光学进行建模(Matlab代码实现)_第4张图片

 

 

 使用标量衍射理论和菲涅耳和弗劳恩霍夫衍射的衍射对波动光学进行建模(Matlab代码实现)_第5张图片

使用标量衍射理论和菲涅耳和弗劳恩霍夫衍射的衍射对波动光学进行建模(Matlab代码实现)_第6张图片

使用标量衍射理论和菲涅耳和弗劳恩霍夫衍射的衍射对波动光学进行建模(Matlab代码实现)_第7张图片

 使用标量衍射理论和菲涅耳和弗劳恩霍夫衍射的衍射对波动光学进行建模(Matlab代码实现)_第8张图片使用标量衍射理论和菲涅耳和弗劳恩霍夫衍射的衍射对波动光学进行建模(Matlab代码实现)_第9张图片

 

3 参考文献

[1]刘全,吴建宏.光栅的标量衍射理论与耦合波理论的分析比较[J].激光杂志,2004(02):31-34.

‍4 Matlab代码

主函数部分代码:

function X = getframeWithDecorations(f, withDecorations, doDrawnow)
% GETFRAMEWITHDECORATIONS(f) Capture the whole figure including window decorations.
% GETFRAMEWITHDECORATIONS(f, withDecorations) Capture the whole figure, including decorations if the flag is true

% Copyright 1984-2020 The MathWorks, Inc.
    
    if nargin < 2
        withDecorations = true;
    end

    if nargin < 3
       doDrawnow = true;
    end

    % some clients may have done preemptive drawnow on their own
    % avoiding calls here may save a little time 
    if doDrawnow
       drawnow
       drawnow
    end

    if ~isgraphics(f, 'figure')
        error(message('MATLAB:capturescreen:FigureWindowRequired'));
    end

    if matlab.ui.internal.isUIFigure(f)
        cdata = getWebFigureWithDecorations(f, withDecorations);
    else
        cdata = getJavaFrameWithDecorations(f, withDecorations);
    end

    % Need to initialize fields in this order
    X.cdata = cdata;
    X.colormap = [];
end

 

你可能感兴趣的:(波动光学模拟,matlab,图像处理,开发语言)