哈工大材料力學(xué)上機報告--繪制梁的剪力彎矩圖_第1頁
哈工大材料力學(xué)上機報告--繪制梁的剪力彎矩圖_第2頁
哈工大材料力學(xué)上機報告--繪制梁的剪力彎矩圖_第3頁
哈工大材料力學(xué)上機報告--繪制梁的剪力彎矩圖_第4頁
哈工大材料力學(xué)上機報告--繪制梁的剪力彎矩圖_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Harbin Institute of Technology材料力學(xué)上機作業(yè)課程名稱: 材料力學(xué) 設(shè)計題目: 繪制梁的剪力彎矩圖 院 系: 機電工程學(xué)院 班 級: 分 析 者: 學(xué) 號: 指導(dǎo)教師: 張桂蓮 設(shè)計時間: 2014.6.3 哈爾濱工業(yè)大學(xué)一、設(shè)計題目題目4 繪制梁的剪力彎矩圖輸入:1.梁的總長度l2.支撐條件及量的各區(qū)段長度輸入(左、右固定端懸臂梁;簡支梁;左、右、雙外伸梁)3.各載荷大小、作用位置及方向(qi、ai、bi;pj、cj、mk、dk)輸出:1. 結(jié)構(gòu)構(gòu)型圖(圖示)2. 剪力、彎矩(圖示)3. 輸出剪力、彎矩的最大值及截面位置。二、程序介紹1、簡介本程序編譯平臺為MA

2、TLAB,能夠?qū)αN梁(左固定端懸臂梁、右固定端懸臂梁、簡支梁、左外伸梁、右外伸梁、雙外伸梁)在集中載荷、均布載荷及彎矩作用下的剪力、彎矩進(jìn)行求解并繪制剪力、彎矩圖。本程序基于MATLAB的圖形用戶界面(GUI)功能,操作簡單、運算穩(wěn)定、界面簡約美觀,有良好的交互性。2、程序使用方法 此程序運行環(huán)境為安裝有MATLAB R2011a或以上版本的計算機。要運行此程序,首先打開MATLAB,在其中打開“KaiShiJieMian.m”文件,在函數(shù)編輯窗口里點擊運行按鈕(或按F5鍵),程序便開始啟動。啟動畫面如下:圖1 啟動界面 點擊“進(jìn)入”即可進(jìn)入選擇梁的類型界面,在此界面中,使用者根據(jù)實際情況選

3、擇要研究的梁的類型,點擊即可進(jìn)入相應(yīng)梁的計算界面。例如想要計算雙外伸梁,則點擊“6、雙外伸梁”即可進(jìn)入計算界面,若想返回開始界面,則點擊“返回開始界面”即可。圖2 梁的選擇界面圖3 梁的計算界面 此程序可以計算梁在集中力、均布力和集中力偶的作用下梁的剪力和彎矩,并求出剪力的最大值和彎矩的最大值。以雙外伸梁為例,對照左側(cè)參數(shù)輸入提示,在相應(yīng)文本框里輸入梁的基本參數(shù),如彈性模量E、長度L,和載荷大小及位置,如均布力q、均布力起始位置b1、結(jié)束位置b2。輸入完畢后點擊“計算”按鈕,在作圖框內(nèi)便顯示出梁的剪力和彎矩圖和最大值點,在結(jié)果文本框內(nèi)便得出相應(yīng)最大值和最大值所在位置。若要改變參數(shù),先點擊“清除

4、”按鈕,使做圖框和結(jié)果文本框初始化,再更改相應(yīng)參數(shù),再次點擊“計算”。三、程序設(shè)計過程 以左固定端懸臂梁為例,首先選取坐標(biāo)系,確定載荷大小、類型和位置坐標(biāo),然后分別計算單個載荷所對應(yīng)的支反力和力矩,用公式計算位置x處對應(yīng)的剪力和彎矩值,最后把各個載荷產(chǎn)生的在位置x處的剪力和彎矩值相加,便得出總的剪力和彎矩值。要注意的是,集中力和均布力取向下為正,外力偶取逆時針為正。所用公式如下:圖4 左固定端懸臂梁計算示意圖 設(shè)F產(chǎn)生的支反力為FOy1,力偶為MO1,對應(yīng)的剪力為Fsx1,彎矩為Mx1;q產(chǎn)生的支反力為FOy2,力偶為MO2,對應(yīng)的剪力為Fsx2,彎矩為Mx2;M產(chǎn)生的支反力為FOy3,力偶為

5、MO3,對應(yīng)的剪力為Fsx3,彎矩為Mx3。則:FOy1=F;MO1=FOy1*a;FOy2=q*(b2-b1);MO2=q*(b2-b1)*(b2+b1)/2;FOy3=0;MO3=M;對于F: 當(dāng)x<=a時, Fsx1=-FOy1; Mx1=FOy1*x-MO1; 當(dāng)a<x<=L時 Fsx1=0; Mx1=0;對于q: 當(dāng)x<=b1時 Fsx2=-FOy2; Mx2=FOy2*x-MO2; 當(dāng)b1<x<=b2時 Fsx2=-FOy2 + q*(x-b1); Mx2(ff)=FOy2*x-MO2-(x-b1)2*q/2; 當(dāng)b2<x<=L時 F

6、sx2=0; Mx2=0;對于M: 當(dāng)x<=c時 Fsx3=0; Mx3=M; 當(dāng)c<x<=L時 Fsx3=0; Mx3=0;最后,設(shè)合剪力為Fsx,合彎矩為Mx,則:Fsx=Fsx1+Fsx2+Fsx3;Mx=Mx1+Mx2+Mx3;對應(yīng)程序如下所示:E=109*str2double(get(handles.edit1,'String');L=str2double(get(handles.edit2,'String');F=str2double(get(handles.edit3,'String');a=str2double(

7、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=

8、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; endend for ff=1:leng if ff<=xx

9、21 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 endendfor pp=1:leng if pp<=xx3; Fsx3(pp)=0; Mx3(pp)=M; else Fsx3(pp)=0; Mx3(pp)=0; endendflag1=1;flag2=1;

10、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; endend yy=0*ones(1,leng);yyy2=abs(Fsx);yyyy2=max(yyy2);yyy3=abs(Mx);yyyy3=max(yyy3);axes(handles.axes2);grid onplot(x,yy,'LineWidth',2);axis(0,L,-2*yyyy2,

11、2*yyyy2);hold onplot(x,Fsx,'LineWidth',2);hold onxxx1=L/500*(flag1-1);plot(xxx1,Fsx(flag1),'bo','MarkerSize',10);hold onfor kk=1:4:leng plot(x(kk),x(kk),0,Fsx(kk),'LineWidth',0.4)endxlabel('x/m');ylabel('¼ôÁ¦Fs/N');axes(handles.axes

12、3);grid onplot(x,yy,'LineWidth',2);axis(0,L,-1.2*yyyy3,1.2*yyyy3);hold onplot(x,Mx,'LineWidth',2);hold onxxx2=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)endstr1=num2str(yyyy2);str2=num2st

13、r(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);從程序文本框中輸入?yún)?shù)值,輸入完畢后點擊“計算”按鈕,在作圖框內(nèi)便顯示出梁的剪力和彎矩圖和最大值點,在結(jié)果文本框內(nèi)便得出相應(yīng)最大值和最大值所在位置。 其他梁的程序設(shè)計過程

14、也如此,這里不再敘述四、程序算例下面給出各個梁的算例。1、左固定端懸臂梁計算例題例1.有一左固定端懸臂梁長l=4m,在梁中間作用有集中力P=4N,梁右端作用有集中力偶m=5N·m,左端作用均布載荷,載荷集度q=2N/m,作用圖示如下。請作出梁的剪力彎矩圖,并求出剪力彎矩的最大值與其出現(xiàn)位置。計算結(jié)果:圖5 計算結(jié)果截圖 根據(jù)題意可得FA=8N,MB=7N·m,將梁分為AC、BC段進(jìn)行分析,即可作出梁的剪力、彎矩圖,所作圖形與程序所作結(jié)果相同。從剪力、彎矩圖上顯然可以看出剪力最大值Fmax=8N,彎矩最大值Mz=7N·m,均與程序相同,故此段程序編寫正確。2、右固定

15、端懸臂梁計算例題例2.有一右固定端懸臂梁長l=2m,在梁中間作用有集中力F=5N,梁右端作用豎直向下的集中力P,大小為5N,在梁的0.5m到1.5m作用有均布載荷,載荷集度為q=2N/m,梁左端作用有順時針集中力偶m=10N·m,作用圖示如下。請作出梁的剪力彎矩圖,并求出剪力彎矩的最大值與其出現(xiàn)位置。計算結(jié)果: 根據(jù)題意可得FB=7N,MA=5N·m,將梁分為AD、DC、CE、EB段進(jìn)行分析即可作出梁的剪力彎矩圖,所作圖形與程序結(jié)果相同。從剪力、彎矩圖上顯然可以看出剪力最大值Fmax=7N(出現(xiàn)在EB段,本段程序顯示結(jié)果在E截面處),彎矩最大值Mz=5N·m(出現(xiàn)

16、在AD段,本段程序顯示結(jié)果在A截面處),均與程序相同,故此段程序編寫正確。圖6 計算結(jié)果截圖3、簡支梁計算例題例3. 已知一橫梁長l=4m,兩端鉸支?,F(xiàn)在x=2m處作用一大小為4N、方向豎直向下的集中力,并且在整根梁上作用有豎直向下的均布載荷,大小為q=2N/m,作用示意圖如下。試做出梁上的剪力和彎矩圖,并求出剪力彎矩的最大、最小值及它們出現(xiàn)的位置。計算結(jié)果: 求支反力得FA=6N,F(xiàn)B=6N,作梁的剪力彎矩圖與程序所作結(jié)果相同,從剪力彎矩圖上顯然可以得到剪力最大值Fmax=6N,彎矩最大值Mz=8N·m,與程序相同。理論計算繪制圖示上可以看出剪力最大值在梁的左右兩端點處取到(x=0

17、和x=4m處),程序中只顯示了一個(x=4m處)。圖7 計算結(jié)果截圖4、左外伸梁計算例題例4. 已知一左外伸梁長3m,可動鉸支座距左端面1m,在x=2m處作用一大小為P=10N,方向豎直向下的集中力,圖形如下。試做出梁上的剪力和彎矩圖,并求出剪力彎矩的最大、最小值及它們出現(xiàn)的位置。計算結(jié)果:圖8 計算結(jié)果截圖 求支反力得FA=2.5N FB=7.5N,作梁的剪力彎矩圖與程序所作結(jié)果基本相同(程序所作剪力彎矩圖中有斷點存在,這是由于本程序繪制剪力彎矩圖采用的是散點法,當(dāng)剪力彎矩值有突變時程序計算的因數(shù)值不連續(xù)而產(chǎn)生“跳躍”現(xiàn)象),從剪力彎矩圖上顯然可以得到剪力最大值Fmax=7.5N,彎矩最大值

18、Mz=7.5N·m,與程序相同。5、右外伸梁計算例題例5. 已知一右外伸梁長1.5米,右支點距右端面0.5米,在兩支架中間作用一大小為P=5N,方向豎直向上的集中力,圖形如下,試做出梁上的剪力和彎矩圖,并求出剪力彎矩的最大、最小值及它們出現(xiàn)的位置。計算結(jié)果:圖9 計算結(jié)果截圖 求支反力得FA=2.5N FB=2.5N,作梁的剪力彎矩圖與程序所作結(jié)果相同(程序所作剪力彎矩圖中有斷點存在,這是由于本程序繪制剪力彎矩圖采用的是散點法,當(dāng)剪力彎矩值有突變時程序計算的因數(shù)值不連續(xù)而產(chǎn)生“跳躍”現(xiàn)象),從剪力彎矩圖上顯然可以得到剪力最大值Fmax=2.5N,彎矩最大值Mz=1.25N·

19、m,與程序計算結(jié)果相同。理論計算繪制圖示上可以看出剪力和彎矩最大值應(yīng)該在x=0.5m處取到,而程序計算的最大值分別在x=0.999m和x=0.501m取到,這是由于在程序編寫過程中把梁在集中作用出分成了兩段,集中力作用以左部分所有的x都小于0.5m,集中力作用以右部分所有x都大于0.5m,因而顯示結(jié)果會出現(xiàn)與理論計算的微小差別。6、雙外伸梁計算例題例6. 已知一雙外伸梁長4米,固定鉸支座距左端面1m,可動鉸支座距右端面1m,在距離梁的左端0.5m處作用一大小為F=4N、方向豎直向下的集中力,兩鉸支座之間作用有向下的均布載荷,大小為2N/m,圖形如下。試做出梁上的剪力和彎矩圖,并求出剪力彎矩的最

20、大、最小值及它們出現(xiàn)的位置。計算結(jié)果: 求支反力得FA=1N FB=7N,作梁的剪力彎矩圖與程序所作結(jié)果相同(程序所作剪力圖中有斷點存在,這是由于本程序繪制剪力彎矩圖采用的是散點法,當(dāng)剪力彎矩值有突變時程序計算的因數(shù)值不連續(xù)而產(chǎn)生“跳躍”現(xiàn)象),從剪力彎矩圖上顯然可以得到剪力最大值Fmax=4N,彎矩最大值Mz=-2N·m,與程序計算結(jié)果相同。理論計算繪制圖示上可以看出剪力和彎矩最大值分別在x=0.5mx=1m處取得,與程序計算結(jié)果也相同,因而此段程序運行正確。圖10 計算結(jié)果截圖五、程序缺陷 由于本程序繪制剪力彎矩圖采用的是散點法,因而在剪力或彎矩有突變時圖示上會產(chǎn)生斷點,未連接上

21、??梢圆捎谩發(fā)ine”指令,在數(shù)據(jù)有突變時直接直線連接。六、體會與收獲在這次上機編程作業(yè)中,我雖然花費了很長時間,但是收獲很多。在此過程中,我對MATLAB語言有了更加熟悉的運用,這將成為我一生的財富,MATLAB也必將成為我日后學(xué)習(xí)工作的強大工具。在看到自己做出的最終結(jié)果以及它運行時的高效、簡潔,我不禁有了一絲成就感。我為能有一次這樣鍛煉的機會而感到幸運,希望以后還會更多這樣的機會充實自己。對于材料力學(xué)這門課程,我想也會因為這次程序的編寫而記憶的更加深刻,我一定要爭取多掌握一些這方面的知識,然后在工作中充分的應(yīng)用進(jìn)去!當(dāng)然,作為初學(xué)者,制作出的軟件不免瑕疵很多,還煩請老師批評指正。但我相信,

22、在今后的學(xué)習(xí)中,我對MATLAB的應(yīng)用能力會愈加嫻熟。七、程序源代碼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=getappda

23、ta(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');d

24、yuanhuan=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*dyuan4/64;Iz2=pi*(Dyuanhuan4-dyuanhuan4)/64;Iz3=bjuxing*hjuxing3/12

25、;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*a2*(3*(ii-1)*L/500-a)/(6*E*Iz); endendflag1=1;vx=vx1;

26、handles.vx=vx; handles=surfplot(handles); guidata(hObject, handles); for jj=1:leng if abs(vx(jj)>=abs(vx(flag1) flag1=jj; endend yy=0*ones(1,leng);yyy2=abs(vx);yyyy2=max(yyy2);axes(handles.axes5);grid onplot(x,yy,'LineWidth',2);axis(0,L,-2*yyyy2,2*yyyy2);hold onplot(x,100000*vx,'LineW

27、idth',2);hold onxxx1=L/500*(flag1-1);plot(xxx1,vx(flag1),'bo','MarkerSize',10);hold onfor kk=1:4:leng plot(x(kk),x(kk),0,vx(kk),'LineWidth',0.4)endxlabel('x/m');ylabel('¼ôÁ¦Fs/N');2.右懸臂梁的源程序E=109*str2double(get(handles.edit1,'String

28、');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'

29、;);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 i

30、i<=xx1 Fsx1(ii)=-FOy1; Mx1(ii)=FOy1*(ii-1)*L/500-MO1; else Fsx1(ii)=0; Mx1(ii)=0; endend 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(f

31、f)=0; end endendfor pp=1:leng if pp<=xx3; Fsx3(pp)=0; Mx3(pp)=M; else Fsx3(pp)=0; Mx3(pp)=0; endendflag1=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; endend yy=0*ones(1,leng);yyy2=abs(Fsx);yyyy2

32、=max(yyy2);yyy3=abs(Mx);yyyy3=max(yyy3);axes(handles.axes2);grid onplot(x,yy,'LineWidth',2);axis(0,L,-2*yyyy2,2*yyyy2);hold onplot(x,Fsx,'LineWidth',2);hold onxxx1=L/500*(flag1-1);plot(xxx1,Fsx(flag1),'bo','MarkerSize',10);hold onfor kk=1:4:leng plot(x(kk),x(kk),0,Fsx

33、(kk),'LineWidth',0.4)endxlabel('x/m');ylabel('¼ôÁ¦Fs/N');axes(handles.axes3);grid onplot(x,yy,'LineWidth',2);axis(0,L,-1.2*yyyy3,1.2*yyyy3);hold onplot(x,Mx,'LineWidth',2);hold onxxx2=L/500*(flag2-1);plot(xxx2,Mx(flag2),'bo','Ma

34、rkerSize',10);for ll=1:4:leng plot(x(ll),x(ll),0,Mx(ll),'LineWidth',0.4)endxlabel('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);

35、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 futur

36、e 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)% hOb

37、ject 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_ZuoGuDingDuanE=109*str2double(get(handles.edit1,'String');L=str2double(get(handles.edit2,'String');F=str

38、2double(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=str2dou

39、ble(get(handles.edit9,'String');setappdata(BianXing_ZuoGuDingDuan,'E',E);setappdata(BianXing_ZuoGuDingDuan,'L',L);setappdata(BianXing_ZuoGuDingDuan,'F',F);setappdata(BianXing_ZuoGuDingDuan,'a',a);setappdata(BianXing_ZuoGuDingDuan,'q',q);setappdata(Bian

40、Xing_ZuoGuDingDuan,'b1',b1);setappdata(BianXing_ZuoGuDingDuan,'b2',b2);setappdata(BianXing_ZuoGuDingDuan,'M',M);setappdata(BianXing_ZuoGuDingDuan,'c',c); % Hint: get(hObject,'Value') returns toggle state of togglebutton3% - Executes on button press in togglebu

41、tton5.function togglebutton5_Callback(hObject, eventdata, handles)% hObject handle to togglebutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)axes(handles.axes2);cla;axes(handles.axes3);cla;str1=num2str(0);

42、str2=num2str(0);set(handles.edit10,'String',str1);set(handles.edit11,'String',str2);str3=num2str(0);str4=num2str(0);set(handles.edit12,'String',str3);set(handles.edit13,'String',str4);3.簡支梁的源程序E=109*str2double(get(handles.edit1,'String');L=str2double(get(handl

43、es.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.e

44、dit8,'String');c=str2double(get(handles.edit9,'String');x=0:L/500:L;FAy1=F-F*a/L;FBy1=F*a/L;FBy2=q*(b2-b1)*(b2+b1)/(2*L);FAy2=q*(b2-b1)-FBy2;FAy3=M/L;FBy3=M/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<=xx

45、1 Fsx1(ii)=-FAy1; Mx1(ii)=FAy1*(ii-1)*L/500; else Fsx1(ii)=FBy1; Mx1(ii)=FBy1*(L-(ii-1)*L/500); endend for ff=1:leng if ff<=xx21 Fsx2(ff)=-FAy2; Mx2(ff)=FAy2*(ff-1)*L/500; else if ff<=xx22 Fsx2(ff)=q*(ff-1)*L/500-b1)-FAy2; Mx2(ff)=FAy2*(ff-1)*L/500-(ff-1)*L/500-b1)2*q/2; else Fsx2(ff)=FBy2; Mx

46、2(ff)=FBy2*(L-(ff-1)*L/500); end endendfor pp=1:leng if pp<=xx3 Fsx3(pp)=-FAy3; Mx3(pp)=FAy3*(pp-1)*L/500; else Fsx3(pp)=-FBy3; Mx3(pp)=-FBy3*(L-(pp-1)*L/500); endend flag1=1;flag2=1;Fsx=Fsx1+Fsx2+Fsx3;Mx=Mx1+Mx2+Mx3;for jj=1:leng if abs(Fsx(jj)>=abs(Fsx(flag1) flag1=jj; end if abs(Mx(jj)>=

47、abs(Mx(flag2) flag2=jj; endend yy=0*ones(1,leng);yyy2=abs(Fsx);yyyy2=max(yyy2);yyy3=abs(Mx);yyyy3=max(yyy3);axes(handles.axes2);grid onplot(x,yy,'LineWidth',2);axis(0,L,-1.2*yyyy2,1.2*yyyy2);hold onplot(x,Fsx,'LineWidth',2);hold onxxx1=L/500*(flag1-1);plot(xxx1,Fsx(flag1),'bo'

48、;,'MarkerSize',10);hold onfor kk=1:4:leng plot(x(kk),x(kk),0,Fsx(kk),'LineWidth',0.4)endxlabel('x/m');ylabel('¼ôÁ¦Fs/N');axes(handles.axes4);grid onplot(x,yy,'LineWidth',2);axis(0,L,-1.2*yyyy3,1.2*yyyy3);hold onplot(x,Mx,'LineWidth'

49、,2);hold onxxx2=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)endxlabel('x/m');ylabel('Íä¾ØM/N.m');str1=num2str(yyyy2);str2=num2str(xxx1);set(handles.edit10,'String&#

50、39;,str1);set(handles.edit11,'String',str2);str3=num2str(yyyy3);str4=num2str(xxx2);set(handles.edit14,'String',str3);set(handles.edit15,'String',str4);4.左外伸梁的源程序E=109*str2double(get(handles.edit1,'String');L=str2double(get(handles.edit2,'String');F=str2double(

51、get(handles.edit4,'String');a=-str2double(get(handles.edit5,'String');q=str2double(get(handles.edit6,'String');b1=-str2double(get(handles.edit7,'String');b2=-str2double(get(handles.edit8,'String');M=str2double(get(handles.edit9,'String');c=-str2double(

52、get(handles.edit10,'String');d=-str2double(get(handles.edit3,'String');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);xx4=round(-d/L*leng);if -a<=-d FBy1=F*a/d; FAy1=F-FBy1; for ii=1:leng if ii<=xx1 Fsx1(ii)=-FAy1; Mx1(ii)=FAy1*(ii-1)*L/500; else if ii<=xx4 Fsx1(ii)=FBy1; Mx1(ii)=F

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論