人工地震波生成程序简介(3)

发布时间:2021-06-06

{

int temp=rand();

temp=temp%6282+1;

adFi[loop]=double(temp)/1000; }

在调用rand()函数之前调用srand( (unsigned)time( NULL )),这样以time函数值(即当前时间)作为种子数,因为两次调用rand函数的时间通常是不同的,这样可以每次产生的随机数序列不同。

b关于绘制地震波加速度时程曲线图:

采用Brush填充绘图区域背景,用Pen绘制坐标及时程曲线,用Font输出文字,其中纵坐标的最大值采用动态输出——先得到所绘制地震波的幅值,将其转换为Cstring型,然后输出。

c关于数据输出和输入

分别使用ofstream类和ifstream类输出和输入数据。 fout<<"t"<<" "<<tmax<<" "<<"a"<<" "<<amax<<endl;

for(int loop=0;loop<2000;loop++)

fout<<adt[loop]<<" "<<adAg[loop]<<endl;

fout.close();

从上面的这段程序可看出,输出数据文件的第一行是“t”,地震波加速度幅值对应的时间,“a”,地震波幅值,从第二行起每行是一个时间及这个时间对应的地震波加速度幅值。

二、实例

本节通过一实例说明程序的使用方法。

例:某地区抗震设防烈度为8度,设计基本地震加速度为0.20g,设计地震分组为第一组,II类场地,利用本程序生成多遇地震人工地震波。

通过初始条件可知特征周期为0.35,水平地震影响系数0.16,地震加速度时程曲线最大值70gal。将上述数据填入程序中初始条件的3个编辑框中,点击“生成地震波”按钮,则可生成地震波,程序会自动绘制加速度时程曲线(图1)。

人工地震波生成程序简介(3).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219