在tools子目录中有简单的MATLAB函数,可用于将使用二进制格式选项的GprMax2D / 3D创建的建模数据导入MATLAB,以进行进一步处理和可视化操作。在每个函数中都有一个小标题,用于解释其用途,参数和返回值。
最近在学习使用matlab,一周后我再来更新…… ——2019年4月30日
2020.07.08
19年至今一直在做课题,找工作,现在刚入职,最艰难没有时间更,原本我以为很少有人搞这个的,收到很多人的私信问这个matlab实现,所以我觉得年底之前吧,我把matlab操作这一块更新完毕,十月一可能有时间更新一些。
2020.07.09
既然来了,赶紧找找资料给大家分享,让大家可以先用着。
gprmax.m 和 gprmax2g.m 两个文件(这两个文件是不是忘记给大家了,最后更下载地址,大家可以看到我上传的资源吗,目前审核中,我怕忘记来更新),这两个matlab文件非常有用,我们的算法代码可以通过调用他们来读取仿真产生的.out文件和.geo文件,下面我把大家最需要的两个基本操作分享给大家。
1.显示仿真结果
- clc;
- clear all;
- [Header,Fields]=gprmax('testf2.out'); %调用gprmax
- itera=Header.iterations; %时间采样次数
- d_t=Header.dt; %时间步进间隔
- EZ=Fields.ez(:,:);
- imagesc(EZ); %程序到这就可以用,下边是我调整了坐标字体
- set(gca,'FontSize',22,'Fontname', 'Times New Roman');
- xlabel('trace number','FontSize',26);
- ylabel('time/ns','FontSize',26);
- % set(gca,'FontSize',24,'Fontname', 'Times New Roman');
- % xlabel('trace number','FontSize',28);
- % ylabel('time/ns','FontSize',28);
- colormap(gray); %将图片显示为灰度图
2.显示仿真模型
- clc;
- clear all;
- close all;
- [mesh,header,media]=gprmax2g('testf2.geo'); %调用gprmax2g
- for i=1:header.nx % X坐标的距离值
- X(i)=0+header.dx*(i);
- end
- for i=1:header.ny %Y 坐标的距离值
- Y(i)=0+header.dy*(i);
- end
- figure;
- imagesc(X,Y,flipud(mesh)); %程序到这就可以用,下边是我调整了坐标字体
- set(gca,'FontSize',24,'Fontname', 'Times New Roman');
- xlabel('x/m','FontSize',28);ylabel('y/m','FontSize',28);
- colormap(gray); %将图片显示为灰度图
其他一些算法的实现都可以通过调用 gprmax.m 和 gprmax2g.m 两个文件,来进一步实现,此文就更新到这里吧,你们再研究研究代码,在此基础改进,希望有突破的小伙伴留言给大家分享,大家的问题也在留言中相互解决一下,互相帮助,OK。
另外,大家问的比较多的是GprMax V3怎么使用,其实V3是有代码可以将GprMax V2代码直接转过去的,大家耐心学习一下,GprMax V3我仅仅是使用过,但并没有深入研究,所以你要是能用V2就不要用V3,那个需要你使用python处理,有python基础的同学可以研究一下,遇到问题的话可以多找找资料,不过网上解决问题的办法好像不多。之前对GprMax V2的介绍基本适用于V3,基本理论是一样的,只是处理方式不同。最最重要的一点,V2只能用在Windows7,V3需要python环境,安装比较麻烦。
gprmax2g.m地址: gprmax2g.m-Matlab其他资源-CSDN下载
gprmax.m地址: GprMax2Dgprmax.m_gprmax.m文件的使用-Matlab其他资源-CSDN下载