GMT绘时间序列及相分析的方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

GMT绘时间序列及相分析的方法具体步骤如下:1首先是准备好规则数据。如果数据格式是matlab处理和存储的矩阵格式,使用MATLAB则需要提取出来时间序列,并保存为ASCII格式数据。注意此时的数据不带有时间信息,只是简单的一列数据而已,我们将在在后面添加时间信息。2为sigma0数据添加这个方法不是固定的,可以自己编程实现,也可以使用已有的简单程序。注意时间数据的格式是固定的几种。如果数据不多的话,可以使用Windows自带的excel添加。本例子的最终数据格式如下:第一列是时间,第二列到第四列是sigma0的属性值,(time,sigma0Ku,sigma0C,sigma0C-Ku)。3GMT绘图将三列sigma0的数据放到一幅图上,即同时绘制三条时间序列,且使用同一个坐标系。横坐标为年月,具体设置为:年为大刻度,月为小刻度,界限设置为1993.1.1-2004.12.1。竖坐标为sigma0的值,范围可当已知,设置为0-15。本例子参考GMTCookbook中的程序21:GMT中Time格式需要按照数据的时间格式设置。在GMT的帮助文件中可以找到,有格里高利,ISO之类。还要区分输入的时间格式和输出的时间格式。我们选择例21中使用的时间标准dd-o-yy。(GMT有细致的时间设置参数,注意在这一步别出错误。)注意:数据文件中时间序列的日期坐标可以和标注的日期坐标格式不一样,但是时间上要一致。rem主要代码,rem[]内容参考文后注释。gmtsetINPUT_DATE_FORMATdd-o-yyPLOT_DATE_FORMAToANNOT_FONT_SIZE_PRIMARY+10pgmtsetTIME_FORMAT_PRIMARYabbreviatedCHAR_ENCODINGISOLatin1+坐标轴设置,前面的是时间起点和终点,后面的0/300是竖坐标的界限。SetR=-R1999-08-11T00:00:00/2006-11-01T00:00:00/0/300gmtconvert为数据提取程序,可以提取多列数据文件中的某一列或者几列数据。Gmtconvert-F0,2-f0T-HiRHAT_price.csvRHAT.envpsxy为绘制曲线的程序,可以设置点和线的样式。psxy-R-J-Gyellow-O-KRHAT.envexample_21.ps4最终的GMTbat文件代码如下:gmtsetINPUT_DATE_FORMATdd-o-yyPLOT_DATE_FORMAToANNOT_FONT_SIZE_PRIMARY+10pgmtsetTIME_FORMAT_PRIMARYabbreviatedCHAR_ENCODINGISOLatin1+REMCreateasuitable-RstringsetR=-R1993-01-01T00:00:00/2004-12-31T00:00:00/0/15REMLaydownthebasemap:psbasemap%R%-JX9i/4i-Gwhite-K-Bs1Y:t/a:/:,db:WSen-Bpf1o/2WSen:.Timeseriesofsigma0overXinjiangChina:example_21.psgmtsetOUTPUT_DATE_FORMATdd-o-yygmtconvert-F0,2-f0TXJsigma0_TS.txtRHAT.envgmtconvert-F0,3-f0TXJsigma0_TS.txtRHAT2.envgmtconvert-F0,1-f0TXJsigma0_TS.txtRHAT1.envremredCblueKublackC-Kupsxy-R-J-O-K-Wthin-Sc0.1c-GblackRHAT2.envexample_21.pspsxy-R-J-O-K-WthinnerRHAT2.envexample_21.pspsxy-R-J-O-K-Wthin,blueRHAT.envexample_21.pspsxy-R-J-O-K-St0.2c-GblueRHAT.envexample_21.pspsxy-R-JRHAT1.env-Wthin,red-O-Kexample_21.pspsxy-R-J-O-K-Si0.2c-GredRHAT1.envexample_21.psremgmtsetINPUT_DATE_FORMATdd-o-yyREMCleanupafterourselves:delRHAT.*del.gmt*5时间序列的结果如下:至此,时间序列完成了。PS:网格虚线,也可以自动化实现。修改default中的gridprimarysize,在粗细后面加上“,-”。然后在psbasemap中的-B属性中加g控制网格密度。下一步是使用GMT分析其频率域以及趋势分析。(建议自己尝试)2添加趋势。如下图所示。趋势不必在所有的时间序列中添加,目前只在明显的添加。但是要给出趋势线的主要参数。并且在时间序列图中显示。使用MATLAB可以做到,但是不能与第一步的图结合。因此先全部用GMT作图。trend1d3FFT绘图。116个数据FFT的MATLAB程序还没调好。这个也尝试用GMT绘制。spectrum1dgrdfft?Matlab的字符串数组不知道怎么设置。用excel却可以很好的完成时间的添加。法为:先写出第一个时间起点,然后设置单元格样式,设置为然后托动鼠标下拉即可。然后再修改时间格式为dd-mmm-yy.使用matlab编程难以实现,却使用excel实现。输入格式输出格式Inaddition,youmayuseasingleoinsteadofmm(toplotmonthname)YoumayspecifyeitherGregoriancalendarformatorISOweekcalendarformat.Asexamples,tryyy/mm/dd,yyyy=jjj,dd-o-yyyy,dd-mm-yy,yy-mm,etc.Controlshowprimarymonth-,week-,andweekday-namesareformatted.Chooseamongfull,abbreviated,andcharacter.Iftheleadingf,a,orcarereplacedwithF,A,andCtheentireannotationwillbeinuppercase.设置标注使用的时间界限。后面的/0/300则是Y轴的界限。提取第0,2列,-f0T表示时间

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功