[转载]Matlab求解简支梁挠度曲线方程
2014-06-06 23:39阅读:
1.
项目概述
使用Matlab求解简支梁挠度曲线方程,并将求解程序使用GUI图形界面实现。载荷分布可选:均布载荷、直线分布载荷、二次分布载荷。梁截面可选:矩形截面、环形界面、工字钢截面。
2.
关键词
GUI;梁;挠度;载荷;截面;工程力学
3.
技术说明
首先根据载荷分布曲线求解剪力分布方程,剪力分布积分得到弯矩分布方程,弯矩积分得到转角方程,转角积分得到挠度方程。然后根据简支梁的边界条件(简支梁两端支点挠度等于0)代入解出积分常数,即可得挠度方程。
GUI运行模式:首先接受用户输入参数,得到载荷分布参数、截面参数、材料弹性模量、梁长度等参数,用户点击Calculate(计算)按钮后,调用相应程
序计算出挠度方程显示在相应文本框,并作出挠度曲线。
4.
程序源代码
(1)均布载荷简支梁挠度曲线方程计算
syms q0 x l
F = q0*l;
%等效集中力
Fa = F/2;
%A处支反力
Fb = F/2;
%B处支反力
qx = q0;
%载荷密度
Fx = Fa-int(qx,x);
%剪力分布
Mx = int(Fx,x);
%弯矩分布
syms C1 C2
%常数
Sita = int(Mx,x) +C1;
%转角
wx = int(Sita,x)+C2;
%挠度
%根据边界条件确定常数
eq1 = subs(wx,x,0);
%
A处挠度为0
eq2 = subs(wx,x,l);
%
B处挠度为0
g = solve(eq1,eq2,C1,C2);
%解方程求C1 C2
C1 = g.C1;
C2 = g.C2;
wx = -subs(wx);
(2)二次分布载荷简支梁挠度曲线方程计算
syms q0 x l
F = 0.5*q0*l;
%等效集中力
Fa = F/3;
%A处支反力
Fb = F*2/3;
%B处支反力
qx = q0*x/l;
%载荷密度
Fx = Fa-int(qx);
%剪力分布
Mx = int(Fx);
%弯矩分布
syms C1 C2
%常数
Sita = int(Mx) +C1;
%转角
wx = int(Sita)+C2;
%挠度
%根据边界条件确定常数
eq1 = subs(wx,x,0);
%
A处挠度为0
eq2 = subs(wx,x,l);
%
B处挠度为0
g = solve(eq1,eq2,C1,C2);
%解方程求C1
C2
C1 = g.C1;
C2 = g.C2;
wx = -subs(wx);
(3)线性分布载荷简支梁挠度曲线方程计算
syms q0 x l
qx = 4*q0*(x/l -x^2/l^2);
%载荷密度
F = int(qx,x,0,l);
%等效集中力
Fa = F/2;
%A处支反力
Fb = F/2;
%B处支反力
Fx = Fa-int(qx);
%剪力分布
Mx = int(Fx);
%弯矩分布
syms C1 C2
%常数
Sita = int(Mx) +C1;
%转角
wx = int(Sita)+C2;
%挠度
%根据边界条件确定常数
eq1 = subs(wx,x,0);
%
A处挠度为0
eq2 = subs(wx,x,l);
%
B处挠度为0
g = solve(eq1,eq2,C1,C2);
%解方程求C1 C2
C1 = g.C1;
C2 = g.C2;
wx = -subs(wx);
5.
程序结果
6.
总结
本项目的主要难点:一是挠度计算;二是绘图程序的编写,如铰支座、载荷分布曲线、梁截面的绘制。
博文为原创,欢迎转载,转载注明出处,谢谢!
有Matlab/Simulink方面的技术问题,欢迎发送邮件至944077462@qq.com讨论。