材料力学验证编程作业 联系客服

发布时间 : 星期六 文章材料力学验证编程作业更新完毕开始阅读cbcd53d784254b35eefd34cc

5) 程序:

#include #include

#define MAX 100 main() {

double F[MAX],af[MAX],bf[MAX],Mxf[MAX],vxf[MAX]; double M[MAX],am[MAX],bm[MAX],Mxm[MAX],vxm[MAX];

double q[MAX],aq[MAX],bq[MAX],cq[MAX],Mxq[MAX],vxq[MAX],Faq[MAX], Fbq[MAX],C1[MAX],C2[MAX],C3[MAX],D3[MAX],Aq[MAX]; double x,E,I,l,MX,VX,MX1,VX1,MX2,VX2,MX3,VX3; int n,h,m,i,k,j;

MX1=0; VX1=0; MX2=0; VX2=0; MX3=0; VX3=0; MX=0; VX=0;

printf(\ scanf(\ printf(\ scanf(\ printf(\ scanf(\

for (i=1;i<=n;i++)/*输入各个力F的值及其位置*/ {

printf(\ scanf(\ }

for (k=1;k<=h;k++) /*输入各个力偶M的值及其位置*/ {

printf(\ scanf(\ }

for (j=1;j<=m;j++)/*输入各个分布力q的值及其位置*/ {

printf(\ scanf(\ Faq[j]=q[j]*cq[j]*(2*bq[j]+cq[j])/(2*l); Fbq[j]=q[j]*cq[j]*(2*aq[j]+cq[j])/(2*l);

Aq[j]=aq[j]+cq[j];

C2[j]=-Faq[j]*Aq[j]*Aq[j]*(l+2*bq[j])/(6*l)+q[j]*cq[j]*cq[j]*cq[j]* (4*bq[j]+cq[j])/(24*l)-Fbq[j]*bq[j]*bq[j]*bq[j]/(3*l); C3[j]=Faq[j]*Aq[j]*Aq[j]/2-q[j]*cq[j]*cq[j]*cq[j]/6+C2[j]+ Fbq[j]*bq[j]*bq[j]/2; C1[j]=C2[j]; D3[j]=-C3[j]*l; }

if (x>l||x<0) printf(\ else {

for (i=1;i<=n;i++)/*n个力F共同作用下的任意截面的弯矩,挠度*/ {

if (0<=x&&x<=af[i]) {

Mxf[i]=bf[i]*F[i]*x/l;

vxf[i]=-F[i]*bf[i]*x*(l*l-x*x-bf[i]*bf[i])/(6*E*I*l); }

if (af[i]

Mxf[i]=af[i]*F[i]*(l-x)/l;

vxf[i]=-F[i]*bf[i]*x*(l*(x-af[i])*(x-af[i])*(x-af[i])/bf[i]+ (l*l-bf[i]*bf[i])*x-x*x*x)/(6*E*I*l); }

MX1=MX1+Mxf[i]; VX1=VX1+vxf[i]; }

for (k=1;k<=h;k++)/*h个力偶M共同作用作用下的任意截面的弯矩,挠度*/ {

if (0<=x&&x<=am[k]) {

Mxm[k]=-M[k]*x/l;

vxm[k]=M[k]*x*(l*l-x*x-bm[k]*bm[k])/(6*E*I*l); }

if (am[k]

Mxm[k]=M[k]*(l-x)/l;

vxm[k]=M[k]*(3*l*(x-am[k])*(x-am[k])+(l*l-3*bm[k]*bm[k])*x- x*x*x)/(6*E*I*l); }

MX2=MX2+Mxm[k]; VX2=VX2+vxm[k]; }

for (j=1;j<=m;j++)/*m段分布力共同作用下的任意截面的弯矩,挠度*/ {

if (0<=x&&x<=aq[j]) {

Mxq[j]=Faq[j]*x;

vxq[j]=(Faq[j]*x*x*x/6+C1[j]*x)/(E*I); }

if (aq[j]

Mxq[j]=Faq[j]*x-q[j]*(x-aq[j])*(x-aq[j])/2;

vxq[j]=(Faq[j]*x*x*x/6+q[j]*(x-aq[j])*(x-aq[j])*(x-aq[j])* (x-aq[j])+C2[j]*x)/(E*I); }

if (aq[j]+cq[j]

Mxq[j]=Fbq[j]*(l-x);

vxq[j]=(-Fbq[j]*(x-l)*(x-l)*(x-l)/6+C3[j]*x+D3[j])/(E*I); }

MX3=MX3+Mxq[j];