Matlab可调用MODTRAN5封装器之Mod5

news/2024/11/29 8:01:47/

目录

  • Mod5介绍
  • 安装Mod5
    • Mod5文件位置
    • 注意事项
  • 运行Mod5
    • 创建实例
    • 设置MODTRAN参数
    • 运行MODTRAN
    • 子实例
    • 结果绘制
    • 示例图

Mod5介绍

MODTRAN 是一个计算地球大气中电磁辐射传输的软件代码。MODTRAN是通过使用具有严格格式的输入文本文件来控制的。这个文件被称为“tape5”,扩展名为.tp5或.ltn。手工创建或编辑这个文件是不方便的。Mod5提供了一组函数来简化MODTRAN用例的处理。这些方法包括将tape5文件格式读取到Mod5类“实例”或“对象”中,更改文件中描述的案例实例,将tape5格式写回文件,在案例上运行MODTRAN并将MODTRAN输出文件中的各种结果读取回Matlab。还有许多绘图方法可用。

安装Mod5

Mod5下载链接: Matlab Function Wrapper for MODTRAN 5

Mod5文件位置

为了让Mod5和MODTRAN配合运行,Mod5.m必须位于Modtran5\Bin目录下(MODTRAN可执行文件所在目录)。
所有与Mod5实例相关联的MODTRAN输出文件将被写到MODTRAN可执行文件所在的同一个目录中。随着时间的推移,这可能导致该目录中累积大量文件。若要将输入(.tp5)和所有输出数据保存到特定目录,请使用以下命令:

>> MyCase.Save(SaveDirectory);

建议新建文件夹:放入Mod5.m(必须)和其他Mod5Examples.m等工程文件用于案例计算。

注意事项

运行封装器必须使用对应MODTRAN版本的可执行文件,Mod5目前仅支持MODTRAN 5.2.0.版本。
如果使用其他版本的MODTRAN5,也可以忽视警告信息或者修改对应的函数,或者修改Mod5.m函数:

%ExpectedMODTRAN = 'Mod5.2.0.0_cons.exe';
ExpectedMODTRAN = 'Mod5.2.1.0.exe';

运行Mod5

创建实例

有两种方法可以创建Mod5实例。
1.从 tape5或 .tp5等文件读取实例。

>> MyCase = Mod5(‘AnExistingCase.tp5’);

2.从头创建一个案例,例如在example 2中,首先需要获得一个空的Mod5对象。

>> MyEmptyCase = Mod5;

设置MODTRAN参数

MODTRAN输入参数都可以作为Mod5属性使用。例如:

>> MyCase(Sol1).MODTRN = ‘M’; % Set the MODTRAN Spectral Band Model

要在单个函数调用中为子case设置多个MODTRAN变量,请使用set函数。例如:

 Sol1 = Sol1.Set('MODTRN', 'M','SPEED','S');

具体参数含义请参照Modtran5.2.1用户手册。

运行MODTRAN

构造Mod5实例后,运行MODTRAN就很简单了:

>> MyCase = MyCase.Run;

第一次执行Run方法时,Mod5将显示一个文件选择对话框,您必须选择要使用的MODTRAN可执行文件。如果您将MODTRAN移动或重新安装到另一个位置,则必须再次执行此操作。可以通过调用函数将Mod5指向MODTRAN可执行文件:

>> Mod5.SetMODTRANExe;

子实例

当需要不同数据的实例同时运行出结果时,可以使用replicate方法复制Mod5实例来创建子实例。这样可以适当加快计算速度。
例如创建5个相同子实例的行向量,使用以下命令:

>> MyReplicatedCase = MyCase.Replicate([1 5]); 

创建子实例后,就可以使用标准的Matlab索引为5个子实例中的每一个实例改变选定的MODTRAN输入。

for j=1:5MyCase(1,j)=MyCase(1,j).Set('ANGLE', j);
end

结果绘制

有几种方法可以绘制各种数据项,包括MODTRAN输出。

MyCase.PlotTp7  %plots selectable MODTRAN tape7 outputs 
MyCase.PlotSc7  %plots selectable convolved MODTRAN tape7 outputs 
MyCase.PlotChn  %plots channel (.chn) MODTRAN outputs 
MyCase.PlotAtm  %plots user-defined atmospheric data 

示例图

在这里插入图片描述


http://www.ppmy.cn/news/726159.html

相关文章

lut预设安装:LUTs预设如何导入pr?lut预设导入Premiere Pro教程

pr mac版是适用于电影、电视和Web的领先视频编辑软件。相信很多小伙伴都喜欢用它来创造独特的视频,那么今天小编就来和大家分享lut预设导入Premiere Pro CC教程,想要学习的用户赶紧看看哦! LUTs预设如何导入pr? 打开pr软件,如图…

Pr调色预设怎么安装?.cube格式luts预设如何导入pr?Premiere导入LUTs预设详细教程

Adobe Premiere Pro CC是适用于电影、电视和Web的领先视频编辑软件。相信很多小伙伴都喜欢用它来创造独特的视频,那么怎样才可以快速的导入luts预设呢?今天小编就来和大家分享lut预设导入pr2019 mac版的具体教程! 原文来自: PR模…

旅行摄影LR调色预设(含lr预设导入教程)

小编与大家分享一套专业的旅行摄影LR调色预设,包含40 Lightroom预设和40个ACR预设,每个预设都经过精心设计,完全可调和可定制,适用于RAW和JPEG图像,兼容Mac和Windows系统,只需点击一下即可获得您想要的惊人…

LR导出预设

设置两个选择原片和1000像素的类别

ROS单目相机标定

camera_calibration/Tutorials/MonocularCalibration - ROS Wiki 说明:本文介绍使用camera_calibration的cameracalibrator.py节点在 ROS 上使用原始图像校准单目相机。 1. 在开始之前 确保您具备以下条件: 具有已知尺寸的棋盘。本文使用 16.2 毫米正…

ROS单目相机标定 ------ 亲测

link 主要参考1 主要参考2 主要参考3 camera_calibration/Tutorials/MonocularCalibration - ROS Wiki 说明:本教程介绍使用camera_calibration的cameracalibrator.py节点在 ROS 上使用原始图像校准单目相机。 1. 在开始之前 确…

【LCC系列】不用标定目标,实现高分辨率激光雷达和相机的像素级自标定(2020)

文章目录 1 动机2 方法2.1 边缘约束2.2 边缘提取2.3 边缘匹配2.4 外参标定2.4.1 测量噪声2.4.2 外参优化2.4.3 估计的不确定性2.4.4 边缘分布的影响 3 实验 本文介绍一个 高分辨率激光雷达(Livox)和相机的外参标定方法(targetless方法),该方…

飞思卡尔MC9S12X:CAN初始化配置

飞思卡尔MC9S12X:CAN初始化配置 飞思卡尔MC9S12X:CAN发送配置 飞思卡尔MC9S12X:CAN接收配置 飞思卡尔MC9S12X:CAN驱动函数在主函数中的应用 一、MSCAN初始化流程 查询是否进入初始化状态,如不是,进入初始化…