MATLAB作为优秀的科学计算软件,其强大的符号计算与数值计算功能,已为国内科技工作者所熟知。实际上,MATLAB不仅仅是一款“计算软件”,其强大的图形可视化能力,在地学常见数据规模这个尺度上,并不逊色于一些专业的数据可视化软件。而且,由于有大量现成的数值计算基础库和工具库可以利用,以及具备更高效快捷的编程能力,MATLAB的图形分析和实现具有更大的灵活性和更为广阔的想象空间。1曲面数据的可视化地学中常见的曲面包括地形表面、地层界面、地下水面、储层表面等等。图1中图(a)和图(b)分别为对某大厦基坑进行三维地下水数值模拟后,利用得到的不同降水阶段的水头数据,用MATLAB绘制的三维曲面图,并叠加了云图和等值线图。这两个图非常清晰直观地展现了不同降水阶段研究域内地下水位的变化情况。曲面数据分为标量场数据和矢量场数据,按分布情况又可以分为规则网格数据和不规则散乱数据。对于各种不同类型的曲面数据,MATLAB都提供了相应的绘图函数予以表现。三维标量场数据需要提供数据采样点的平面坐标值x,y,以及表示该点处某种度量的标量值z。这个标量可以是该点的高程、应力值、温度等等。而矢量场数据除了要有各点的平面坐标值x和y外,图1某基坑不同降水阶段地下水位变化情况图示Fig.1Differentgroundwatersurfacesofafoundationpitwhenpumping还要提供各点处在x和y两个方向上的某种度量变化值u和v,比如坡度、主应力的变化等。三维标量场数据可以用曲面图和等值线图来表现,MAT-LAB中分别用surf,surfl,contour,contourf和contour3等函数实现;表现矢量场的图形类型则有矢量图、流线图和带纹理的卷曲图等,MATLAB中分别用quiver,streamline和curl等函数实现。需要注意的是,使用上面这些函数绘图的时候,要求数据必须是规则网格数据。但是,在实际工作中,由于各种各样的原因,只能得到一些不规则分布的零散数据。对这些数据进行绘图,必须首先将它们规则化,即通过插值的办法,将不规则的散乱数据转换成规则的网格数据。Surfer软件在散乱数据规则化方面实力很强,目前版本已经提供了十余种插值方法,包括在地学方面应用效果比较好的与距离成反比的加权法和径向基函数插值法等。MAT-LAB目前提供了最近邻插值、双线性插值和双三次插值等3种插值方法。利用规则数据绘图时,MATLAB采用的数据格式与传统的Surfer等的不同,它采用矩阵格式。用MATLAB绘制三维图时,如果数据不是矩阵格式的,需要首先转换为矩阵格式。使用Surfer软件时,要求规则数据具有下面的格式:Indexxyzp(1,1)x(1,1)y(1,1)z(1,1)p(1,2)x(1,2)y(1,2)z(1,2)…p(1,n)x(1,n)y(1,n)z(1,n)p(2,1)x(2,1)y(2,1)z(2,1)…p(m,n)x(m,n)y(m,n)z(m,n)其中,p表示数据点;x,y和z表示对应点的平面坐标和z方向度量值;m和n分别为数据点的行数和列数。MATLAB绘三维规则数据的曲面图时,则需要分别输入平面坐标和z向度量的数据矩阵,然后调用绘图函数绘图。下面是x坐标的数据矩阵,可以类似组织y坐标和z向度量的数据。x(1,1)x(1,2)…x(1,n)x(2,1)x(2,2)…x(2,n)…x(m,1)x(m,2)…x(m,n)2体数据的可视化地学上一直都有对地质体进行图形展示的要求,通常的做法是建立联合剖面,用多个穿过地质体的平行或不平行的地质剖