ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 地质学积分处理

地质学积分处理

原创 Linux操作系统 作者:DataKW 时间:2012-08-19 16:30:10 0 删除 编辑

#include
#include
#include

#include       

 float speed(int t)
{
FILE *ain;
float a=0,aa=0;
 float sum=0;
int j=1, times=0;
float t_interval=0.001;//时间粒度

ain=fopen("a_in.txt","r");

while(j<=t)
{
fscanf(ain,"%f%f",&t,&a);
//读出的是电压a,需要转换为加速度
aa=a*1000*10/0.198/1000;
sum=sum+aa*t_interval;
j=j+1;
//printf("%f%f%f%f\n",a,aa,sum,aa*t_interval);
}

fclose(ain);

return sum;

}

main()
{
FILE *ain,*bin,*vout;
 float a=0,b=0,bb=0,tt=0;
//double  float speed_t=0,Kds_t=0,Fds_t=0,Fds_all_t=0, sum=0,displacement_t=0;
 float t=0, a_t=0, speed_t=0, displacement_t=0, Force_t_1=0, Force_t_2=0, Energy_t_1=0, Energy_t_2=0, t_1, t_2=0, Energy_cut_1=0, Energy_cut_2=0,Energy_1=0, Energy_2=0,Force_t_ds_1=0, Force_t_ds_2=0, Force_ds_1=0, Force_ds_2=0;
int j=1, times=0,times_1=0,times_2=0;

float t_interval=0.001;//时间粒度


ain=fopen("a_in.txt","r");
//计算数据量,便于后面控制循环次数
while((fscanf(ain,"%f%f",&t,&a))!=EOF)
{
times=times+1;
};
printf("%d\n",times);
fclose(ain);

//打开两个入参文件和一个输出文件
bin=fopen("b_in.txt","r");
vout=fopen("All_out.txt","w");
ain=fopen("a_in.txt","r");

//循环读取入参文件数据
while(j<=times)
{
//读两个入参文件
fscanf(ain,"%f%f",&t,&a);
fscanf(bin,"%f%f",&tt,&b);

//速度和位移随时间的关系,时间粒度0.001s
speed_t=speed(j);
displacement_t=displacement_t+speed_t*t_interval;
//读出的是电压a,需要转换为加速度
a_t=a*1000*10/0.198/1000;
//printf("dispacement:%f%f\n",speed_t,displacement_t);
//printf("%f%f\n",a_t,speed_t);

//两种方法算出力随时间关系
Force_t_1=speed_t*102.9*1000;

bb=4*b*1000000/632.91/2/4;//应变和时间的关系
Force_t_2=bb*2*100000000000;

//两种方法能量随时间的积累关系,时间粒度0.001s
Energy_t_1=Energy_t_1+Force_t_1*Force_t_1*9.277*t_interval/1000000;
Energy_t_2=Energy_t_2+fabs(Force_t_2*speed_t)*t_interval;

//两种方法总能量随时间的积累关系,时间粒度0.001s
Energy_1=Energy_t_1;
Energy_2=Energy_t_2;

//第一和第二截断时间
t_1=3.5/5180;
t_2=1.0/5180;

//times_1=ceil(t_1/t_interval);
//times_2=ceil(t_2/t_interval);
times_1=t_1/t_interval;
times_2=t_2/t_interval;


//第一截断能量随时间的关系
if (j<=times_1)
{
Energy_cut_1=Energy_1;
}

if (j<=times_2)
{
Energy_cut_2=Energy_2;
}


//两种方法贯入阻力随时间的关系
Force_t_ds_1=Force_t_1-20.623*a;
Force_t_ds_2=Force_t_2-20.623*a;

//两种方法总贯入阻力随时间累积的关系
Force_ds_1=Force_ds_1-Force_t_ds_1*t_interval;
Force_ds_2=Force_ds_2-Force_t_ds_2*t_interval;


/*
Kds_t=(210000000*b-0.3*a)/displacement_t;
Fds_t=210000000*b-0.3*a;
Fds_all_t=Fds_all_t+Fds_t;
*/

fprintf(vout, "t:%20f a_t:%20f speed_t:%20f displacement_t:%20f Force_t_1:%20f Force_t_2:%20f Energy_t_1:%20f Energy_t_2:%20f t_1:%20f t_2:%20f Energy_cut_1:%20f Energy_cut_2:%20f Energy_1:%20f Energy_2:%20f Force_t_ds_1:%20f Force_t_ds_2:%20f Force_ds_1:%20f Force_ds_2:%20f \n",t, a_t, speed_t, displacement_t, Force_t_1, Force_t_2, Energy_t_1, Energy_t_2, t_1, t_2, Energy_cut_1, Energy_cut_2,Energy_1, Energy_2, Force_t_ds_1, Force_t_ds_2, Force_ds_1, Force_ds_2);
j=j+1;
}
fclose(vout);
fclose(bin);
fclose(ain);

 

 

}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27573546/viewspace-741355/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 61-Managing Privileges
请登录后发表评论 登录
全部评论

注册时间:2012-08-12

  • 博文量
    132
  • 访问量
    331533