材力电算大作业梁的变形matlabWord下载.docx
《材力电算大作业梁的变形matlabWord下载.docx》由会员分享,可在线阅读,更多相关《材力电算大作业梁的变形matlabWord下载.docx(10页珍藏版)》请在冰豆网上搜索。
1、程序框图:
说明:
1当a≠0,b=0时,结构为简支梁;
2当a=0,b≠0时,结构为悬臂梁;
3当a≠0,b≠0时,结构为外伸梁。
2、源程序:
clear
%清屏
clc;
%清理变量
disp('
请输入所要求梁的信息'
)
F=input('
请输入集中力F(/N):
'
);
a=input('
请输入梁长度a(/m):
b=input('
请输入梁长度b(/m):
c=input('
请输入集中力作用位置c(/m):
E=input('
请输入弹性模量E(/GPa):
I=input('
请输入惯性矩I(/cm2):
if(F<
0|a<
0|b<
0|c<
0|E<
=0|I<
=0|c>
(a+b))|(a==0&
b==0)
A='
你的输入有误'
;
disp(A)
elseifF==0|c==a|c==0
B='
你的输入有误¸
该梁将不会弯曲'
disp(B)
else
x=0:
0.01:
(a+b);
%构造0到a+b的a+b个点(每隔0.01画一个点)的x坐标轴
ifa~=0&
b==0
n=length(x);
v=zeros(1,n);
%v是一个n列的零矩阵
fori=1:
(a/0.01+1)
ifx(i)<
=c
v(i)=-F*(a-c)*x(i)*(a^2-x(i).^2-(a-c)^2)/(6*E*I*10^5*a);
u=-F*c*(a-c)*(2*a-c)/(6*E*I*a);
w=-F*(a-c)*(28*a*c-c^2)^(3/2)/(15*E*I*a);
q(i)=F*(a-c)*(a^2*x(i)-x(i)^3-(a-c)^2*x(i))/(6*E*I*a);
z(i)=F*(a-c)*(a^2-3*x(i)^2-(a-c)^2)/(6*E*I*a);
x处挠度:
'
disp(q(i))
x处转角:
disp(z(i))
最大转角'
disp(u)
最大挠度'
disp(w)
else
v(i)=-F*(a-c)*(a/(a-c)*(x(i)-c).^3+(a^2-(a-c)^2)*x(i)-x(i).^3)/(6*E*I*10^5*a);
u=-F*(a-c)*(a+c)/(6*E*I*a);
w=-F*(a-c)*(28*a*c-c^2)^(3/2)/(15*E*I*a);
end
end
end
ifa==0&
b~=0
(b/0.01+1)
v(i)=-F*x(i).^2*(3*c-x(i))/(6*E*I*10^5);
else
v(i)=-F*c^2*(3*x(i)-c)/(6*E*I*10^5);
q(i)=F*(6*a*x(i)-3*x(i)^2)/(6*E*I);
z(i)=6*F*(a-x(i))/(6*E*I);
u=-F*c*c/(2*E*I);
w=-F*c*c*(3*b-c)/(6*E*I);
ifc<
a
((a+b)/0.01+1)
v(i)=-F*(a-c)*x(i)*(a^2-x(i).^2-(a-c)^2)/(6*E*I*a*10^5);
elseifx(i)>
c&
x(i)<
=a
v(i)=-F*(a-c)*(a/(a-c)*(x(i)-c).^3+(a^2-(a-c)^2)*x(i)-x(i).^3)/(6*E*I*a*10^5);
r=tan(F*c*(a-c)*(a+c)/(6*E*I*a*10^5));
v(i)=(x(i)-a)*r;
ifc>
symst
d=-F*(t-a)*((c-a)*(3*t-a)-(t-a).^2)/(6*E*I*10^5);
e=subs(diff(d),t,c);
v(i)=F*(c-a)*x(i)*(a^2-x(i).^2)/(6*E*I*10^5*a);
a&
v(i)=-F*(x(i)-a)*((c-a)*(3*x(i)-a)-(x(i)-a).^2)/(6*E*I*10^5);
c
g=-F*(c-a)*((c-a)*(3*c-a)-(c-a).^2)/(6*E*I*10^5);
v(i)=g+(x(i)-c)*e;
v(i)=-F*(a-c)*x(i)*(a^2-x(i).^2-(a-c)^2)/(6*E*I*10^5*a);
w=-F*(a-c)*(28*a*c-c^2)^(3/2);
figure
plot(x,v)
title('
挠曲线图'
ylabel('
v/m'
),xlabel('
x/m'
3、模拟
1、算例:
1取F=20,a=2,b=0,c=1,E=2,I=2
运行结果为:
取F=20,a=0,b=3,c=2,E=2,I=2
输出结果为:
取F=20,a=2,b=2,c=1,E=2,I=2
总结:
本算法运用迭代公式,先以梁的有关输入长度变量判断梁的类型和梁是否弯曲,然后再根据算法求出梁的某截面挠度和转角,最大挠度和最大转角和挠曲线的形状,本程序是计算梁受到恒定力时的挠度和转角,对于受到分布力的梁,程序类似,故没有写上。