新浪博客

[转载]Matlab求解简支梁挠度曲线方程

2014-06-06 23:39阅读:
原文作者:shuang

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. 程序结果



[转载]Matlab求解简支梁挠度曲线方程
[转载]Matlab求解简支梁挠度曲线方程
[转载]Matlab求解简支梁挠度曲线方程
6. 总结
本项目的主要难点:一是挠度计算;二是绘图程序的编写,如铰支座、载荷分布曲线、梁截面的绘制。

博文为原创,欢迎转载,转载注明出处,谢谢!
Matlab/Simulink方面的技术问题,欢迎发送邮件至944077462@qq.com讨论。

我的更多文章

下载客户端阅读体验更佳

APP专享