材料力学编程.docx

上传人:b****1 文档编号:14958939 上传时间:2023-06-28 格式:DOCX 页数:31 大小:228.44KB
下载 相关 举报
材料力学编程.docx_第1页
第1页 / 共31页
材料力学编程.docx_第2页
第2页 / 共31页
材料力学编程.docx_第3页
第3页 / 共31页
材料力学编程.docx_第4页
第4页 / 共31页
材料力学编程.docx_第5页
第5页 / 共31页
材料力学编程.docx_第6页
第6页 / 共31页
材料力学编程.docx_第7页
第7页 / 共31页
材料力学编程.docx_第8页
第8页 / 共31页
材料力学编程.docx_第9页
第9页 / 共31页
材料力学编程.docx_第10页
第10页 / 共31页
材料力学编程.docx_第11页
第11页 / 共31页
材料力学编程.docx_第12页
第12页 / 共31页
材料力学编程.docx_第13页
第13页 / 共31页
材料力学编程.docx_第14页
第14页 / 共31页
材料力学编程.docx_第15页
第15页 / 共31页
材料力学编程.docx_第16页
第16页 / 共31页
材料力学编程.docx_第17页
第17页 / 共31页
材料力学编程.docx_第18页
第18页 / 共31页
材料力学编程.docx_第19页
第19页 / 共31页
材料力学编程.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

材料力学编程.docx

《材料力学编程.docx》由会员分享,可在线阅读,更多相关《材料力学编程.docx(31页珍藏版)》请在冰点文库上搜索。

材料力学编程.docx

材料力学编程

材料力学上机作业第一题

一个力作用下的任意截面的弯矩,挠度

源程序为:

#include

#include

main()

{

doubleFi,ai,bi,l,E,I,x,M,v;

printf("请输入:

Fi,ai,bi,E,I,x:

\n");

scanf("%lf,%lf,%lf,%lf,%lf,%lf",&Fi,&ai,&bi,&E,&I,&x);

l=ai+bi;

if((x>=0)&&(x<=ai))

{

M=Fi*bi*x/l;

v=-Fi*bi*x*(l*l-x*x-bi*bi)/(6*E*I*l);

printf("M=%lf,v=%lf\n",M,v);

}

if((x>ai)&&(x<=l))

{

M=Fi*ai*(l-x)/l;

v=-Fi*bi*(l*(x-ai)*(x-ai)*(x-ai)/bi+(l*l-bi*bi)*x-x*x*x)/(6*E*I*l);

printf("计算结果为:

M=%lf,v=%lf\n",M,v);

}

if((x<0)||(x>l))

{

printf("有错误!

\n");

}

}

Fi=300N,ai=60m,bi=200m,E=200000000000Pa,I=0.0001m4,x=80m,程序运行结果为:

v

材料力学上机作业第二题

1一个力偶作用下的任意截面的弯矩,挠度

#include

#include

main()

{

doubleMk,ak,bk,l,E,I,x,M,v;

printf("请输入Mk,ak,bk,E,I,x:

\n");

scanf("%lf,%lf,%lf,%lf,%lf,%lf",&Mk,&ak,&bk,&E,&I,&x);

l=ak+bk;

if((x>=0)&&(x<=ak))

{

M=-Mk*x/l;

v=Mk*x*(l*l-3*bk*bk-x*x)/(6*E*I*l);

printf("M=%lf,v=%lf\n",M,v);

}

if((x>ak)&&(x<=l))

{

M=Mk*(1-x/l);

v=-Mk*(-x*x*x+3*l*(x-ak)*(x-ak)+(l*l-3*bk*bk)*x)/(6*E*I*l);

printf("M=%lf,v=%lf\n",M,v);

}

if((x<0)||(x>l))

{

printf("错误!

\n");

}

}

令Mk=200N·m,ak=100m,bk=100m,E=200000000000Pa,I=0.0001m4,x=100m,程序运行结果为:

2一段分布力作用下的任意截面的弯矩,挠度

源程序为:

#include

#include

main()

{

doubleq,ai,bi,ci,l,E,I,x,M,v;

doubleFa,Fb,c1,c2,c3,d3;

printf("请输入:

q,ai,bi,ci,E,I,x:

\n");

scanf("%lf,%lf,%lf,%lf,%lf,%lf,%lf",&q,&ai,&bi,&ci,&E,&I,&x);

l=ai+bi+ci;

Fa=(q*ci*(ci+2*bi))/(2*l);

Fb=(q*ci*(ci+2*ai))/(2*l);

c3=(Fa*pow((ai+ci),3))/(3*l)-(q*ai*pow(ci,3))/(6*l)-(q*pow(ci,4))/(8*l)+(Fb*pow(bi,2))/2-(Fb*pow(bi,3))/(3*l);

c2=c3-(Fb*pow(bi,2))/2-(Fa*pow((ai+ci),2))/2+(q*pow(ci,3))/6;

c1=c2;

d3=-c3*l;

if((x>=0)&&(x<=ai))

{

M=Fa*x;

v=((Fa*pow(x,3))/6+c1*x)/(E*I);

printf("M=%lf,v=%lf\n",M,v);

}

if((x>ai)&&(x<=ai+ci))

{

M=((q*ci*x*(ci+2*bi))/(2*l))-((q*pow((x-ai),2))/2);

v=((Fa*pow(x,3))/6-(q*pow((x-ai),4))/24+c2*x)/(E*I);

printf("M=%lf,v=%lf\n",M,v);

}

if((x>ai+ci)&&(x<=l))

{

M=Fb*(l-x);

v=((Fb*pow((l-x),3))/6+c3*x+d3)/(E*I);

printf("M=%lf,v=%lf\n",M,v);

}

if((x<0)||(x>l))

{

printf("有错误!

\n");

}

}

q=200N/m,ai=100m,bi=200,ci=100m,E=200000000000Pa,I=0.0001m4,x=70m,程序运行结果为:

材料力学上机作业第三题

n个力共同作用下的任意截面的弯矩,挠度

源程序为:

#include

#include

#defineEI4.9e5

#defineN1000

doubleFunctionV(inti,intn,doublel,doublex,doublea[],doubleb[],doubleF[]);

doubleFunctionM(inti,intn,doublel,doublex,doublea[],doubleb[],doubleF[]);

main()

{

doublel,x;

inti,n;

doublev[N],M[N],a[N],b[N],F[N];

doublesumv=0,sumM=0;

printf("请输入n:

");

scanf("%d",&n);

printf("请输入l/m:

");

scanf("%lf",&l);

printf("请输入x/m:

");

scanf("%lf",&x);

for(i=0;i

{

printf("请输入a[%d]/m:

",i);

scanf("%lf",&a[i]);

b[i]=l-a[i];

printf("请输入F[%d]/N:

",i);

scanf("%lf",&F[i]);

v[i]=FunctionV(i,n,l,x,a,b,F);

M[i]=FunctionM(i,n,l,x,a,b,F);

sumv=sumv+v[i];

sumM=sumM+M[i];

}

printf("v(%.2lf)=%.2lfmm\n",x,sumv*1000);

printf("M(%.2lf)=%.2lfkN.m\n",x,sumM/1000);

}

doubleFunctionV(inti,intn,doublel,doublex,doublea[],doubleb[],doubleF[])

{

doublev;

if((x>=0)&&(x<=a[i]))

{

v=(-F[i]*b[i]*x*(pow(l,2)-pow(x,2)-pow(b[i],2)))/(6*EI*l);

}

else

{

v=(-F[i]*b[i]*((l*pow((x-a[i]),3)/b[i])-(pow(l,2)-pow(b[i],2))*x-pow(x,3)))/(6*EI*l);

}

returnv;

}

doubleFunctionM(inti,intn,doublel,doublex,doublea[],doubleb[],doubleF[])

{

doubleM;

if((x>=0)&&(x<=a[i]))

{

M=(F[i]*b[i]*x)/l;

}

else

{

M=(F[i]*a[i]*(l-x))/l;

}

returnM;

}

令n=2,l=200m,x=100m,a0=50m,F0=1000N,a1=100m,F1=1000N,程序运行结果为:

材料力学上机作业第四题

1、h个力偶共同作用下的任意截面的弯矩,挠度

源程序为:

#include

#include

#defineEI4.9e5

#defineN1000

doubleFunctionV(inti,intn,doublel,doublex,doublea[],doubleb[],doubleme[]);

doubleFunctionM(inti,intn,doublel,doublex,doublea[],doubleb[],doubleme[]);

main()

{

doublel,x;

inti,h;

doublev[N],M[N],a[N],b[N],me[N];

doublesumv=0,sumM=0;

printf("请输入h:

");

scanf("%d",&h);

printf("请输入l/m:

");

scanf("%lf",&l);

printf("请输入x/m:

");

scanf("%lf",&x);

for(i=0;i

{

printf("Pleaseinputa[%d]/m:

",i);

scanf("%lf",&a[i]);

b[i]=l-a[i];

printf("Pleaseinputme[%d]/N.m:

",i);

scanf("%lf",&me[i]);

v[i]=FunctionV(i,h,l,x,a,b,me);

M[i]=FunctionM(i,h,l,x,a,b,me);

sumv=sumv+v[i];

sumM=sumM+M[i];

}

printf("v(%.2lf)=%.2lfmm\n",x,sumv*1000);

printf("M(%.2lf)=%.2lfkN.m\n",x,sumM/1000);

}

doubleFunctionV(inti,inth,doublel,doublex,doublea[],doubleb[],doubleme[])

{

doublev;

if((x>=0)&&(x<=a[i]))

{

v=(me[i]*x*(pow(l,2)-3*pow(b[i],2)-pow(x,2)))/(6*EI*l);

}

else

{

v=(me[i]*(-pow(x,3)+3*l*pow((x-a[i]),2)+(pow(l,2)-3*pow(b[i],2))*x))/(6*EI*l);

}

returnv;

}

doubleFunctionM(inti,inth,doublel,doublex,doublea[],doubleb[],doubleme[])

{

doubleM;

if((x>=0)&&(x<=a[i]))

{

M=(-me[i]*x)/l;

}

else

{

M=(me[i]*(l-x))/l;

}

returnM;

}

令h=2,l=200m,x=100m,a0=50m,me0=150N·m,a1=80m,me1=400N·m,程序运行结果为:

2、m段分布力共同作用下的任意截面的弯矩,挠度

源程序为:

#include

#include

#defineEI4.9e5

#defineN1000

doubleFunctionV(inti,intm,doublel,doublex,doublea[],doubleb[],doublec[],doubleq[],doubleFa[],doubleFb[],doublec1[],doublec2[],doublec3[],doubled3[]);

doubleFunctionM(inti,intm,doublel,doublex,doublea[],doubleb[],doublec[],doubleq[],doubleFa[],doubleFb[],doublec1[],doublec2[],doublec3[],doubled3[]);

main()

{

doublel,x;

inti,m;

doublev[N],M[N],a[N],b[N],c[N],q[N];

doubleFa[N],Fb[N],c1[N],c2[N],c3[N],d3[N];

doublesumv=0,sumM=0;

printf("Pleaseinputm:

");

scanf("%d",&m);

printf("Pleaseinputl/m:

");

scanf("%lf",&l);

printf("Pleaseinputx/m:

");

scanf("%lf",&x);

for(i=0;i

{

printf("Pleaseinputa[%d]/m:

",i);

scanf("%lf",&a[i]);

printf("Pleaseinputc[%d]/m:

",i);

scanf("%lf",&c[i]);

b[i]=l-a[i]-c[i];

printf("Pleaseinputq[%d]/N/m:

",i);

scanf("%lf",&q[i]);

Fa[i]=(q[i]*c[i]*(c[i]+2*b[i]))/(2*l);

Fb[i]=(q[i]*c[i]*(c[i]+2*a[i]))/(2*l);

c3[i]=(Fa[i]*pow((a[i]+c[i]),3))/(3*l)-(q[i]*a[i]*pow(c[i],3))/(6*l)-(q[i]*pow(c[i],4))/(8*l)+(Fb[i]*pow(b[i],2))/2-(Fb[i]*pow(b[i],3))/(3*l);

c2[i]=c3[i]-(Fb[i]*pow(b[i],2))/2-(Fa[i]*pow((a[i]+c[i]),2))/2+(q[i]*pow(c[i],3))/6;

c1[i]=c2[i];

d3[i]=-c3[i]*l;

v[i]=FunctionV(i,m,l,x,a,b,c,q,Fa,Fb,c1,c2,c3,d3);

M[i]=FunctionM(i,m,l,x,a,b,c,q,Fa,Fb,c1,c2,c3,d3);

sumv=sumv+v[i];

sumM=sumM+M[i];

}

printf("v(%.2lf)=%.2lfmm\n",x,sumv*1000);

printf("M(%.2lf)=%.2lfkN.m\n",x,sumM/1000);

}

doubleFunctionV(inti,intm,doublel,doublex,doublea[],doubleb[],doublec[],doubleq[],doubleFa[],doubleFb[],doublec1[],doublec2[],doublec3[],doubled3[])

{

doublev;

if((x>=0)&&(x<=a[i]))

{

v=((Fa[i]*pow(x,3))/6+c1[i]*x)/EI;

}

if((x>a[i])&&(x<=(a[i]+c[i])))

{

v=((Fa[i]*pow(x,3))/6-(q[i]*pow((x-a[i]),4))/24+c2[i]*x)/EI;

}

if((x>(a[i]+c[i]))&&(x<=l))

{

v=((Fb[i]*pow((l-x),3))/6+c3[i]*x+d3[i])/EI;

}

returnv;

}

doubleFunctionM(inti,intm,doublel,doublex,doublea[],doubleb[],doublec[],doubleq[],doubleFa[],doubleFb[],doublec1[],doublec2[],doublec3[],doubled3[])

{

doubleM;

if((x>=0)&&(x<=a[i]))

{

M=Fa[i]*x;

}

if((x>a[i])&&(x<=(a[i]+c[i])))

{

M=((q[i]*c[i]*x*(c[i]+2*b[i]))/(2*l))-((q[i]*pow((x-a[i]),2))/2);

}

if((x>(a[i]+c[i]))&&(x<=l))

{

M=Fb[i]*(l-x);

}

returnM;

}

令m=2,l=200m,x=100m,a0=60m,c0=200m,q0=100N/m,a1=40m,c1=20m,q1=200N/m,程序运行结果为:

材料力学上机作业第五题

n个力,h个力偶,m段分布力共同作用下的任意截面的弯矩,挠度

源程序为:

#include

#include

#defineEI4.9e5

#defineN1000

doubleFunctionVi(inti,intn,doublel,doublex,doubleai[],doublebi[],doubleF[]);

doubleFunctionMi(inti,intn,doublel,doublex,doubleai[],doublebi[],doubleF[]);

doubleFunctionVh(inti,intn,doublel,doublex,doubleah[],doublebh[],doubleme[]);

doubleFunctionMh(inti,intn,doublel,doublex,doubleah[],doublebh[],doubleme[]);

doubleFunctionVm(inti,intm,doublel,doublex,doubleam[],doublebm[],doublecm[],doubleq[],doubleFa[],doubleFb[],doublec1[],doublec2[],doublec3[],doubled3[]);

doubleFunctionMm(inti,intm,doublel,doublex,doubleam[],doublebm[],doublecm[],doubleq[],doubleFa[],doubleFb[],doublec1[],doublec2[],doublec3[],doubled3[]);

main()

{

doublel,x;

inti,n,h,m;

doublevi[N],Mi[N],ai[N],bi[N],F[N];

doublevh[N],Mh[N],ah[N],bh[N],me[N];

doublevm[N],Mm[N],am[N],bm[N],cm[N],q[N],Fa[N],Fb[N],c1[N],c2[N],c3[N],d3[N];

doublesumvi=0,sumMi=0,sumvh=0,sumMh=0,sumvm=0,sumMm=0;

doublesumv=0,sumM=0;

printf("Pleaseinputn:

");

scanf("%d",&n);

printf("Pleaseinputh:

");

scanf("%d",&h);

printf("Pleaseinputm:

");

scanf("%d",&m);

printf("Pleaseinputl/m:

");

scanf("%lf",&l);

printf("Pleaseinputx/m:

");

scanf("%lf",&x);

for(i=0;i

{

printf("Pleaseinputai[%d]/m:

",i);

scanf("%lf",&ai[i]);

bi[i]=l-ai[i];

printf("PleaseinputF[%d]/N:

",i);

scanf("%lf",&F[i]);

vi[i]=FunctionVi(i,n,l,x,ai,bi,F);

Mi[i]=FunctionMi(i,n,l,x,ai,bi,F);

sumvi=sumvi+vi[i];

sumMi=sumMi+Mi[i];

}

for(i=0;i

{

printf("Pleaseinputah[%d]/m:

",i);

scanf("%lf",&ah[i]);

bh[i]=l-ah[i];

printf("Pleaseinputme[%d]/N.m:

",i);

scanf("%lf",&me[i]);

vh[i]=FunctionVh(i,h,l,x,ah,bh,me);

Mh[i]=FunctionMh(i,h,l,x,ah,bh,me);

sumvh=sumvh+vh[i];

sumMh=sumM+Mh[i];

}

for(i=0;i

{

printf("Pleaseinputam[%d]/m:

",i);

scanf("%lf",&am[i]);

printf("Pleaseinputcm[%d]/m:

",i);

scanf("%lf",&cm[i]);

bm[i]=l-am[i]-cm[i];

printf("Pleaseinputq[%d]/N/m:

",i);

scanf("%lf",&q[i]);

Fa[i]=(q[i]*cm[i]*(cm[i]+2*bm[i]))/(2*l);

Fb[i]=(q[i]*cm[i]*(cm[i]+2*am[i]))/(2*l);

c3[i]=(Fa[i]*pow((am[i]+cm[i]),3))/(3*l)-(q[i]*am[i]*pow(cm[i],3))/(6*l)-(q[i]*pow(cm[i],4))/(8*l)+(Fb[i]*pow(bm[i],2))/2-(Fb[i]*po

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2