手机版

人工地震波生成程序简介(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文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)