基于Matlab软件的变形过程线绘制技术
2010-03-24王铁松冯俊领王雪峰
王铁松,冯俊领,王雪峰
(青岛市公路管理局)
随着经济的快速发展,对各种大型工程的安全性能的提出了更高的要求,特别对桥梁工程、滑坡体地质灾害、地铁轨道交通工程、地基处理工程、水利水电工程、堤防、河港及航运枢纽工程、病险水库除险加固等的安全监测十分必要。众所周知,这些大型工程结构物在施工和运营期间,由于受各种因素的影响,会产生变形,变形如果超出了规定的限度,就会影响工程的正常使用,严重时还会危及大型工程的安全,给社会和人民生活带来巨大的损失。
绘制变形过程线是变形监测中一个主要环节,便于变形分析和变形预报。绘制变形过程线的方法有很多种,传统的绘制方法大都使用AutoCAD和Excel来实现的,但这些方法存在以下缺点:(1)数据的处理与图形的生成相分离。建筑物监测数据的处理一般都用如PB、VB、VC等开发语言编制的程序进行处理;(2)对于每一个测点过程线的绘制都要在AutoCAD或者Excel中进行调用,工作效率低;(3)生成后的图形格式不易更改,而且要生成“.Script”文件,必须对AutoCAD的命令很熟悉。此外,变形监测需要处理大量的数据,因此选择系统开发语言时,最好首先考虑选择方便数据库应用程序开发的工具,然后才顾及界面设计方面。而MATLBA是数据库应用程序开发最有利的工具之一,在界面设计与图形绘制的功能强大,另外通过对过程线图的绘制,可以较好地反映出观测资料的变化规律。
本文采用MATLAB软件编辑程序来绘制变形过程线,主要研究时间与坐标的关系和坐标点之间的关系过程线,所绘制的过程线精度高,功能齐全容易分析和研究变形规律,方便快捷了解观测值过程的规律性,使监测系统的管理变得更为方便。
1 坐标随时间变化过程线的绘制
安全监测是诊断工程安全性态的有效措施,是在工程重点监测部位安装监测仪器设备,通过监测仪器设备反馈的数据校核设计参数、检验施工质量、反映工程安全状况,为工程施工和运行提供安全决策依据。变形监测,就是利用测量与专用仪器和方法对变形体的变形现象进行监视观测的工作。其任务是确定在各种荷载和外力作用下,变形体的形状、大小及位置变化的空间状态和时间特征。
变形过程线是指多次测量观测点的坐标在坐标系中先后变化的连线。变形过程线反映的是变形有关因素与观测点坐标的关系,如:时间过程线、位移过程线等。观测点变形过程线可明显地反映出变形的趋势、规律和幅度,对于初步判断建筑物的工作情况是否正常是非常有用的。
1.1 设计思想和方法
坐标随时间变化过程线的设计要求:随意给出一些点多次观测的三维坐标,把这些点的坐标数据带入到程序中,就能绘制出这些点的X、Y、Z坐标随时间的变化过程线,即坐标系中相邻观测次数用线段相连并标记出数据点。
根据设计要求,结合MATLAB软件的功能,该程序的设计思想和方法是:(1)虽然有很多点需要绘制变形过程线,但是一次是可以统计出来的,所以在以后的编写里,点的个数都是个定值m,但观测次数是未知的。(2)然后建立m个“.txt”文件,分别将这些观测点的三维观测坐标分别写到这m个“.txt”文件中。(3)打开MATLAB,输入这些数据;在不改变点结构和同一方向差值的情况下对这些数据进行简化处理,即首先统计各点各方向观测值的最小值,然后各方向分别减去各方向的最小值,这样就得到多组新的数据。(4)确定坐标轴范围,首先要统计观测次数 n(即同一个点三维坐标数目),接着统计这个方向最大值与最小值,在不小于最大值和不大于最小值的原则下就可以确定出纵横坐标轴的范围。(5)因为一个坐标系中只有一条过程线,所以就以一个点一个方向为例具体说明下,确定完坐标轴范围后,接着就一段的来写t与x或y或z的函数关系式;(6)最后利用画线和画点命令执行程序,就会输出最后的变形过程线图。
1.2 举例说明
根据上面的设计要求和思想,采用MATLAB来处理某工程三个观测点的不同时间观测数据,绘制出坐标随时间变化的过程线。具体的观测数据见表 1。
表1 观测数据 单位:mm
采用MATLAB来绘制出坐标随时间变化的过程线,编制的程序主要应用了MATLAB以下几种命令功能:(1)首先利用load命令,把数据带入程序一数组内,但是数据必须要存放在“.txt”文件中,且在“work”文件夹下;(2)利用size命令,求数组的横列数,即求得一个点的观测次数;(3)利用min和max命令;求最大值与最小值;(4)利用subplot命令,平均划分图像窗口;(5)利用axis命令,限定坐标轴范围,前两个数是横坐标轴范围,后两个是纵坐标轴范围;(6)利用holdon命令,使多个图形命令在同一坐标系内执行;(7)利用for命令,执行循环语句;(8)利用line命令,画线段;(9)利用scatter命令,画点;(10)利用title、xlabel和ylabel命令,标注图形,title命令标注标题,xlabel与ylabel命令标注坐标轴。
采用MATLAB编写的程序,把表1观测数据处理后,在同一窗口绘制出的坐标随时间变化的过程线图如图 1所示。由图 1可以看出,如果同时在同一图形窗口内绘制三个点坐标随时间变化线,可对它们的变化进行相互的比较。
还可对同一观测点的坐标随时间变化过程线单独绘制在一个窗口,如图 2所示。图 2所示坐标随时间变化过程线比图 1清晰,同时也可以对第一点三方向上的变化做个比较。
图1 坐标随时间变化过程线
图2 第一点坐标随时间变化过程线
2 位移矢量图的绘制
2.1 设计要求与思想
这个过程的要求是随意给出一些点多次观测的三维坐标,把这些点的坐标数据带入到程序中,最后在同一坐标系内分别绘制出这些点的位移矢量图,即相同点多次观测平面坐标依次用线段相连并标注每条过程线及其第一个观测点。
根据设计要求,结合MATLAB的功能,本程序的设计思想是:和第 2节中一样,首先观测点数目是确定的,为定值m,如果很多,在同一坐标系内就要绘制出很多位移矢量过程线,很不清楚,一般四条左右就好,观测次数仍然是未知的;然后建立m+1个“.txt”文件,分别把观测点的平面坐标写入这m个“.txt”文件,最后一个“.txt”文件写入所以观测点观测坐标;打开MATLBA软件,首先也要找最小值,进行数据压缩,但这次是要找所以观测点在同一方向上的最小值,这样是为了保持这些点在平面上的机构不发生变化,然后坐标分别减去同一方向上的最小值;确定坐标轴范围,分别求取所有观测点在 X和Y方向上的最大值和最小值,在不大于最小值和不小于最大值的原则下合理确定坐标轴范围;最后列出x、y的关系式,利用MATLAB的一些命令绘制位移矢量过程线。
2.2 举例说明
根据上面的设计要求和思想,采用MATLAB来处理某工程三个观测点的不同时间观测数据,绘制出其位移矢量过程线线。具体的观测数据见表 2。
表2 三点平面坐标 单位:mm
首先建立四个“.txt”文件,分别将三点的平面坐标写入前三个“.txt”文件文件,第四个“.txt”文件里写入三点的平面坐标,然后编写程序命令。
采用MATLAB编制程序,来绘制在同一坐标系内分别绘制出这些点的位移矢量图,本程序使用的命令基本和绘制出坐标随时间变化的过程线图的MATLAB程序基本一样,但有两处不同:①前两个程序中横坐标 t的取值随i的增大也增大,所以 t在每一段的取值都是由小到大,但是本程序中横坐标x的取值不是这样的,由于A(i,1)与A((i+1), 1)的大小关系是不确定的,不能直接写成x=A(i,1):A((i +1),1),所以就用到 if命令,首先对他们进行比较,然后确定x的取值顺序。②text命令,文本标注,由于位移矢量过程线很多,为了区分它们就需要对它们进行标注,选取在过程线中点出标注。
在同一坐标系内分别绘制出这些点的位移矢量图如 3所示,不但图形清晰,而且方便快捷了解观测值过程的规律性,使监测系统的管理变得更为方便。
图3 位移矢量图
3 结 论
(1)采用MATLAB编制程序,对观测数据绘制时间过程线、位移过程线图,可以较好地反映出观测资料的变化规律,快捷地了解测值过程的规律性,使监测系统的管理变得更为方便。
(2)MATLAB绘制的变形过程线可直观清楚地看出观测点大致的变化规律,也可分析出它大致的变化曲线,这也为下一步的曲线拟合分析打下基础。
[1] 黄声享,尹晖,蒋征等.变形监测数据处理[M].武汉:武汉大学出版社,2004.
[2] 王正林,刘明.精通MATLAB7[M].北京:电子工业出版社, 2006.
[3] 孙彩敏.工程建筑物的变形观测教学分析与设想[M].地矿测绘,2003,19(1):43-44.
[4] 黄万里,石辛喜,王天祥.用 PB绘制建筑物安全监测过程线[M].北京测绘,2002,15(2):38-41.