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

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

VX3=VX3+vxq[j]; }

MX=MX1+MX2+MX3;/*任意截面上总的弯矩*/ VX=VX1+VX2+VX3;/*任意截面上总的挠度*/ printf(\ }

getch(); }

例题:已知:n=3,l=2m,F1=8kN,af1=1.3m,bf1=0.7m,

F2=4.5kN,af2=0.4m,bf2=1.6m, F3=11kN,af3=1.7m,bf3=0.3m

h=2,m1=124Nm,am1=0.3m,bm1=1.7m, m2=245Nm,am2=1m,bm2=1m,

m=1,qm1=13kN/m,am1=0.8,bm1=0.7.cm1=0.5;

求:x=1.5m时的弯矩与挠度。

6) 程序:

#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,L,MX,VX,MX1,VX1,MX2,VX2,MX3,VX3,Mmax,Vmax; int n,h,m,i,k,j,t;

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

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;

}

L=l*1000;

for (t=0;t<=L;t++) {

x=t/1000;

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); }