- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
材料力学剪力图弯矩图绘制(有详细的程序)
材料力学剪力图弯矩图绘制(有详细的程序)
说明:输入变量:分段数组x分段点一般在集中力,集中力偶作用出和分布载荷的起末端。载荷数组MPQ若梁上的外载荷总数为PN,则用PN行四列的数组MPQ储存载荷,数组MPQ第一列代表载荷的类型:1为集中力偶,2为集中力,3为分布载荷,第二列代表载荷的大小,第三列代表集中力,集中力偶或者分布载荷左端与简支梁左端的距离,第四列代表均匀载荷右端与简支梁左端的距离,当载荷为集中力或者集中力偶时,第四列为0.符号规定集中力和均匀载荷向下为正,向上为负,集中力偶顺时针为正,逆时针为负。
输出变量:内力数组XQM如果梁被分为NN-1段,则内力数组XQM为NN行,三列的数组,第一列代表梁的横截面的位置,第二列代表剪力,第三列代表弯矩。剪力极值及位置QDXQDX是一个二行二列的数组,第一列代表极值所在的位置,第二列代表极值弯矩极值及位置MDXMDX是一个二行二列的数组,第一列代表极值所在的位置,第二列代表极值1.子程序1.1集中力偶对弯矩贡献的子函数QMM1.2集中力对剪力和弯矩贡献的子函数QMP1.3分布载荷对剪力和弯矩贡献的子函数QMQ1.4求剪力和弯矩极值的子函数MAX_MIN1.5绘制剪力图和弯矩图的子函数TU_QM
2.计算分析程序2.1简支梁QMDJ2.2左端固定悬臂梁QMDXZ2.3右端固定悬臂梁QMDXY2.4左端外伸梁QMDWZ2.5右端外伸梁QMDWY2.6两端外伸梁QMDWL
1.子程序
1.1集中力偶对弯矩贡献的子函数QMM
function MM=QMM(n,x1,a,M,MM)
for j=1:n
if x1(j)==a
n1=j;
end
end
MM(n1:n)=MM(n1:n)+M;
1.2集中力对剪力和弯矩贡献的子函数QMP
function [QQ,MM]=QMP(n,x1,b,P,QQ,MM)
for j=1:n
if x1(j)==b;
n1=j;
end
end
QQ(n1:n)=QQ(n1:n)-P;
MM(n1:n)=MM(n1:n)-P*(x1(n1:n)-b);
1.3分布载荷对剪力和弯矩贡献的子函数QMQ
function [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM)
for j=1:n
if x1(j)c
QQ(j)=QQ(j)-q*(x1(j)-c);
MM(j)=MM(j)-0.5*q*(x1(j)-c)^2;
end
if x1(j)d
QQ(j)=QQ(j)+q*(x1(j)-d);
MM(j)=MM(j)+0.5*q*(x1(j)-d)^2;
end
end
1.4求剪力和弯矩极值的子函数MAX_MIN
function [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM)
XQM=[x1,QQ,MM];
[Qmax,i]=max(QQ);
Q1=[Qmax,x1(i)];
[Qmin,i]=min(QQ);
Q2=[Qmin,x1(i)];
[Mmax,i]=max(MM);
M1=[Mmax,x1(i)];
[Mmin,i]=min(MM);
M2=[Mmin,x1(i)];
disp(剪力极值及位置)
QDX=[Q1;Q2]
disp(弯矩极值及位置)
MDX=[M1;M2]
t1=findobj(0,Tag,text31);
str=num2str(Q1(1));
set(t1,String,str);
t2=findobj(0,Tag,text39);
str=num2str(Q1(2));
set(t2,String,str);
t3=findobj(0,Tag,text32);
str=num2str(Q2(1));
set(t3,String,str);
t4=findobj(0,Tag,text40);
str=num2str(Q2(2));
set(t4,String,str);
m1=findobj(0,Tag,text33);
str=num2str(M1(1));
set(m1,String,str);
m2=findobj(0,Tag,text41);
str=num2str(M1(2));
set(m2,String,str);
m3=findobj(0,Tag,text34);
str=num2str(M2(1));
set(m3,String,str);
m4=findobj(0,Tag,text42);
str=num2str(M2(2));
set(m4,String,
文档评论(0)