人工合成地震波方面,目前我正在研究,但是精度不是很理想。迭代后0.03s-4s之间的平均误差基本在5~10%。看咱论坛上有不少讨论,可能关于人造波的拟合问题是比较复杂,并不是一下子能达到一个比较好结果吧。我把我的几个小程序贴出来看看,希望高手给予一定的指导。 /5Od:n
我这里一共有三个程序 5r&bk`
第一个是关于计算反应谱的,使用方法是纽马克线性加速度法,程序是从别人的matlab程序稍微改编后进行移植成Fortran程序。 -0QoVGw
第二个是关于线性插值的,生成造波的时候所需要的周期所对应的谱值。 7Ei,L[{\i#
第三个是造波用的,我是把别的论坛里“老先生”所提供的程序进行了一定的改编,输入文件为ASEW.DAT。主要是频率输入更加精细(以前提供的是分2个圆频率变化值,1-163的增量为0.2,164-257增量为1,而我的程序里所有输入圆频率的增量都不相同),反应谱的计算方法用的也是纽马克线性加速度法。结果文件一共有WAVEACompare.resp(反应谱值对比),WAVEAFINAL.OUT(迭代完成后生成的地震波程序),WAVEAFINAL.resp(迭代完成后生成的地震波谱值),WAVEA.OUT(所有中间生成的地震波),WAVEA.resp(所有中间生成的地震波反应谱)。 0}'xoYv
f
PS。不知道站内高手什么时候上线,我把这几个fortran的源代码贴出来,向高手请教。对于精度问题,我想肯定有比较好的解决办法,只是似乎文献上写的都不是很详细。不过地震局做的安评报告拟合的就相当不错,而且北京波谱的Vib'SYS程序做到精度也比较不错,不过软件收费,而且输入比较麻烦。