哈工大材料力学上机实验悬臂梁弯矩挠度 c语言完美整合.docx
《哈工大材料力学上机实验悬臂梁弯矩挠度 c语言完美整合.docx》由会员分享,可在线阅读,更多相关《哈工大材料力学上机实验悬臂梁弯矩挠度 c语言完美整合.docx(36页珍藏版)》请在冰豆网上搜索。
哈工大材料力学上机实验悬臂梁弯矩挠度c语言完美整合
HarbinInstituteofTechnology
课程设计
课程名称:
材料力学
设计题目:
悬臂梁的弯矩及挠度
院系:
机电工程学院
班级:
设计者:
学号:
设计时间:
指导老师:
哈尔滨工业大学
一问题描述:
在悬臂梁条件下,进行材料选取或者探究某材料是否满足设计和使用要求时,如果能够快速计算出材料任意截面的弯矩和挠度,乃至于整体的最大弯矩,最大挠度,则可以起到事半功倍的效果。
为此,我设计了这个c语言程序。
这个c语言程序有以下两个特点:
(1)界面比较友善,可以根据实际要求,具体选择计算的方式。
(2)计算迅速,占用空间小,简单实用,适用面广。
二界面展示及源代码:
(1)主界面:
图一:
主选择界面
这个界面的最显著的特点是:
界面较为友好,清晰;而且用户可以根据实际情况具体选择运用哪种方法进行计算。
具体的选项:
1-8都有文字标注,选择只需输入数字,然后回车便可出现下一步的具体提示。
(2)1:
计算一个力作用下的任意截面的弯矩,挠度:
【1】源代码:
#include
doubleMz,l,a,x,v,E,I,b,F;
main()
{
printf("请输入长度l\n");
scanf("%lf",&l);
printf("请输入长度a\n");
scanf("%lf",&a);
printf("请输入弹性模量E\n");
scanf("%lf",&E);
printf("请输入极惯性矩I\n");
scanf("%lf",&I);
printf("请输入力F\n");
scanf("%lf",&F);
printf("请输入x\n");
scanf("%lf",&x);
b=l-a;
if(x>0&&x{Mz=F*(l-a)*x/l;v=-F*b*x*(l*l-x*x-b*b)/(6*E*I*l);printf("Mz=%f\n",Mz);printf("v=%f\n",v);}elseif(x>a&&x{Mz=F*a*(l-x)/l;v=-F*b*(l/b*pow(x-a,3)+(l*l-b*b)*x-x*x*x)/(6*E*I*l);printf("Mz=%f\n",Mz);printf("v=%f\n",v);}else{printf("數值溢出\n");}}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,F=1000N,a=0.6m,x=0.3m;理论运算结果:Mz=120NmV=-0.000033m【3】程序运行结果:图二:程序一运行结论:运行结果与理论运算结果相同,可以使用。(3)一个力偶作用下的任意截面的弯矩,挠度。【1】源代码:#include#includedoubleMz,l,a,x,v,E,I,b,M;main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入长度a\n");scanf("%lf",&a);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入弯矩M\n");scanf("%lf",&M);printf("请输入x\n");scanf("%lf",&x);b=l-a;if(x>0&&x{Mz=M*x/l;v=M*x*(l*l-3*b*b-x*x)/(6*E*I*l);printf("Mz=%f\n",Mz);printf("v=%f\n",v);}elseif(x>a&&x{Mz=M*(l-x)/l;v=M*(-x*x*x+3*l*(x-a)*(x-a)+(l*l-3*b*b)*x);printf("Mz=%f\n",Mz);printf("v=%f\n",v);}else{printf("數值溢出\n");}}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,M=1000Nm,a=0.6m,x=0.3m;理论计算结果:Mz=300.00NmV=0.000048m【3】程序运行结果:图三:程序一运行结论:运行结果与理论运算结果相同,可以使用。(4)一段分布力作用下的任意截面的弯矩挠度:【1】源代码:#include#includedoubleq,l,c,d,x,E,I,v,Mz;doubleC,D,Ec,Fc;doubleFR1,FR2;/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入分布力q\n");scanf("%lf",&q);printf("请输入长度c\n");scanf("%lf",&c);printf("请输入长度d\n");scanf("%lf",&d);printf("请输入x\n");scanf("%lf",&x);C=qiyi(x,c);D=qiyi(x,d);FR2=(-q*(d*d-c*c)/2)/l;//求支反力FR1=-q*(d-c)-FR2;Ec=-(FR1*pow(l,3)/6-q*pow(l-c,4)/24+q*pow(l-d,4)/24)/E/I/l;Fc=0;Mz=(FR1*x-0.5*q*C*C+0.5*q*D*D);v=(FR1*pow(x,3)/6-q*pow(C,4)/24+q*pow(D,4)/24)/E/I+Ec*x;printf("截面的弯矩为:%f\n",Mz);printf("截面的挠度为:%f\n",v);}【2】检验数据:c,d为q作用的起止长度坐标。条件:L=1m,E=4.5GPa。I=0.0001m4,q=1000N/m,c=0.6m,d=0.8m,x=0.3m;理论计算结果:Mz=-18NmV=0.000007m【3】程序运行结果:图三:程序一运行结论:运行结果与理论运算结果相同,可以使用。(5)n个力共同作用下的任意截面的弯矩,挠度:【1】源代码;#include#includedoubleMzs,l,a[10],x,vs,E,I,F[10],Mz[10],v[10];inti,nF;main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{if(x>0&&x{Mz[i]=F[i]*(l-a[i])*x/l;v[i]=-F[i]*(l-a[i])*x*(l*l-x*x-(l-a[i])*(l-a[i]))/(6*E*I*l);}elseif(x>a[i]&&x{Mz[i]=F[i]*a[i]*(l-x)/l;v[i]=-F[i]*(l-a[i])*(l/(l-a[i])*pow(x-a[i],3)+(l*l-(l-a[i])*(l-a[i]))*x-x*x*x)/(6*E*I*l);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:a[n]为F[n]的作用位置坐标。条件:L=1m,E=4.5GPa。I=0.0001m4,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,x=0.4m;理论计算结果:Mz=320.00NmV=-0.000088m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(6)h个力偶共同作用作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleMz[10],l,b[10],x,v[10],E,I,M[10],Mzs,vs;inti,nM;main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:"); for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{if(x>0&&x{Mz[i]=M[i]*x/l;v[i]=M[i]*x*(l*l-3*(l-b[i])*(l-b[i])-x*x)/(6*E*I*l);}elseif(x>b[i]&&x{Mz[i]=M[i]*(l-x)/l;v[i]=M[i]*(-x*x*x+3*l*(x-b[i])*(x-b[i])+(l*l-3*(l-b[i])*(l-b[i]))*x);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.7m,x=0.3m;理论计算结果:Mz=900.00NmV=0.00019m【3】程序运行结果: 结论:运行结果与理论运算结果相同,可以使用。(7)m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleq[10],l,c[10],d[10],x,E,I,v[10],Mz[10],Mzs,vs;doubleC[10],D[10],Ec[10],Fc[10];doubleFR1[10],FR2[10];inti,nq;doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-q[i]*(d[i]-c[i])-FR2[i];Ec[i]=-(FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24)/E/I/l;Mz[i]=(FR1[i]*x-0.5*q[i]*C[i]*C[i]+0.5*q[i]*D[i]*D[i]);v[i]=(FR1[i]*pow(x,3)/6-q[i]*pow(C[i],4)/24+q[i]*pow(D[i],4)/24)/E/I+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,q[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-78NmV=0.000032m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(8)n个力,h个力偶,m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组doubleMz[10],v[10],l,E,I,Mzs,vs,Mzmax,vmax,Mzmin,vmin;//定义杆的基本参数doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
Mz=F*(l-a)*x/l;
v=-F*b*x*(l*l-x*x-b*b)/(6*E*I*l);
printf("Mz=%f\n",Mz);
printf("v=%f\n",v);
}
elseif(x>a&&x{Mz=F*a*(l-x)/l;v=-F*b*(l/b*pow(x-a,3)+(l*l-b*b)*x-x*x*x)/(6*E*I*l);printf("Mz=%f\n",Mz);printf("v=%f\n",v);}else{printf("數值溢出\n");}}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,F=1000N,a=0.6m,x=0.3m;理论运算结果:Mz=120NmV=-0.000033m【3】程序运行结果:图二:程序一运行结论:运行结果与理论运算结果相同,可以使用。(3)一个力偶作用下的任意截面的弯矩,挠度。【1】源代码:#include#includedoubleMz,l,a,x,v,E,I,b,M;main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入长度a\n");scanf("%lf",&a);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入弯矩M\n");scanf("%lf",&M);printf("请输入x\n");scanf("%lf",&x);b=l-a;if(x>0&&x{Mz=M*x/l;v=M*x*(l*l-3*b*b-x*x)/(6*E*I*l);printf("Mz=%f\n",Mz);printf("v=%f\n",v);}elseif(x>a&&x{Mz=M*(l-x)/l;v=M*(-x*x*x+3*l*(x-a)*(x-a)+(l*l-3*b*b)*x);printf("Mz=%f\n",Mz);printf("v=%f\n",v);}else{printf("數值溢出\n");}}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,M=1000Nm,a=0.6m,x=0.3m;理论计算结果:Mz=300.00NmV=0.000048m【3】程序运行结果:图三:程序一运行结论:运行结果与理论运算结果相同,可以使用。(4)一段分布力作用下的任意截面的弯矩挠度:【1】源代码:#include#includedoubleq,l,c,d,x,E,I,v,Mz;doubleC,D,Ec,Fc;doubleFR1,FR2;/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入分布力q\n");scanf("%lf",&q);printf("请输入长度c\n");scanf("%lf",&c);printf("请输入长度d\n");scanf("%lf",&d);printf("请输入x\n");scanf("%lf",&x);C=qiyi(x,c);D=qiyi(x,d);FR2=(-q*(d*d-c*c)/2)/l;//求支反力FR1=-q*(d-c)-FR2;Ec=-(FR1*pow(l,3)/6-q*pow(l-c,4)/24+q*pow(l-d,4)/24)/E/I/l;Fc=0;Mz=(FR1*x-0.5*q*C*C+0.5*q*D*D);v=(FR1*pow(x,3)/6-q*pow(C,4)/24+q*pow(D,4)/24)/E/I+Ec*x;printf("截面的弯矩为:%f\n",Mz);printf("截面的挠度为:%f\n",v);}【2】检验数据:c,d为q作用的起止长度坐标。条件:L=1m,E=4.5GPa。I=0.0001m4,q=1000N/m,c=0.6m,d=0.8m,x=0.3m;理论计算结果:Mz=-18NmV=0.000007m【3】程序运行结果:图三:程序一运行结论:运行结果与理论运算结果相同,可以使用。(5)n个力共同作用下的任意截面的弯矩,挠度:【1】源代码;#include#includedoubleMzs,l,a[10],x,vs,E,I,F[10],Mz[10],v[10];inti,nF;main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{if(x>0&&x{Mz[i]=F[i]*(l-a[i])*x/l;v[i]=-F[i]*(l-a[i])*x*(l*l-x*x-(l-a[i])*(l-a[i]))/(6*E*I*l);}elseif(x>a[i]&&x{Mz[i]=F[i]*a[i]*(l-x)/l;v[i]=-F[i]*(l-a[i])*(l/(l-a[i])*pow(x-a[i],3)+(l*l-(l-a[i])*(l-a[i]))*x-x*x*x)/(6*E*I*l);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:a[n]为F[n]的作用位置坐标。条件:L=1m,E=4.5GPa。I=0.0001m4,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,x=0.4m;理论计算结果:Mz=320.00NmV=-0.000088m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(6)h个力偶共同作用作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleMz[10],l,b[10],x,v[10],E,I,M[10],Mzs,vs;inti,nM;main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:"); for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{if(x>0&&x{Mz[i]=M[i]*x/l;v[i]=M[i]*x*(l*l-3*(l-b[i])*(l-b[i])-x*x)/(6*E*I*l);}elseif(x>b[i]&&x{Mz[i]=M[i]*(l-x)/l;v[i]=M[i]*(-x*x*x+3*l*(x-b[i])*(x-b[i])+(l*l-3*(l-b[i])*(l-b[i]))*x);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.7m,x=0.3m;理论计算结果:Mz=900.00NmV=0.00019m【3】程序运行结果: 结论:运行结果与理论运算结果相同,可以使用。(7)m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleq[10],l,c[10],d[10],x,E,I,v[10],Mz[10],Mzs,vs;doubleC[10],D[10],Ec[10],Fc[10];doubleFR1[10],FR2[10];inti,nq;doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-q[i]*(d[i]-c[i])-FR2[i];Ec[i]=-(FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24)/E/I/l;Mz[i]=(FR1[i]*x-0.5*q[i]*C[i]*C[i]+0.5*q[i]*D[i]*D[i]);v[i]=(FR1[i]*pow(x,3)/6-q[i]*pow(C[i],4)/24+q[i]*pow(D[i],4)/24)/E/I+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,q[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-78NmV=0.000032m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(8)n个力,h个力偶,m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组doubleMz[10],v[10],l,E,I,Mzs,vs,Mzmax,vmax,Mzmin,vmin;//定义杆的基本参数doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
Mz=F*a*(l-x)/l;
v=-F*b*(l/b*pow(x-a,3)+(l*l-b*b)*x-x*x*x)/(6*E*I*l);
else
printf("數值溢出\n");
【2】检验数据:
条件:
L=1m,E=4.5GPa。
I=0.0001m4
,F=1000N,a=0.6m,x=0.3m;
理论运算结果:
Mz=120Nm
V=-0.000033m
【3】程序运行结果:
图二:
程序一运行
结论:
运行结果与理论运算结果相同,可以使用。
(3)一个力偶作用下的任意截面的弯矩,挠度。
doubleMz,l,a,x,v,E,I,b,M;
printf("请输入弯矩M\n");
scanf("%lf",&M);
if(x>0&&x{Mz=M*x/l;v=M*x*(l*l-3*b*b-x*x)/(6*E*I*l);printf("Mz=%f\n",Mz);printf("v=%f\n",v);}elseif(x>a&&x{Mz=M*(l-x)/l;v=M*(-x*x*x+3*l*(x-a)*(x-a)+(l*l-3*b*b)*x);printf("Mz=%f\n",Mz);printf("v=%f\n",v);}else{printf("數值溢出\n");}}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,M=1000Nm,a=0.6m,x=0.3m;理论计算结果:Mz=300.00NmV=0.000048m【3】程序运行结果:图三:程序一运行结论:运行结果与理论运算结果相同,可以使用。(4)一段分布力作用下的任意截面的弯矩挠度:【1】源代码:#include#includedoubleq,l,c,d,x,E,I,v,Mz;doubleC,D,Ec,Fc;doubleFR1,FR2;/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入分布力q\n");scanf("%lf",&q);printf("请输入长度c\n");scanf("%lf",&c);printf("请输入长度d\n");scanf("%lf",&d);printf("请输入x\n");scanf("%lf",&x);C=qiyi(x,c);D=qiyi(x,d);FR2=(-q*(d*d-c*c)/2)/l;//求支反力FR1=-q*(d-c)-FR2;Ec=-(FR1*pow(l,3)/6-q*pow(l-c,4)/24+q*pow(l-d,4)/24)/E/I/l;Fc=0;Mz=(FR1*x-0.5*q*C*C+0.5*q*D*D);v=(FR1*pow(x,3)/6-q*pow(C,4)/24+q*pow(D,4)/24)/E/I+Ec*x;printf("截面的弯矩为:%f\n",Mz);printf("截面的挠度为:%f\n",v);}【2】检验数据:c,d为q作用的起止长度坐标。条件:L=1m,E=4.5GPa。I=0.0001m4,q=1000N/m,c=0.6m,d=0.8m,x=0.3m;理论计算结果:Mz=-18NmV=0.000007m【3】程序运行结果:图三:程序一运行结论:运行结果与理论运算结果相同,可以使用。(5)n个力共同作用下的任意截面的弯矩,挠度:【1】源代码;#include#includedoubleMzs,l,a[10],x,vs,E,I,F[10],Mz[10],v[10];inti,nF;main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{if(x>0&&x{Mz[i]=F[i]*(l-a[i])*x/l;v[i]=-F[i]*(l-a[i])*x*(l*l-x*x-(l-a[i])*(l-a[i]))/(6*E*I*l);}elseif(x>a[i]&&x{Mz[i]=F[i]*a[i]*(l-x)/l;v[i]=-F[i]*(l-a[i])*(l/(l-a[i])*pow(x-a[i],3)+(l*l-(l-a[i])*(l-a[i]))*x-x*x*x)/(6*E*I*l);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:a[n]为F[n]的作用位置坐标。条件:L=1m,E=4.5GPa。I=0.0001m4,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,x=0.4m;理论计算结果:Mz=320.00NmV=-0.000088m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(6)h个力偶共同作用作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleMz[10],l,b[10],x,v[10],E,I,M[10],Mzs,vs;inti,nM;main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:"); for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{if(x>0&&x{Mz[i]=M[i]*x/l;v[i]=M[i]*x*(l*l-3*(l-b[i])*(l-b[i])-x*x)/(6*E*I*l);}elseif(x>b[i]&&x{Mz[i]=M[i]*(l-x)/l;v[i]=M[i]*(-x*x*x+3*l*(x-b[i])*(x-b[i])+(l*l-3*(l-b[i])*(l-b[i]))*x);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.7m,x=0.3m;理论计算结果:Mz=900.00NmV=0.00019m【3】程序运行结果: 结论:运行结果与理论运算结果相同,可以使用。(7)m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleq[10],l,c[10],d[10],x,E,I,v[10],Mz[10],Mzs,vs;doubleC[10],D[10],Ec[10],Fc[10];doubleFR1[10],FR2[10];inti,nq;doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-q[i]*(d[i]-c[i])-FR2[i];Ec[i]=-(FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24)/E/I/l;Mz[i]=(FR1[i]*x-0.5*q[i]*C[i]*C[i]+0.5*q[i]*D[i]*D[i]);v[i]=(FR1[i]*pow(x,3)/6-q[i]*pow(C[i],4)/24+q[i]*pow(D[i],4)/24)/E/I+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,q[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-78NmV=0.000032m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(8)n个力,h个力偶,m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组doubleMz[10],v[10],l,E,I,Mzs,vs,Mzmax,vmax,Mzmin,vmin;//定义杆的基本参数doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
Mz=M*x/l;
v=M*x*(l*l-3*b*b-x*x)/(6*E*I*l);
elseif(x>a&&x{Mz=M*(l-x)/l;v=M*(-x*x*x+3*l*(x-a)*(x-a)+(l*l-3*b*b)*x);printf("Mz=%f\n",Mz);printf("v=%f\n",v);}else{printf("數值溢出\n");}}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,M=1000Nm,a=0.6m,x=0.3m;理论计算结果:Mz=300.00NmV=0.000048m【3】程序运行结果:图三:程序一运行结论:运行结果与理论运算结果相同,可以使用。(4)一段分布力作用下的任意截面的弯矩挠度:【1】源代码:#include#includedoubleq,l,c,d,x,E,I,v,Mz;doubleC,D,Ec,Fc;doubleFR1,FR2;/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入分布力q\n");scanf("%lf",&q);printf("请输入长度c\n");scanf("%lf",&c);printf("请输入长度d\n");scanf("%lf",&d);printf("请输入x\n");scanf("%lf",&x);C=qiyi(x,c);D=qiyi(x,d);FR2=(-q*(d*d-c*c)/2)/l;//求支反力FR1=-q*(d-c)-FR2;Ec=-(FR1*pow(l,3)/6-q*pow(l-c,4)/24+q*pow(l-d,4)/24)/E/I/l;Fc=0;Mz=(FR1*x-0.5*q*C*C+0.5*q*D*D);v=(FR1*pow(x,3)/6-q*pow(C,4)/24+q*pow(D,4)/24)/E/I+Ec*x;printf("截面的弯矩为:%f\n",Mz);printf("截面的挠度为:%f\n",v);}【2】检验数据:c,d为q作用的起止长度坐标。条件:L=1m,E=4.5GPa。I=0.0001m4,q=1000N/m,c=0.6m,d=0.8m,x=0.3m;理论计算结果:Mz=-18NmV=0.000007m【3】程序运行结果:图三:程序一运行结论:运行结果与理论运算结果相同,可以使用。(5)n个力共同作用下的任意截面的弯矩,挠度:【1】源代码;#include#includedoubleMzs,l,a[10],x,vs,E,I,F[10],Mz[10],v[10];inti,nF;main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{if(x>0&&x{Mz[i]=F[i]*(l-a[i])*x/l;v[i]=-F[i]*(l-a[i])*x*(l*l-x*x-(l-a[i])*(l-a[i]))/(6*E*I*l);}elseif(x>a[i]&&x{Mz[i]=F[i]*a[i]*(l-x)/l;v[i]=-F[i]*(l-a[i])*(l/(l-a[i])*pow(x-a[i],3)+(l*l-(l-a[i])*(l-a[i]))*x-x*x*x)/(6*E*I*l);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:a[n]为F[n]的作用位置坐标。条件:L=1m,E=4.5GPa。I=0.0001m4,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,x=0.4m;理论计算结果:Mz=320.00NmV=-0.000088m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(6)h个力偶共同作用作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleMz[10],l,b[10],x,v[10],E,I,M[10],Mzs,vs;inti,nM;main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:"); for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{if(x>0&&x{Mz[i]=M[i]*x/l;v[i]=M[i]*x*(l*l-3*(l-b[i])*(l-b[i])-x*x)/(6*E*I*l);}elseif(x>b[i]&&x{Mz[i]=M[i]*(l-x)/l;v[i]=M[i]*(-x*x*x+3*l*(x-b[i])*(x-b[i])+(l*l-3*(l-b[i])*(l-b[i]))*x);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.7m,x=0.3m;理论计算结果:Mz=900.00NmV=0.00019m【3】程序运行结果: 结论:运行结果与理论运算结果相同,可以使用。(7)m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleq[10],l,c[10],d[10],x,E,I,v[10],Mz[10],Mzs,vs;doubleC[10],D[10],Ec[10],Fc[10];doubleFR1[10],FR2[10];inti,nq;doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-q[i]*(d[i]-c[i])-FR2[i];Ec[i]=-(FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24)/E/I/l;Mz[i]=(FR1[i]*x-0.5*q[i]*C[i]*C[i]+0.5*q[i]*D[i]*D[i]);v[i]=(FR1[i]*pow(x,3)/6-q[i]*pow(C[i],4)/24+q[i]*pow(D[i],4)/24)/E/I+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,q[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-78NmV=0.000032m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(8)n个力,h个力偶,m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组doubleMz[10],v[10],l,E,I,Mzs,vs,Mzmax,vmax,Mzmin,vmin;//定义杆的基本参数doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
Mz=M*(l-x)/l;
v=M*(-x*x*x+3*l*(x-a)*(x-a)+(l*l-3*b*b)*x);
I=0.0001
m4,M=1000Nm,a=0.6m,x=0.3m;
理论计算结果:
Mz=300.00Nm
V=0.000048m
图三:
(4)一段分布力作用下的任意截面的弯矩挠度:
doubleq,l,c,d,x,E,I,v,Mz;
doubleC,D,Ec,Fc;
doubleFR1,FR2;
/*函数功能:
奇异函数*/
doubleqiyi(doublex,doubley)
if(x<=y)
return0;
if(x>y)
returnx-y;
printf("请输入分布力q\n");
scanf("%lf",&q);
printf("请输入长度c\n");
scanf("%lf",&c);
printf("请输入长度d\n");
scanf("%lf",&d);
C=qiyi(x,c);
D=qiyi(x,d);
FR2=(-q*(d*d-c*c)/2)/l;//求支反力
FR1=-q*(d-c)-FR2;
Ec=-(FR1*pow(l,3)/6-q*pow(l-c,4)/24+q*pow(l-d,4)/24)/E/I/l;
Fc=0;
Mz=(FR1*x-0.5*q*C*C+0.5*q*D*D);
v=(FR1*pow(x,3)/6-q*pow(C,4)/24+q*pow(D,4)/24)/E/I+Ec*x;
printf("截面的弯矩为:
%f\n",Mz);
printf("截面的挠度为:
%f\n",v);
c,d为q作用的起止长度坐标。
I=0.0001m4,q=1000N/m,c=0.6m,d=0.8m,x=0.3m;
Mz=-18Nm
V=0.000007m
(5)n个力共同作用下的任意截面的弯矩,挠度:
【1】源代码;
doubleMzs,l,a[10],x,vs,E,I,F[10],Mz[10],v[10];
inti,nF;
printf("请输入集中载荷F的个nF:
");
scanf("%d",&nF);
printf("请输入集中载荷F的值和位置a:
for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{if(x>0&&x{Mz[i]=F[i]*(l-a[i])*x/l;v[i]=-F[i]*(l-a[i])*x*(l*l-x*x-(l-a[i])*(l-a[i]))/(6*E*I*l);}elseif(x>a[i]&&x{Mz[i]=F[i]*a[i]*(l-x)/l;v[i]=-F[i]*(l-a[i])*(l/(l-a[i])*pow(x-a[i],3)+(l*l-(l-a[i])*(l-a[i]))*x-x*x*x)/(6*E*I*l);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:a[n]为F[n]的作用位置坐标。条件:L=1m,E=4.5GPa。I=0.0001m4,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,x=0.4m;理论计算结果:Mz=320.00NmV=-0.000088m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(6)h个力偶共同作用作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleMz[10],l,b[10],x,v[10],E,I,M[10],Mzs,vs;inti,nM;main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:"); for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{if(x>0&&x{Mz[i]=M[i]*x/l;v[i]=M[i]*x*(l*l-3*(l-b[i])*(l-b[i])-x*x)/(6*E*I*l);}elseif(x>b[i]&&x{Mz[i]=M[i]*(l-x)/l;v[i]=M[i]*(-x*x*x+3*l*(x-b[i])*(x-b[i])+(l*l-3*(l-b[i])*(l-b[i]))*x);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.7m,x=0.3m;理论计算结果:Mz=900.00NmV=0.00019m【3】程序运行结果: 结论:运行结果与理论运算结果相同,可以使用。(7)m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleq[10],l,c[10],d[10],x,E,I,v[10],Mz[10],Mzs,vs;doubleC[10],D[10],Ec[10],Fc[10];doubleFR1[10],FR2[10];inti,nq;doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-q[i]*(d[i]-c[i])-FR2[i];Ec[i]=-(FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24)/E/I/l;Mz[i]=(FR1[i]*x-0.5*q[i]*C[i]*C[i]+0.5*q[i]*D[i]*D[i]);v[i]=(FR1[i]*pow(x,3)/6-q[i]*pow(C[i],4)/24+q[i]*pow(D[i],4)/24)/E/I+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,q[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-78NmV=0.000032m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(8)n个力,h个力偶,m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组doubleMz[10],v[10],l,E,I,Mzs,vs,Mzmax,vmax,Mzmin,vmin;//定义杆的基本参数doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
scanf("%lf%lf",&F[i],&a[i]);
for(i=0;i{if(x>0&&x{Mz[i]=F[i]*(l-a[i])*x/l;v[i]=-F[i]*(l-a[i])*x*(l*l-x*x-(l-a[i])*(l-a[i]))/(6*E*I*l);}elseif(x>a[i]&&x{Mz[i]=F[i]*a[i]*(l-x)/l;v[i]=-F[i]*(l-a[i])*(l/(l-a[i])*pow(x-a[i],3)+(l*l-(l-a[i])*(l-a[i]))*x-x*x*x)/(6*E*I*l);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:a[n]为F[n]的作用位置坐标。条件:L=1m,E=4.5GPa。I=0.0001m4,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,x=0.4m;理论计算结果:Mz=320.00NmV=-0.000088m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(6)h个力偶共同作用作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleMz[10],l,b[10],x,v[10],E,I,M[10],Mzs,vs;inti,nM;main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:"); for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{if(x>0&&x{Mz[i]=M[i]*x/l;v[i]=M[i]*x*(l*l-3*(l-b[i])*(l-b[i])-x*x)/(6*E*I*l);}elseif(x>b[i]&&x{Mz[i]=M[i]*(l-x)/l;v[i]=M[i]*(-x*x*x+3*l*(x-b[i])*(x-b[i])+(l*l-3*(l-b[i])*(l-b[i]))*x);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.7m,x=0.3m;理论计算结果:Mz=900.00NmV=0.00019m【3】程序运行结果: 结论:运行结果与理论运算结果相同,可以使用。(7)m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleq[10],l,c[10],d[10],x,E,I,v[10],Mz[10],Mzs,vs;doubleC[10],D[10],Ec[10],Fc[10];doubleFR1[10],FR2[10];inti,nq;doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-q[i]*(d[i]-c[i])-FR2[i];Ec[i]=-(FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24)/E/I/l;Mz[i]=(FR1[i]*x-0.5*q[i]*C[i]*C[i]+0.5*q[i]*D[i]*D[i]);v[i]=(FR1[i]*pow(x,3)/6-q[i]*pow(C[i],4)/24+q[i]*pow(D[i],4)/24)/E/I+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,q[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-78NmV=0.000032m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(8)n个力,h个力偶,m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组doubleMz[10],v[10],l,E,I,Mzs,vs,Mzmax,vmax,Mzmin,vmin;//定义杆的基本参数doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
if(x>0&&x{Mz[i]=F[i]*(l-a[i])*x/l;v[i]=-F[i]*(l-a[i])*x*(l*l-x*x-(l-a[i])*(l-a[i]))/(6*E*I*l);}elseif(x>a[i]&&x{Mz[i]=F[i]*a[i]*(l-x)/l;v[i]=-F[i]*(l-a[i])*(l/(l-a[i])*pow(x-a[i],3)+(l*l-(l-a[i])*(l-a[i]))*x-x*x*x)/(6*E*I*l);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:a[n]为F[n]的作用位置坐标。条件:L=1m,E=4.5GPa。I=0.0001m4,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,x=0.4m;理论计算结果:Mz=320.00NmV=-0.000088m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(6)h个力偶共同作用作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleMz[10],l,b[10],x,v[10],E,I,M[10],Mzs,vs;inti,nM;main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:"); for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{if(x>0&&x{Mz[i]=M[i]*x/l;v[i]=M[i]*x*(l*l-3*(l-b[i])*(l-b[i])-x*x)/(6*E*I*l);}elseif(x>b[i]&&x{Mz[i]=M[i]*(l-x)/l;v[i]=M[i]*(-x*x*x+3*l*(x-b[i])*(x-b[i])+(l*l-3*(l-b[i])*(l-b[i]))*x);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.7m,x=0.3m;理论计算结果:Mz=900.00NmV=0.00019m【3】程序运行结果: 结论:运行结果与理论运算结果相同,可以使用。(7)m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleq[10],l,c[10],d[10],x,E,I,v[10],Mz[10],Mzs,vs;doubleC[10],D[10],Ec[10],Fc[10];doubleFR1[10],FR2[10];inti,nq;doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-q[i]*(d[i]-c[i])-FR2[i];Ec[i]=-(FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24)/E/I/l;Mz[i]=(FR1[i]*x-0.5*q[i]*C[i]*C[i]+0.5*q[i]*D[i]*D[i]);v[i]=(FR1[i]*pow(x,3)/6-q[i]*pow(C[i],4)/24+q[i]*pow(D[i],4)/24)/E/I+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,q[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-78NmV=0.000032m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(8)n个力,h个力偶,m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组doubleMz[10],v[10],l,E,I,Mzs,vs,Mzmax,vmax,Mzmin,vmin;//定义杆的基本参数doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
Mz[i]=F[i]*(l-a[i])*x/l;
v[i]=-F[i]*(l-a[i])*x*(l*l-x*x-(l-a[i])*(l-a[i]))/(6*E*I*l);
elseif(x>a[i]&&x{Mz[i]=F[i]*a[i]*(l-x)/l;v[i]=-F[i]*(l-a[i])*(l/(l-a[i])*pow(x-a[i],3)+(l*l-(l-a[i])*(l-a[i]))*x-x*x*x)/(6*E*I*l);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:a[n]为F[n]的作用位置坐标。条件:L=1m,E=4.5GPa。I=0.0001m4,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,x=0.4m;理论计算结果:Mz=320.00NmV=-0.000088m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(6)h个力偶共同作用作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleMz[10],l,b[10],x,v[10],E,I,M[10],Mzs,vs;inti,nM;main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:"); for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{if(x>0&&x{Mz[i]=M[i]*x/l;v[i]=M[i]*x*(l*l-3*(l-b[i])*(l-b[i])-x*x)/(6*E*I*l);}elseif(x>b[i]&&x{Mz[i]=M[i]*(l-x)/l;v[i]=M[i]*(-x*x*x+3*l*(x-b[i])*(x-b[i])+(l*l-3*(l-b[i])*(l-b[i]))*x);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.7m,x=0.3m;理论计算结果:Mz=900.00NmV=0.00019m【3】程序运行结果: 结论:运行结果与理论运算结果相同,可以使用。(7)m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleq[10],l,c[10],d[10],x,E,I,v[10],Mz[10],Mzs,vs;doubleC[10],D[10],Ec[10],Fc[10];doubleFR1[10],FR2[10];inti,nq;doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-q[i]*(d[i]-c[i])-FR2[i];Ec[i]=-(FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24)/E/I/l;Mz[i]=(FR1[i]*x-0.5*q[i]*C[i]*C[i]+0.5*q[i]*D[i]*D[i]);v[i]=(FR1[i]*pow(x,3)/6-q[i]*pow(C[i],4)/24+q[i]*pow(D[i],4)/24)/E/I+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,q[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-78NmV=0.000032m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(8)n个力,h个力偶,m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组doubleMz[10],v[10],l,E,I,Mzs,vs,Mzmax,vmax,Mzmin,vmin;//定义杆的基本参数doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
Mz[i]=F[i]*a[i]*(l-x)/l;
v[i]=-F[i]*(l-a[i])*(l/(l-a[i])*pow(x-a[i],3)+(l*l-(l-a[i])*(l-a[i]))*x-x*x*x)/(6*E*I*l);
Mzs=Mzs+Mz[i];
vs=vs+v[i];
printf("截面的弯矩为%f",Mzs);
printf("截面的挠度为%f",vs);
a[n]为F[n]的作用位置坐标。
I=0.0001m4,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,x=0.4m;
Mz=320.00NmV=-0.000088m
(6)h个力偶共同作用作用下的任意截面的弯矩,挠度:
doubleMz[10],l,b[10],x,v[10],E,I,M[10],Mzs,vs;
inti,nM;
printf("请输入外力偶M的个数nM");
scanf("%d",&nM);
printf("请输入外力偶值和位置b:
for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{if(x>0&&x{Mz[i]=M[i]*x/l;v[i]=M[i]*x*(l*l-3*(l-b[i])*(l-b[i])-x*x)/(6*E*I*l);}elseif(x>b[i]&&x{Mz[i]=M[i]*(l-x)/l;v[i]=M[i]*(-x*x*x+3*l*(x-b[i])*(x-b[i])+(l*l-3*(l-b[i])*(l-b[i]))*x);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.7m,x=0.3m;理论计算结果:Mz=900.00NmV=0.00019m【3】程序运行结果: 结论:运行结果与理论运算结果相同,可以使用。(7)m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleq[10],l,c[10],d[10],x,E,I,v[10],Mz[10],Mzs,vs;doubleC[10],D[10],Ec[10],Fc[10];doubleFR1[10],FR2[10];inti,nq;doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-q[i]*(d[i]-c[i])-FR2[i];Ec[i]=-(FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24)/E/I/l;Mz[i]=(FR1[i]*x-0.5*q[i]*C[i]*C[i]+0.5*q[i]*D[i]*D[i]);v[i]=(FR1[i]*pow(x,3)/6-q[i]*pow(C[i],4)/24+q[i]*pow(D[i],4)/24)/E/I+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,q[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-78NmV=0.000032m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(8)n个力,h个力偶,m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组doubleMz[10],v[10],l,E,I,Mzs,vs,Mzmax,vmax,Mzmin,vmin;//定义杆的基本参数doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
scanf("%lf%lf",&M[i],&b[i]);
for(i=0;i{if(x>0&&x{Mz[i]=M[i]*x/l;v[i]=M[i]*x*(l*l-3*(l-b[i])*(l-b[i])-x*x)/(6*E*I*l);}elseif(x>b[i]&&x{Mz[i]=M[i]*(l-x)/l;v[i]=M[i]*(-x*x*x+3*l*(x-b[i])*(x-b[i])+(l*l-3*(l-b[i])*(l-b[i]))*x);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.7m,x=0.3m;理论计算结果:Mz=900.00NmV=0.00019m【3】程序运行结果: 结论:运行结果与理论运算结果相同,可以使用。(7)m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleq[10],l,c[10],d[10],x,E,I,v[10],Mz[10],Mzs,vs;doubleC[10],D[10],Ec[10],Fc[10];doubleFR1[10],FR2[10];inti,nq;doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-q[i]*(d[i]-c[i])-FR2[i];Ec[i]=-(FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24)/E/I/l;Mz[i]=(FR1[i]*x-0.5*q[i]*C[i]*C[i]+0.5*q[i]*D[i]*D[i]);v[i]=(FR1[i]*pow(x,3)/6-q[i]*pow(C[i],4)/24+q[i]*pow(D[i],4)/24)/E/I+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,q[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-78NmV=0.000032m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(8)n个力,h个力偶,m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组doubleMz[10],v[10],l,E,I,Mzs,vs,Mzmax,vmax,Mzmin,vmin;//定义杆的基本参数doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
if(x>0&&x
Mz[i]=M[i]*x/l;
v[i]=M[i]*x*(l*l-3*(l-b[i])*(l-b[i])-x*x)/(6*E*I*l);
elseif(x>b[i]&&x{Mz[i]=M[i]*(l-x)/l;v[i]=M[i]*(-x*x*x+3*l*(x-b[i])*(x-b[i])+(l*l-3*(l-b[i])*(l-b[i]))*x);}Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.7m,x=0.3m;理论计算结果:Mz=900.00NmV=0.00019m【3】程序运行结果: 结论:运行结果与理论运算结果相同,可以使用。(7)m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleq[10],l,c[10],d[10],x,E,I,v[10],Mz[10],Mzs,vs;doubleC[10],D[10],Ec[10],Fc[10];doubleFR1[10],FR2[10];inti,nq;doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-q[i]*(d[i]-c[i])-FR2[i];Ec[i]=-(FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24)/E/I/l;Mz[i]=(FR1[i]*x-0.5*q[i]*C[i]*C[i]+0.5*q[i]*D[i]*D[i]);v[i]=(FR1[i]*pow(x,3)/6-q[i]*pow(C[i],4)/24+q[i]*pow(D[i],4)/24)/E/I+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,q[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-78NmV=0.000032m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(8)n个力,h个力偶,m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组doubleMz[10],v[10],l,E,I,Mzs,vs,Mzmax,vmax,Mzmin,vmin;//定义杆的基本参数doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
Mz[i]=M[i]*(l-x)/l;
v[i]=M[i]*(-x*x*x+3*l*(x-b[i])*(x-b[i])+(l*l-3*(l-b[i])*(l-b[i]))*x);
m4,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.7m,x=0.3m;
Mz=900.00Nm
V=0.00019m
(7)m段分布力共同作用下的任意截面的弯矩,挠度:
doubleq[10],l,c[10],d[10],x,E,I,v[10],Mz[10],Mzs,vs;
doubleC[10],D[10],Ec[10],Fc[10];
doubleFR1[10],FR2[10];
inti,nq;
printf("请输入均布力的个数nq");
scanf("%d",&nq);
printf("请输入分布力q的值和位置c,d:
for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入x\n");scanf("%lf",&x);for(i=0;i{C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-q[i]*(d[i]-c[i])-FR2[i];Ec[i]=-(FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24)/E/I/l;Mz[i]=(FR1[i]*x-0.5*q[i]*C[i]*C[i]+0.5*q[i]*D[i]*D[i]);v[i]=(FR1[i]*pow(x,3)/6-q[i]*pow(C[i],4)/24+q[i]*pow(D[i],4)/24)/E/I+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,q[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-78NmV=0.000032m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(8)n个力,h个力偶,m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组doubleMz[10],v[10],l,E,I,Mzs,vs,Mzmax,vmax,Mzmin,vmin;//定义杆的基本参数doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);
for(i=0;i{C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-q[i]*(d[i]-c[i])-FR2[i];Ec[i]=-(FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24)/E/I/l;Mz[i]=(FR1[i]*x-0.5*q[i]*C[i]*C[i]+0.5*q[i]*D[i]*D[i]);v[i]=(FR1[i]*pow(x,3)/6-q[i]*pow(C[i],4)/24+q[i]*pow(D[i],4)/24)/E/I+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001m4,q[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-78NmV=0.000032m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(8)n个力,h个力偶,m段分布力共同作用下的任意截面的弯矩,挠度:【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组doubleMz[10],v[10],l,E,I,Mzs,vs,Mzmax,vmax,Mzmin,vmin;//定义杆的基本参数doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
C[i]=qiyi(x,c[i]);
D[i]=qiyi(x,d[i]);
FR2[i]=(-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力
FR1[i]=-q[i]*(d[i]-c[i])-FR2[i];
Ec[i]=-(FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24)/E/I/l;
Mz[i]=(FR1[i]*x-0.5*q[i]*C[i]*C[i]+0.5*q[i]*D[i]*D[i]);
v[i]=(FR1[i]*pow(x,3)/6-q[i]*pow(C[i],4)/24+q[i]*pow(D[i],4)/24)/E/I+Ec[i]*x;
m4,q[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;
Mz=-78Nm
V=0.000032m
(8)n个力,h个力偶,m段分布力共同作用下的任意截面的弯矩,挠度:
doubleF[10],M[10],q[10];//定义各个载荷大小的数组
doubleMz[10],v[10],l,E,I,Mzs,vs,Mzmax,vmax,Mzmin,vmin;//定义杆的基本参数
doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标
doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量
doubleEc[10],Fc[10];//定义积分常数
doublex;//定义任一截面横坐标
doubleFR1[10],FR2[10];//定义支反力FR1,FR2
inti,Q;//定义循环变量
intnM,nF,nq,nn;//定义载荷个数
voidps()
for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);}printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
printf("请输入任一截面横坐标x\n");
nn=nF;//找到最大载荷数
if(nM>nn)
nn=nM;
if(nq>nn)
nn=nq;
ps();//初始数据输入
for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数if(x<=b[i])Q=0;if(x>b[i])Q=1;Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;Mzs=Mzs+Mz[i];vs=vs+v[i];}printf("截面的弯矩为%f",Mzs);printf("截面的挠度为%f",vs);}【2】检验数据:条件:L=1m,E=4.5GPa。I=0.0001,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;理论计算结果:Mz=-1570.00NmV=0.00037m【3】程序运行结果:结论:运行结果与理论运算结果相同,可以使用。(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。【1】源代码:#include#includedoubleF[10],M[10],q[10];//定义各个载荷大小的数组DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/doublea[10],b[10],c[10],d[10];//定义各个载荷的横坐标doubleA[10],B[10],C[10],D[10];//定义奇异函数中间变量doubleEc[10],Fc[10];//定义积分常数doublex;//定义任一截面横坐标doubleFR1[10],FR2[10];//定义支反力FR1,FR2inti,Q;//定义循环变量intj;ntnM,nF,nq,nn;//定义载荷个数/*函数功能:奇异函数*/doubleqiyi(doublex,doubley){if(x<=y)return0;if(x>y)returnx-y;}/*函数功能:初始数据输入*/voidps(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入集中载荷F的个nF:");scanf("%d",&nF);printf("请输入集中载荷F的值和位置a:");for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
A[i]=qiyi(x,a[i]);
B[i]=qiyi(x,b[i]);
FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力
FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i];
Ec[i]=-((M[i]*pow((l-b[i]),2)/2+F[i]*pow((l-a[i]),3)/6+FR1[i]*pow(l,3)/6-q[i]*pow(l-c[i],4)/24+q[i]*pow(l-d[i],4)/24))/E/I/l;//求积分常数
if(x<=b[i])Q=0;
if(x>b[i])Q=1;
Mz[i]=(M[i]*Q+F[i]*A[i]+FR1[i]*x)-q[i]*pow(C[i],2)/2+q[i]*pow(D[i],2)/2;
v[i]=(M[i]*pow(B[i],2)/2+F[i]*pow(A[i],3)/6+FR1[i]*pow(x,3)/6)/(E*I)-(q[i]*pow(C[i],4)/24-q[i]*pow(D[i],4)/24)/(E*I)+Ec[i]*x;
vs=vs+v[i];}
,F[1]=1000N,F[2]=2000N,a[1]=0.6m,a[2]=0.8m,M[1]=1000Nm,M[2]=2000Nm,b[1]=0.6m,b[2]=0.8mq[1]=1000Nm,q[2]=2000Nm,c[1]=0.4m,c[2]=0.5m,d[1]=0.6m,d[2]=0.7m,x=0.4m;
Mz=-1570.00NmV=0.00037m
(9)n个力,h个力偶,m段分布力共同作用下的最大弯矩,最大挠度。
DoubleMz[10],v[10],l,E,I,Mzs[100],vs[100],Mzmax,vmax,Mzmin,vmin;/
intj;
ntnM,nF,nq,nn;//定义载荷个数
初始数据输入*/
for(i=0;i{scanf("%lf%lf",&F[i],&a[i]);} printf("请输入外力偶M的个数nM");scanf("%d",&nM);printf("请输入外力偶值和位置b:");for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
for(i=0;i{scanf("%lf%lf",&M[i],&b[i]);}printf("请输入均布力的个数nq");scanf("%d",&nq);printf("请输入分布力q的值和位置c,d:");for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
for(i=0;i{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}printf("请输入任一截面横坐标x\n");scanf("%lf",&x);nn=nF;//找到最大载荷数if(nM>nn)nn=nM;if(nq>nn)nn=nq;}main(){ps();//初始数据输入for(j=0;j<99;j++){x=j*l/100;for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
{scanf("%lf%lf%lf",&q[i],&c[i],&d[i]);}
for(j=0;j<99;j++)
x=j*l/100;
for(i=0;i{A[i]=qiyi(x,a[i]);B[i]=qiyi(x,b[i]);C[i]=qiyi(x,c[i]);D[i]=qiyi(x,d[i]);FR2[i]=(M[i]-F[i]*a[i]-q[i]*(d[i]*d[i]-c[i]*c[i])/2)/l;//求支反力FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
FR1[i]=-(F[i]+q[i]*(d[i]-c[i]))-FR2[i]
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1