预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

计算机仿真直动式溢流阀仿真实验班级:机设13-4班学号:2013210360姓名:杨尚武授课教师:翟华日期:2016年4月13日实验目的本实验要求学生能掌握连续系统仿真的一般过程,状态变量法的一般过程,键合图法仿真的一般过程,以四阶定步长龙格——库塔法的计算机程序的编写。二、实验要求本实验要求学生能掌握连续系统仿真的一般过程,状态变量法的一般过程,键合图法仿真的一般过程,以及四阶定步长龙格—库塔法的计算机程序的编号要求每个学生参考上述源程序,独立编写C语言源程序或其他高级语言程序,正确计算仿真结果,并绘制压力P(t)和时间t的关系图,以及阀芯位移x(t)和时间t的关系。三、参考C语言程序#include"stdio.h"#include"math.h"voidmain(){FILE*fp;inti,j,e,g,l,s,n1,n2,b[3][2];floatd1,r1,r2,i1,c1,c2,x1,h1,a1,c,p0,pp,q1,x2,t;floata[3][3],y[3],u[2],k[3][5],h[5],p[3][5],z[3],d[3][5];if((fp=fopen("fz1","wb"))==NULL){printf("cannotopenfile\n");}fprintf(fp,"digitalsimulationofhydraulicreliefvalve\n");d1=0.012;r1=0.39e+11;r2=0.147e+12;i1=0.0614;c1=0.8e-12;c2=0.2e-4;x1=0.0014;p0=0.6e+6;pp=0.3e+7;q1=0.46e-3;h1=0.0003;t=0.0;n1=5;n2=55;a1=0.785*d1*d1;a[0][0]=-a1*a1*r1/i1;a[0][1]=-1.0/c2;a[0][2]=a1/c1;a[1][0]=1/i1;a[1][1]=0.0;a[1][2]=0.0;a[2][0]=-a1/i1;a[2][1]=0.0;a[2][2]=-1/(r2*c1);for(i=0;i<=2;i++){for(j=0;j<=1;j++)b[i][j]=0;}b[0][0]=-1;b[2][1]=1;y[0]=0.0;y[1]=0.0;y[2]=p0*c1;x2=q1/(0.7*3.14*d1*sqrt(2.0*pp/900.0));u[0]=pp*a1-(x1+x2)/c2;u[1]=q1;c=-0.7*3.14*d1*sqrt(2.0/900.0);for(i=0;i<=2;i++){k[i][0]=0.0;}h[0]=0.0;h[1]=h1/2.0;h[2]=h1/2.0;h[3]=h1;fprintf(fp,"TP(T)X(T)\n");for(e=1;e<=n2;e++){for(g=1;g<=n1;g++){t=t+h1;for(j=1;j<=4;j++){for(i=0;i<=2;i++){p[i][j]=h[j-1]*k[i][j-1];z[i]=y[i];z[i]=z[i]+p[i][j];}if(z[1]<0.0)z[1]=0.0;if(y[1]==0.0&&z[0]<0.0)z[0]=0.0;if(z[2]<0.0)z[2]=0.0;for(i=0;i<=2;i++){d[i][j]=0.0;for(l=0;l<=2;l++){d[i][j]=d[i][j]+a[i][l]*z[l];}k[i][j]=d[i][j];for(s=0;s<=1;s++){k[i][j]=k[i][j]+b[i][s]*u[s];}}if(y[1]==0.0&&k[0][j]<0.0)k[0][j]=0.0;if(y[1]==0.0&&k[1][j]<0.0)k[1][j]=0.0;if(y[2]==0.0&&k[2][j]<0.0)k[2][j]=0.0;if(y[1]>x1){k[2][j]=k[2][j]+c*(z[1]-x1)*sqrt(z[2]/c1);if(y[2]==0.0&&k[2][j]<0.0)k[2][j]=0.0;}}for(i=0;i<=2;i++){y[i]=y[i]+h1*(k[i][1]+2*k[i][2]+2*k[i][3]+k[i][4])/6.0;}if(y[1]<0.0)y[1]=0.0;if(y[1]==0.0&&y[0]<0.0)y[0]=0.0;if(y[2]<0.0)y[2]=0.0;}fprintf(fp,"%7.5f%e%e\n",t,y[2]/c1,y[1]);}}四、输出结果digitalsimulationofhydraulicreliefvalveTP(T)X(T)0.001501.449418e+0