matlab文件的导入导出
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
详细可参考FDTD算法的相关文献。
gprmax.m的使用例子:
fileout = 'bre1.out';
[Header,Fields]=gprmax(fileout);
N=1:Header.NSteps; %移动次数
Position=Header.dx*Header.tx+(N-1)*(Header.dx*Header.TxStepX); %天线每次所在位置
Header.rx=0.1125/Header.dx=45;
Header.ry=0.4525/Header.dy=181;
2)Fields: 该变量包括以下成员:
Fields.t: 每个波形的时间轴。数组大小Header.iterations*1;
Fields.ez: Z轴方向磁矢量数据。数组大小Header.iterations*1* Header.NSteps;
#messages:
#number_of_media:
#nips_number:
#media_file:
#geometry_file:
#medium:
#abc_type:
#abc_order:
#abc_stability_factors:
#abc_optimization_angles:
#abc_mixing_parameters:
Fields.hx: X轴方向电矢量数据。数组大小Header.iterations*1* Header.NSteps;
Fields.hy: Y轴方向电矢量数据。数组大小Header.iterations*1* Header.NSteps;
由于GprMax仿真是基于FDTD算法的,以上三者的关系为:
i1大于10。
#media_file:
使用该命令,你可以定义常用介质所描述的结构参数的文件路径与名称。
#geometry_file:
使用该命令,你可以定义模型的几何信息的二进制文件。这些信息可以用于创建模型的图像与检查创建的正确与否。
#geometry_file: model.geo
#messages:
则模型的单元数为100*150
最大允许时间步△t与△x、△y的约束关系如下:
(3.1)
C为光速,GprMax2D中计算△t使用3.1式等号。
#time step stability factor:
通过该命令,你可以修改GprMax2D所计算的△t的值,但必须满足3.1式的要求。
#time_window:
Header.nrx:
Header.nrx_box:
Header.tx=0.0875/Header.dx=35;
Header.ty=0.4525/Header.dy=181;
Header.source=’MyLineSource’;
Header.delay=0;(等于#tx:命令的第四个参数)
Header.removed=12e-9;(等于#tx:命令的第五个参数)
1.2 输入文件名
注意:要输入文件的全路径;*.in文件只要出现任何语法错误或者路径错误,软件都会自动关闭,不会有任何错误提示。
出现以下画面(以自带例子文件bre1.in为例,*.in的命令参考前面的文章或[1]):
运行完毕会发现..\GprMaxV2.0\Windows文件夹下多了两个文件bre1.out、bre1.geo文件,复制到tools文件夹。
例子:如输入文件*.in中定义:
#domain: 2.5 0.65
#dx_dy: 0.0025 0.0025
#time_window: 12e-9
……
#analysis: 115 bre1.out b
#tx: 0.0875 0.4525 MyLineSource 0.0 12e-9
#rx: 0.1125 0.4525
二、数据成像
tools文件夹下有五个m文件:gprmax.m,gprmax2g.m, gprmax3g.m, gprmaxde.m , gprmaxso.m。
这里只讲gprmax2g.m,gprmax.m这两个文件的用法,其他三个以后有空再写。gprmax3g.m是处理GprMax3D的几何数据的;gprmaxde.m用来计算Debye公式(参考[1])介电常数的;gprmaxso.m用于计算激励函数的。
至少一个#tx:与#rx:,或者#rx_box:命令
• 为了使#tx: 命令正确运行,同时需要一行新的#line_source:命令
3.3.1一般命令
#title:
模型的题目
#title: str
Str即是模型的题目,必须是单行的。
#domain:
模型的范围(单位:米)
#domain: f1 f2
f1与f2分别代表x和y轴上的量度大小
GprMaxV2.0下载地址:http://www.gprmax.org/Download.html
说明:翻译得不好,还望大家见谅,因为我也是边看边译的。
3.1 GprMax2D命令的一般注意事项
为了描述GprMax2D/3D命令及其参数,我们作以下约定:
f表示浮点数(如1.5或15e-1、1.5e1)
i表示整数
c表示字符
str表示字符串
file表示输入文件名
所有空间距离的基本单位为米
所有时间的基本单位为秒
所有频率参数的基本单位是Hz
3.2 GprMax2D 2.0版本共有32条命令:
#title:
#domain:
#dx_dy:
#time_step_stability_factor:
#time_window:
ABC相关命令: 允许定制和优化吸收边界条件
介质和对象的构造命令: 用不同的参数来在模型中引入不同的介质和构造简单的几何形状
激励和输出命令:用来放置源代码和模型的输出点
运行GprMax2D最低限度的命令如下:
•#domain:
•#dx_dy:
•#time_window:
•至少一个#analysis:及与其对应的结束命令#end_analysis:
以下可以运行于GprMax中的命令在GprMax2D版本2.0中将不再支持:
#scan:
#csg:
#extra_tx:
另外,一些命令的旧的参数规则亦发生了变化:
#tx:
#snapshot:
3.3 GprMax2D命令参数
为了更好地介绍GprMax2D命令,我们将它们分成四类:
一般命令:包括用于指定的大小和模型的离散
使用该命令,你可以控制软件运行时在屏幕上的输出信息。
#messa来自百度文库es:c1
#nips_number:
该命令仅当在GprMax2D需要时才用于你的输入文件中。
#nips_number: i1
微风无尘的瓶子
为什么我总要学习新的东西?不是因为我好学,而是我以前太懒了。
2012-03-16 00:28
GprMax中GprMax2D的使用方法
header.nx=2.5/0.0025=1000; header.ny=0.65/0.0025=260;
mesh: 存储模型数据,M x N的数组,其中M为Y轴方向的Yee单元数目,N为X轴方向的Yee单元数目;M=header.nx,N=header.ny;
gprmax2g.m的使用例子:
filegeo = 'bre1.geo';
GprMaxV2.0中GprMax2D输入文件的命令(1/2)
原创
修改人
修改时间
版本
微风无尘
微风无尘
2012.3.9
V1.1
实验环境:
操作系统:Windows 7
软件版本:MATLAB 7.1 & GprMaxV2.0
参考文献:
GprMaxV2.0软件manual文件夹下的UserGuideV2.pdf。
ylabel('y(m)');
2.2 gprmax.m的使用方法
gprmax函数用于读取GprMax2D与GprMax3D软件仿真探地雷达模型生成的二进制波形数据。
gprmax函数的原型:
[Header, Fields] = gprmax( 'filename' )
filename是.out文件名;
Header.NSteps=115;
Header.TxStepX=0.02/Header.dx=8; Header.TxStepY=0.0/Header.dy=0;
Header.RxStepX=0.02/Header.dx=8; Header.RxStepY=0.0/Header.dy=0;
Header.ntx:
#domain: 1.0 1.5
表示1.0*1.5的大小范围
#dx_dy:
表示x和y轴上的偏移量(如△x、△y)
#dx_dy: f1 f2
表示x轴偏移f1和y轴方向上偏移f2
#domain: 1.0 1.5
#dx_dy: 0.1 0.1
则模型的单元数为10*15
#domain: 1.0 1.5
#dx_dy: 0.01 0.01
[meshdata,header,media]=gprmax2g(filegeo);
figure(1);
[MM,NN]=size(meshdata);
imagesc((1:NN)*header.dx,(1:MM)*header.dy,meshdata)
axis('equal');
xlabel('x(m)');
原创
修改人
修改时间
版本
微风无尘
微风无尘
2012.3.18
V1.3
实验环境:
操作系统:Windows 7
软件版本:MATLAB 7.1 & GprMaxV2.0
参考资料:
[1]UserGuideV2.pdf
一、GprMax2D软件使用
1.1 直接运行..\GprMaxV2.0\Windows文件夹下的GprMax2D.exe文件,会出现以下窗口(也可以在命令提示符窗口输入命令运行) :
用于指定所需的总的模拟时间。语法:
#time_window: f1
或者
#time_window: i1
总的迭代次数和模拟时间窗口: (3.2)
#number_of_media:
但你需要使用大于10个介质时必须使用该命令,因为GprMax2D只初始化了10个介质的使用空间。
#number_of_media: i1
1)Header:该变量包括以下成员:
Header.title: 模型的名称;
Header.iterations: 迭代次数;
Header.dx: 在X轴每次偏移大小;
Header.dy: 在Y轴每次偏移大小;
Header.dt: 最大允许时间步长;
Header.NSteps: 仿真次数;等于*.in文件中#analysis:命令的第一个参数;
#tx_steps: 0.02 0.0
#rx_steps: 0.02 0.0
#end_analysis:
……
那么,Header.iterations=ceil(Header.removed/Header.dt);
Header.dx=0.0025;Header.dy=0.0025;
Header.dt= 1/(c*sqrt(1/Header.dx^2+1/Header.dy^2));
例子:如输入文件*.in中定义:
#domain: 2.5 0.65
#dx_dy: 0.0025 0.0025
那么:header.dx=0.0025; header.dy=0.0025;
header.dt = 1/(c*sqrt(1/header.dx^2+1/header.dy^2)); (其中c=299792458,为光速,公式参考[1]);
2.1 gprmax2g.m的使用方法
gprmax2g函数用于读取GprMax2D软件仿真探地雷达模型生成的二进制几何数据。
gprmax2g函数的原型:
[mesh,header,media] = gprmax2g( 'filename' )
filename是.geo文件名;
media: 存储介质类型,media.type;
header: 存储模型的几何参数;
header.title: 模型的名称;
header.dx: 模型在X轴每次偏移大小(单位:m);
header.dy: 模型在Y轴每次偏移大小(单位:m);
header.dt: 最大允许时间步长(单位:秒);
header.nx: 模型在X轴的偏移次数;
header.ny: 模型在Y轴的偏移次数;
#pml_layers:
#box:
#cylinder:
#x_segment:
#y_segment:
#triangle:
#analysis:
#end_analysis:
#tx:
#rx:
#rx_box:
#snapshot:
#tx_steps:
#rx_steps:
#line_source:
#excitation_file:
gprmax.m的使用例子:
fileout = 'bre1.out';
[Header,Fields]=gprmax(fileout);
N=1:Header.NSteps; %移动次数
Position=Header.dx*Header.tx+(N-1)*(Header.dx*Header.TxStepX); %天线每次所在位置
Header.rx=0.1125/Header.dx=45;
Header.ry=0.4525/Header.dy=181;
2)Fields: 该变量包括以下成员:
Fields.t: 每个波形的时间轴。数组大小Header.iterations*1;
Fields.ez: Z轴方向磁矢量数据。数组大小Header.iterations*1* Header.NSteps;
#messages:
#number_of_media:
#nips_number:
#media_file:
#geometry_file:
#medium:
#abc_type:
#abc_order:
#abc_stability_factors:
#abc_optimization_angles:
#abc_mixing_parameters:
Fields.hx: X轴方向电矢量数据。数组大小Header.iterations*1* Header.NSteps;
Fields.hy: Y轴方向电矢量数据。数组大小Header.iterations*1* Header.NSteps;
由于GprMax仿真是基于FDTD算法的,以上三者的关系为:
i1大于10。
#media_file:
使用该命令,你可以定义常用介质所描述的结构参数的文件路径与名称。
#geometry_file:
使用该命令,你可以定义模型的几何信息的二进制文件。这些信息可以用于创建模型的图像与检查创建的正确与否。
#geometry_file: model.geo
#messages:
则模型的单元数为100*150
最大允许时间步△t与△x、△y的约束关系如下:
(3.1)
C为光速,GprMax2D中计算△t使用3.1式等号。
#time step stability factor:
通过该命令,你可以修改GprMax2D所计算的△t的值,但必须满足3.1式的要求。
#time_window:
Header.nrx:
Header.nrx_box:
Header.tx=0.0875/Header.dx=35;
Header.ty=0.4525/Header.dy=181;
Header.source=’MyLineSource’;
Header.delay=0;(等于#tx:命令的第四个参数)
Header.removed=12e-9;(等于#tx:命令的第五个参数)
1.2 输入文件名
注意:要输入文件的全路径;*.in文件只要出现任何语法错误或者路径错误,软件都会自动关闭,不会有任何错误提示。
出现以下画面(以自带例子文件bre1.in为例,*.in的命令参考前面的文章或[1]):
运行完毕会发现..\GprMaxV2.0\Windows文件夹下多了两个文件bre1.out、bre1.geo文件,复制到tools文件夹。
例子:如输入文件*.in中定义:
#domain: 2.5 0.65
#dx_dy: 0.0025 0.0025
#time_window: 12e-9
……
#analysis: 115 bre1.out b
#tx: 0.0875 0.4525 MyLineSource 0.0 12e-9
#rx: 0.1125 0.4525
二、数据成像
tools文件夹下有五个m文件:gprmax.m,gprmax2g.m, gprmax3g.m, gprmaxde.m , gprmaxso.m。
这里只讲gprmax2g.m,gprmax.m这两个文件的用法,其他三个以后有空再写。gprmax3g.m是处理GprMax3D的几何数据的;gprmaxde.m用来计算Debye公式(参考[1])介电常数的;gprmaxso.m用于计算激励函数的。
至少一个#tx:与#rx:,或者#rx_box:命令
• 为了使#tx: 命令正确运行,同时需要一行新的#line_source:命令
3.3.1一般命令
#title:
模型的题目
#title: str
Str即是模型的题目,必须是单行的。
#domain:
模型的范围(单位:米)
#domain: f1 f2
f1与f2分别代表x和y轴上的量度大小
GprMaxV2.0下载地址:http://www.gprmax.org/Download.html
说明:翻译得不好,还望大家见谅,因为我也是边看边译的。
3.1 GprMax2D命令的一般注意事项
为了描述GprMax2D/3D命令及其参数,我们作以下约定:
f表示浮点数(如1.5或15e-1、1.5e1)
i表示整数
c表示字符
str表示字符串
file表示输入文件名
所有空间距离的基本单位为米
所有时间的基本单位为秒
所有频率参数的基本单位是Hz
3.2 GprMax2D 2.0版本共有32条命令:
#title:
#domain:
#dx_dy:
#time_step_stability_factor:
#time_window:
ABC相关命令: 允许定制和优化吸收边界条件
介质和对象的构造命令: 用不同的参数来在模型中引入不同的介质和构造简单的几何形状
激励和输出命令:用来放置源代码和模型的输出点
运行GprMax2D最低限度的命令如下:
•#domain:
•#dx_dy:
•#time_window:
•至少一个#analysis:及与其对应的结束命令#end_analysis:
以下可以运行于GprMax中的命令在GprMax2D版本2.0中将不再支持:
#scan:
#csg:
#extra_tx:
另外,一些命令的旧的参数规则亦发生了变化:
#tx:
#snapshot:
3.3 GprMax2D命令参数
为了更好地介绍GprMax2D命令,我们将它们分成四类:
一般命令:包括用于指定的大小和模型的离散
使用该命令,你可以控制软件运行时在屏幕上的输出信息。
#messa来自百度文库es:c1
#nips_number:
该命令仅当在GprMax2D需要时才用于你的输入文件中。
#nips_number: i1
微风无尘的瓶子
为什么我总要学习新的东西?不是因为我好学,而是我以前太懒了。
2012-03-16 00:28
GprMax中GprMax2D的使用方法
header.nx=2.5/0.0025=1000; header.ny=0.65/0.0025=260;
mesh: 存储模型数据,M x N的数组,其中M为Y轴方向的Yee单元数目,N为X轴方向的Yee单元数目;M=header.nx,N=header.ny;
gprmax2g.m的使用例子:
filegeo = 'bre1.geo';
GprMaxV2.0中GprMax2D输入文件的命令(1/2)
原创
修改人
修改时间
版本
微风无尘
微风无尘
2012.3.9
V1.1
实验环境:
操作系统:Windows 7
软件版本:MATLAB 7.1 & GprMaxV2.0
参考文献:
GprMaxV2.0软件manual文件夹下的UserGuideV2.pdf。
ylabel('y(m)');
2.2 gprmax.m的使用方法
gprmax函数用于读取GprMax2D与GprMax3D软件仿真探地雷达模型生成的二进制波形数据。
gprmax函数的原型:
[Header, Fields] = gprmax( 'filename' )
filename是.out文件名;
Header.NSteps=115;
Header.TxStepX=0.02/Header.dx=8; Header.TxStepY=0.0/Header.dy=0;
Header.RxStepX=0.02/Header.dx=8; Header.RxStepY=0.0/Header.dy=0;
Header.ntx:
#domain: 1.0 1.5
表示1.0*1.5的大小范围
#dx_dy:
表示x和y轴上的偏移量(如△x、△y)
#dx_dy: f1 f2
表示x轴偏移f1和y轴方向上偏移f2
#domain: 1.0 1.5
#dx_dy: 0.1 0.1
则模型的单元数为10*15
#domain: 1.0 1.5
#dx_dy: 0.01 0.01
[meshdata,header,media]=gprmax2g(filegeo);
figure(1);
[MM,NN]=size(meshdata);
imagesc((1:NN)*header.dx,(1:MM)*header.dy,meshdata)
axis('equal');
xlabel('x(m)');
原创
修改人
修改时间
版本
微风无尘
微风无尘
2012.3.18
V1.3
实验环境:
操作系统:Windows 7
软件版本:MATLAB 7.1 & GprMaxV2.0
参考资料:
[1]UserGuideV2.pdf
一、GprMax2D软件使用
1.1 直接运行..\GprMaxV2.0\Windows文件夹下的GprMax2D.exe文件,会出现以下窗口(也可以在命令提示符窗口输入命令运行) :
用于指定所需的总的模拟时间。语法:
#time_window: f1
或者
#time_window: i1
总的迭代次数和模拟时间窗口: (3.2)
#number_of_media:
但你需要使用大于10个介质时必须使用该命令,因为GprMax2D只初始化了10个介质的使用空间。
#number_of_media: i1
1)Header:该变量包括以下成员:
Header.title: 模型的名称;
Header.iterations: 迭代次数;
Header.dx: 在X轴每次偏移大小;
Header.dy: 在Y轴每次偏移大小;
Header.dt: 最大允许时间步长;
Header.NSteps: 仿真次数;等于*.in文件中#analysis:命令的第一个参数;
#tx_steps: 0.02 0.0
#rx_steps: 0.02 0.0
#end_analysis:
……
那么,Header.iterations=ceil(Header.removed/Header.dt);
Header.dx=0.0025;Header.dy=0.0025;
Header.dt= 1/(c*sqrt(1/Header.dx^2+1/Header.dy^2));
例子:如输入文件*.in中定义:
#domain: 2.5 0.65
#dx_dy: 0.0025 0.0025
那么:header.dx=0.0025; header.dy=0.0025;
header.dt = 1/(c*sqrt(1/header.dx^2+1/header.dy^2)); (其中c=299792458,为光速,公式参考[1]);
2.1 gprmax2g.m的使用方法
gprmax2g函数用于读取GprMax2D软件仿真探地雷达模型生成的二进制几何数据。
gprmax2g函数的原型:
[mesh,header,media] = gprmax2g( 'filename' )
filename是.geo文件名;
media: 存储介质类型,media.type;
header: 存储模型的几何参数;
header.title: 模型的名称;
header.dx: 模型在X轴每次偏移大小(单位:m);
header.dy: 模型在Y轴每次偏移大小(单位:m);
header.dt: 最大允许时间步长(单位:秒);
header.nx: 模型在X轴的偏移次数;
header.ny: 模型在Y轴的偏移次数;
#pml_layers:
#box:
#cylinder:
#x_segment:
#y_segment:
#triangle:
#analysis:
#end_analysis:
#tx:
#rx:
#rx_box:
#snapshot:
#tx_steps:
#rx_steps:
#line_source:
#excitation_file: