哈工大材料力学上机报告--绘制梁的剪力弯矩图(3)

红尘袭香 分享 2019-04-30 下载文档

同(程序所作剪力弯矩图中有断点存在,这是由于本程序绘制剪力弯矩图采用的是散点法,当剪力弯矩值有突变时程序计算的因数值不连续而产生“跳跃”现象),从剪力弯矩图上显然可以得到剪力最大值Fmax=7.5N,弯矩最大值Mz=7.5N·m,与程序相同。

5、右外伸梁计算例题

例5. 已知一右外伸梁长1.5米,右支点距右端面0.5米,在两支架中间作用一大小为P=5N,方向竖直向上的集中力,图形如下,试做出梁上的剪力和弯矩图,并求出剪力弯矩的最大、最小值及它们出现的位置。

计算结果:

图9 计算结果截图

求支反力得FA=2.5N FB=2.5N,作梁的剪力弯矩图与程序所作结果相同(程序所作剪力弯矩图中有断点存在,这是由于本程序绘制剪力弯矩图采用的是散点法,当剪力弯矩值有突变时程序计算的因数值不连续而产生“跳跃”现象),从剪力弯矩图上显然可以得到剪力最大值Fmax=2.5N,弯矩最大值Mz=1.25N·m,与程序计算结果相同。理论计算绘制图示上可以看出剪力和弯矩最大值应该在x=0.5m处取到,而程序计算的最大值分别在x=0.999m和x=0.501m取到,这是由于在程序编写过程中把梁在集中作用出分成了两段,集中力作用以左部分所有的x都小于0.5m,集中力作用以右部分所有x都大于0.5m,因而显示结果会出现与理论计算的微小差别。

6、双外伸梁计算例题

例6. 已知一双外伸梁长4米,固定铰支座距左端面1m,可动铰支座距右端面1m,在距离梁的左端0.5m处作用一大小为F=4N、方向竖直向下的集中力,两铰支座之间作用有向下的均布载荷,大小为2N/m,图形如下。试做出梁上的剪力和弯矩图,并求出剪力弯矩的最大、最小值及它们出现的位置。

计算结果:

求支反力得FA=1N FB=7N,作梁的剪力弯矩图与程序所作结果相同(程序所作剪力图中有断点存在,这是由于本程序绘制剪力弯矩图采用的是散点法,当剪力弯矩值有突变时程序计算的因数值不连续而产生“跳跃”现象),从剪力弯矩图上显然可以得到剪力最大值Fmax=4N,弯矩最大值Mz=-2N·m,与程序计算结果相同。理论计算绘制图示上可以看出剪力和弯矩最大值分别在x=0.5mx=1m处取得,与程序计算结果也相同,因而此段程序运行正确。

图10 计算结果截图

五、程序缺陷

由于本程序绘制剪力弯矩图采用的是散点法,因而在剪力或弯矩有突变时图示上会产生断点,未连接上。可以采用“line”指令,在数据有突变时直接直线连接。

六、体会与收获

在这次上机编程作业中,我虽然花费了很长时间,但是收获很多。在此过程中,我对MATLAB语言有了更加熟悉的运用,这将成为我一生的财富,MATLAB也必将成为我日后学习工作的强大工具。在看到自己做出的最终结果以及它运行时的高效、简洁,我不禁有了一丝成就感。我为能有一次这样锻炼的机会而感到幸

运,希望以后还会更多这样的机会充实自己。对于材料力学这门课程,我想也会因为这次程序的编写而记忆的更加深刻,我一定要争取多掌握一些这方面的知识,然后在工作中充分的应用进去!

当然,作为初学者,制作出的软件不免瑕疵很多,还烦请老师批评指正。但我相信,在今后的学习中,我对MATLAB的应用能力会愈加娴熟。

七、程序源代码

1.左悬臂梁的源程序

E=getappdata(BianXing_ZuoGuDingDuan,'E');

L=getappdata(BianXing_ZuoGuDingDuan,'L');

F=getappdata(BianXing_ZuoGuDingDuan,'F');

a=getappdata(BianXing_ZuoGuDingDuan,'a');

q=getappdata(BianXing_ZuoGuDingDuan,'q');

b1=getappdata(BianXing_ZuoGuDingDuan,'b1');

b2=getappdata(BianXing_ZuoGuDingDuan,'b2');

M=getappdata(BianXing_ZuoGuDingDuan,'M');

c=getappdata(BianXing_ZuoGuDingDuan,'c');

dyuan=str2double(get(handles.edit1,'String'));

Dyuanhuan=str2double(get(handles.edit2,'String'));

dyuanhuan=str2double(get(handles.edit3,'String'));

hjuxing=str2double(get(handles.edit4,'String'));

bjuxing=str2double(get(handles.edit5,'String'));

Izgongzixing=str2double(get(handles.edit6,'String'));

Iz1=pi*dyuan^4/64; Iz2=pi*(Dyuanhuan^4-dyuanhuan^4)/64;

Iz3=bjuxing*hjuxing^3/12; Iz4=Izgongzixing; Iz=Iz1+Iz2+Iz3+Iz4; x=[0:L/500:L]; leng=length(x);

xx1=round(a/L*leng); xx21=round(b1/L*leng); xx22=round(b2/L*leng); xx3=round(c/L*leng); for ii=1:leng if ii<=xx1

vx1(ii)=-F*((ii-1)*L/500)^2*(3*a-(ii-1)*L/500)/(6*E*Iz);

else

vx1(ii)=-F*a^2*(3*(ii-1)*L/500-a)/(6*E*Iz);

end end flag1=1; vx=vx1;

handles.vx=vx; handles=surfplot(handles); guidata(hObject, handles); for jj=1:leng

if abs(vx(jj))>=abs(vx(flag1)) flag1=jj; end

end yy=0*ones(1,leng); yyy2=abs(vx); yyyy2=max(yyy2); axes(handles.axes5); grid on

plot(x,yy,'LineWidth',2);

axis([0,L,-2*yyyy2,2*yyyy2]); hold on

plot(x,100000*vx,'LineWidth',2); hold on

xxx1=L/500*(flag1-1);

plot(xxx1,vx(flag1),'bo','MarkerSize',

10);

hold on

for kk=1:4:leng

plot([x(kk),x(kk)],[0,vx(kk)],'LineWidth',0.4)

end

xlabel('x/m');

ylabel('??á|Fs/N'); 2.右悬臂梁的源程序

E=10^9*str2double(get(handles.edit1,'String'));

L=str2double(get(handles.edit2,'String'));

F=str2double(get(handles.edit3,'String'));

a=str2double(get(handles.edit4,'String'));

q=str2double(get(handles.edit5,'String'));

b1=str2double(get(handles.edit6,'String'));

b2=str2double(get(handles.edit7,'String'));

M=str2double(get(handles.edit8,'String'));

c=str2double(get(handles.edit9,'String'));

x=[0:L/500:L]; FOy1=F;

MO1=FOy1*a; FOy2=q*(b2-b1);

MO2=q*(b2-b1)*(b2+b1)/2; FOy3=0; MO3=M;

leng=length(x);

xx1=round(a/L*leng); xx21=round(b1/L*leng); xx22=round(b2/L*leng); xx3=round(c/L*leng); for ii=1:leng if ii<=xx1

Fsx1(ii)=-FOy1; Mx1(ii)=FOy1*(ii-1)*L/500-MO1;

else

Fsx1(ii)=0; Mx1(ii)=0; end end

for ff=1:leng if ff<=xx21

Fsx2(ff)=-FOy2;

Mx2(ff)=FOy2*(ff-1)*L/500-MO2;

else

if ff<=xx22

Fsx2(ff)=-FOy2 + q*((ff-1)*L/500-b1);

Mx2(ff)=FOy2*(ff-1)*L/500-MO2-((ff-1)*L/500-b1)^2*q/2;

else

Fsx2(ff)=0; Mx2(ff)=0; end end end

for pp=1:leng if pp<=xx3;

Fsx3(pp)=0; Mx3(pp)=M; else

Fsx3(pp)=0; Mx3(pp)=0; end end flag1=1; flag2=1;

Fsx=Fsx3+Fsx2+Fsx1; Mx=Mx3+Mx2+Mx1; for jj=1:leng

if abs(Fsx(jj))>=abs(Fsx(flag1)) flag1=jj; end

if abs(Mx(jj))>=abs(Mx(flag2)) flag2=jj; end

end yy=0*ones(1,leng); yyy2=abs(Fsx); yyyy2=max(yyy2); yyy3=abs(Mx); yyyy3=max(yyy3); axes(handles.axes2); grid on

plot(x,yy,'LineWidth',2);

axis([0,L,-2*yyyy2,2*yyyy2]); hold on

plot(x,Fsx,'LineWidth',2); hold on

xxx1=L/500*(flag1-1);

plot(xxx1,Fsx(flag1),'bo','MarkerSize',10);

hold on

for kk=1:4:leng

plot([x(kk),x(kk)],[0,Fsx(kk)],'LineWidth',0.4)

end

xlabel('x/m');

ylabel('??á|Fs/N'); axes(handles.axes3); grid on

plot(x,yy,'LineWidth',2);

axis([0,L,-1.2*yyyy3,1.2*yyyy3]); hold on

plot(x,Mx,'LineWidth',2); hold on

xxx2=L/500*(flag2-1);

plot(xxx2,Mx(flag2),'bo','MarkerSize',10);

for ll=1:4:leng

plot([x(ll),x(ll)],[0,Mx(ll)],'LineWidth',0.4)

end

xlabel('x/m'); ylabel('í???M/N.m'); str1=num2str(yyyy2); str2=num2str(xxx1);

set(handles.edit10,'String',str1); set(handles.edit11,'String',str2); str3=num2str(yyyy3); str4=num2str(xxx2);

set(handles.edit12,'String',str3); set(handles.edit13,'String',str4); % --- Executes on button press in togglebutton2.

function

togglebutton2_Callback(hObject, eventdata, handles)

% hObject handle to togglebutton2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

close(gcf) a=gcf;

XuanZeLiangDeLeiXing

% Hint: get(hObject,'Value') returns toggle state of togglebutton2

% --- Executes on button press in togglebutton3.

function

togglebutton3_Callback(hObject, eventdata, handles)

% hObject handle to togglebutton3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

a=gcf;

BianXing_ZuoGuDingDuan

E=10^9*str2double(get(handles.edit1,'String'));

L=str2double(get(handles.edit2,'String'));

F=str2double(get(handles.edit3,'String'));

a=str2double(get(handles.edit4,'String'));

q=str2double(get(handles.edit5,'String'));

b1=str2double(get(handles.edit6,'St


哈工大材料力学上机报告--绘制梁的剪力弯矩图(3).doc 将本文的Word文档下载到电脑

下一篇:健康/医疗史问卷

相关推荐
相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7 元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xxxxxx QQ:xxxxxx