




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1第3章 MATLAB程序設(shè)計(jì)2本章目標(biāo) 掌握MATLAB的幾種基本控制轉(zhuǎn)移語句學(xué)會(huì)使用M文件進(jìn)行編程具備對(duì)復(fù)雜問題的編程求解能力3主要內(nèi)容3.1 程序設(shè)計(jì)概述3.2 MATLAB程序結(jié)構(gòu)3.3 M文件43.1 程序設(shè)計(jì)概述MATLAB是第四代編程語言程序簡(jiǎn)潔可讀性很強(qiáng)調(diào)試容易編程效率高易移植和維護(hù) 通過編程可求解復(fù)雜性更高或特殊的問題53.2 MATLAB程序結(jié)構(gòu)按照程序設(shè)計(jì)的觀點(diǎn), 任何算法功能都可以通過由程序模塊組成的三種基本程序結(jié)構(gòu)的組合來實(shí)現(xiàn): 順序結(jié)構(gòu):程序按程序語句或模塊在執(zhí)行流中的順序逐個(gè)執(zhí)行。 選擇結(jié)構(gòu):程序按設(shè)定的條件實(shí)現(xiàn)程序執(zhí)行流的多路分支。 循環(huán)結(jié)構(gòu):程序按給定的條件重
2、復(fù)地執(zhí)行指定的程序段或模塊。63.2.1順序結(jié)構(gòu)程序模塊1程序模塊2MATLAB中實(shí)現(xiàn)順序結(jié)構(gòu)的方法非常簡(jiǎn)單:只需將程序語句順序排列即可 73.2.2 選擇結(jié)構(gòu)在MATLAB中,選擇結(jié)構(gòu)由兩種語句結(jié)構(gòu)實(shí)現(xiàn):if語句switch語句條件程序模塊1成立不成立程序模塊23.2.2 選擇結(jié)構(gòu)8if語句if表達(dá)式 程序模塊1 else 程序模塊2end9if語句的兩種變形(1) 單分支if語句:只有一個(gè)分支的選擇結(jié)構(gòu) if表達(dá)式 程序模塊end(2) 多分支if語句:超過2個(gè)的選擇if表達(dá)式1 程序模塊1 elseif 表達(dá)式2 程序模塊2 elseif 表達(dá)式n 程序模塊n else 程序模塊n+1e
3、nd10例:將百分制的學(xué)生成績(jī)轉(zhuǎn)換為五級(jí)制的成績(jī)輸出clearn=input(輸入n= ); if n=90 r=Aelseif n=80 r=Belseif n=70 r=Celseif n=60 r=Delse r=Eend運(yùn)行結(jié)果:輸入n= 87r =B112.switch語句 switch 表達(dá)式 case 數(shù)值1 程序模塊1; case 數(shù)值2 程序模塊2;otherwise 程序模塊n end12例:將百分制的學(xué)生成績(jī)轉(zhuǎn)換為五級(jí)制的成績(jī)輸出使用switch語句 clearn=input(輸入n= ); switch fix(n/10) %向0靠攏取整。 case 10,9 r=A
4、case 8 r=B case 7 r=C case 6 r=D otherwise r=Eend運(yùn)行結(jié)果:輸入n= 65r =D133.2.3 循環(huán)結(jié)構(gòu)在MATLAB中,循環(huán)結(jié)構(gòu)可以由兩種語句結(jié)構(gòu)實(shí)現(xiàn):for語句循環(huán)結(jié)構(gòu)while語句循環(huán)結(jié)構(gòu)程序模塊不成立成立條件3.2.2 選擇結(jié)構(gòu)141for語句循環(huán)結(jié)構(gòu)for循環(huán)變量起始值:步長(zhǎng):終止值循環(huán)體end15例:使用for結(jié)構(gòu)計(jì)算1+2+3+100clearsum=0;for i=1:100 sum=sum+i;endsum運(yùn)行結(jié)果:sum = 5050162while語句循環(huán)結(jié)構(gòu) while表達(dá)式 循環(huán)體end17例:使用while結(jié)構(gòu)計(jì)算1
5、+2+3+100clearsum=0; i=0;while i100i=i+1;sum=sum+i;endsum運(yùn)行結(jié)果:sum = 5050183.3 M文件MATLAB工作模式命令行方式。程序文件驅(qū)動(dòng)模式 MATLAB文本編輯器 193.3.1命令文件又稱為腳本文件,是一串指令的集合。用戶只需鍵入該命令文件的文件名,系統(tǒng)就會(huì)自動(dòng)逐行執(zhí)行該文件中的各條語句。適用于小規(guī)模運(yùn)算。203.3.2函數(shù)文件函數(shù)文件基本格式:function 輸出形參列表=函數(shù)名(輸入形參列表) 注釋說明語句段 程序語句段21擴(kuò)展閱讀3.4其他流程控制語句1. break語句2. continue語句3. return
6、語句4. try語句5. echo命令6. input命令7. keyboard命令8. pause命令3.5函數(shù)與變量參數(shù)傳遞3.5.1子函數(shù)與私有函數(shù)3.5.2變量作用域3.5.3函數(shù)的參數(shù)傳遞22上機(jī)指導(dǎo)3.6 M文件的調(diào)試3.7 M文件性能分析與優(yōu)化3.7.1 M文件性能分析3.7.2 M文件性能優(yōu)化23應(yīng)用舉例求1!+2!+3!+ +5!的值clearsum=0;for i=1:5 pdr=1; for k=1:i pdr=pdr*k; end sum=sum+pdr;endsum運(yùn)行結(jié)果:sum = 15324應(yīng)用舉例雞兔同籠問題:雞和兔子關(guān)在一個(gè)籠子里,已知共有頭36個(gè),腳100
7、個(gè),求籠內(nèi)關(guān)了多少只兔子和多少只雞? clearchicken=1;while 1 if rem(100-chicken*2, 4)=0&(chicken+(100-chicken*2)/4)=36 break; end chicken=chicken+1;endchickenrabbit=(100-2*chicken)/4運(yùn)行結(jié)果:chicken = 22rabbit = 1425應(yīng)用舉例26曲柄搖桿機(jī)構(gòu)運(yùn)動(dòng)分析1、分析建立機(jī)構(gòu)的閉環(huán)矢量位置方程對(duì)于一個(gè)特定的四桿機(jī)構(gòu),已知其各構(gòu)件的長(zhǎng)度和原動(dòng)件2的運(yùn)動(dòng)規(guī)律27曲柄搖桿機(jī)構(gòu)運(yùn)動(dòng)分析角位移方程的分量形式為:閉環(huán)矢量方程分量形式對(duì)時(shí)間求一階導(dǎo)數(shù)(
8、角速度方程)為:閉環(huán)矢量方程分量形式對(duì)時(shí)間求二階導(dǎo)數(shù)(角加速度方程)矩陣形式為:28曲柄搖桿機(jī)構(gòu)運(yùn)動(dòng)分析29曲柄搖桿機(jī)構(gòu)運(yùn)動(dòng)分析30曲柄搖桿機(jī)構(gòu)運(yùn)動(dòng)分析1、四桿機(jī)構(gòu)位置求解:function t=fourbarposition(th,th2,L2,L3,L4,L1)t=L2*cos(th2)+L3*cos(th(1)-L4*cos(th(2)-L1;L2*sin(th2)+L3*sin(th(1)-L4*sin(th(2); 首先創(chuàng)建函數(shù)FoutBarPosition,函數(shù)fsolve通過他確定 。disp * * * * * * 平面四桿機(jī)構(gòu)的運(yùn)動(dòng)分析 * * * * * *L1=304.8
9、;L2=101.6;L3=254.0;L4=177.8;%給定已知量,各桿長(zhǎng)L1,L2,L3,L4th2=0:1/6:2*pi; %曲柄輸入角度從0至360度,步長(zhǎng)為pi/6th34=zeros(length(th2),2); %建立一個(gè)N行2列的零矩陣,第一列存放options=optimset(display,off);%優(yōu)化 %_3,第二列存放_(tái)331曲柄搖桿機(jī)構(gòu)運(yùn)動(dòng)分析for m=1:length(th2) %建立for循環(huán),求解_3,_4th34(m,:)=fsolve(fourbarposition,1 1, %調(diào)用fsove函數(shù)求解關(guān)于_3,_4options,th2(m),L2
10、,L3,L4,L1); %的非線性超越方程,結(jié)果保存在th34中endy=L2*sin(th2)+L3*sin(th34(:,1); %連桿3的D端點(diǎn)Y坐標(biāo)值x=L2*cos(th2)+L3*cos(th34(:,1); %連桿3的D端點(diǎn)X坐標(biāo)值xx=L2*cos(th2); %連桿3的C端點(diǎn)X坐標(biāo)值yy=L2*sin(th2); %連桿3的C端點(diǎn)Y坐標(biāo)值figure(1)plot(x;xx,y;yy,k,0 L1,0 0, %繪制連桿3的幾個(gè)位置點(diǎn)k-,x,y,ko,xx,yy,ks)title(連桿3的幾個(gè)位置點(diǎn))xlabel(水平方向)ylabel(垂直方向)axis equal%XY坐
11、標(biāo)均衡32曲柄搖桿機(jī)構(gòu)運(yùn)動(dòng)分析33曲柄搖桿機(jī)構(gòu)運(yùn)動(dòng)分析th2=0:2/72:2*pi; %重新細(xì)分曲柄輸入角度_2,步長(zhǎng)為5度th34=zeros(length(th2),2);options=optimset(display,off);for m=1:length(th2)th34(m,:)=fsolve(fourbarposition,1 1,options,th2(m),L2,L3,L4,L1);endfigure(2)plot(th2*180/pi,th34(:,1),th2*180/pi,th34(:,2)%繪制連桿3的角位移關(guān)于曲柄2的角位移圖plot(th2*180/pi,th3
12、4(:,1)*180/pi,th2*180/pi,th34(:,2)*180/pi) %繪制搖桿4的角位移關(guān)于曲柄2的角位移圖axis(0 360 0 170)%確定XY邊界值grid%圖形加網(wǎng)格2、四桿機(jī)構(gòu)角位移求解:34曲柄搖桿機(jī)構(gòu)運(yùn)動(dòng)分析xlabel(主動(dòng)件轉(zhuǎn)角theta_2(度)ylabel(從動(dòng)件角位移(度)title(角位移線圖)text(120,120,搖桿4角位移)text(150,40,連桿3角位移)35曲柄搖桿機(jī)構(gòu)運(yùn)動(dòng)分析3、四桿機(jī)構(gòu)角速度求解:w2=250; %設(shè)定曲柄角速度for i=1:length(th2)A=-L3*sin(th34(i,1) L4*sin(th3
13、4(i,2);L3*cos(th34(i,1) -L4*cos(th34(i,2);B=w2*L2*sin(th2(i); -w2*L2*cos(th2(i);w=inv(A)*B;w3(i)=w(1);w4(i)=w(2);endfigure(3)plot(th2*180/pi,w3,th2*180/pi,w4); %繪制角速度線圖axis(0 360 -175 200) text(50,160,搖桿4角速度(omega_4)text(220,130,連桿3角速度(omega_3)gridxlabel(主動(dòng)件轉(zhuǎn)角theta_2(度)ylabel(從動(dòng)件角速度(radcdot s-1)titl
14、e(角速度線圖)36曲柄搖桿機(jī)構(gòu)運(yùn)動(dòng)分析37曲柄搖桿機(jī)構(gòu)運(yùn)動(dòng)分析for i=1:length(th2)C=-L3*sin(th34(i,1) L4*sin(th34(i,2);L3*cos(th34(i,1) -L4*cos(th34(i,2);D=w22*L2*cos(th2(i)+w3(i)2*L3*cos(th34(i,1)-w4(i)2*L4*cos(th34(i,2);.w22*L2*sin(th2(i)+w3(i)2*L3*sin(th34(i,1)-w4(i)2*L4*sin(th34(i,2);a=inv(C)*D;a3(i)=a(1);a4(i)=a(2);endfigure(4)plot(th2*180/pi,a3,th2*180/pi,a4); %繪制角加速度線圖axis(0 360 -70000 65000)text(50,50000,搖桿4角加速度(alpha_4)text(220,12000,連桿3角加速度(alpha_3)gridxlabel(從動(dòng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/TS 23164:2025 EN Automation systems and integration - Core vocabulary for industrial data
- 【正版授權(quán)】 ISO 7434:2024 EN Fasteners - Slotted set screws with cone point
- 2025年度展覽場(chǎng)地租賃合同保證金與押金繳納細(xì)則
- 2025年涼果蜜餞合作協(xié)議書
- 2025年度智慧交通樞紐包工施工合同(智能交通系統(tǒng))
- 2025房地產(chǎn)股權(quán)并購項(xiàng)目盡職調(diào)查及服務(wù)合同
- 2025年度智能家居標(biāo)準(zhǔn)私房買賣合同范文
- 增強(qiáng)知識(shí)管理的主管工作計(jì)劃
- 多元化班級(jí)文化的建設(shè)方法計(jì)劃
- 客戶投訴處理流程的總結(jié)與反思計(jì)劃
- 社區(qū)健康促進(jìn)工作計(jì)劃
- 2025年度移動(dòng)端SEO服務(wù)及用戶體驗(yàn)優(yōu)化合同
- 中小學(xué)《清明節(jié)活動(dòng)方案》班會(huì)課件
- 中央2025年交通運(yùn)輸部所屬事業(yè)單位招聘261人筆試歷年參考題庫附帶答案詳解
- 2025年上半年上半年重慶三峽融資擔(dān)保集團(tuán)股份限公司招聘6人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 特殊教育學(xué)校2024-2025學(xué)年度第二學(xué)期教學(xué)工作計(jì)劃
- 2025年技術(shù)員個(gè)人工作計(jì)劃例文(四篇)
- 【公開課】同一直線上二力的合成+課件+2024-2025學(xué)年+人教版(2024)初中物理八年級(jí)下冊(cè)+
- 人教鄂教版六年級(jí)下冊(cè)科學(xué)全冊(cè)知識(shí)點(diǎn)
- 急救藥品課件教學(xué)課件
- 鄭州市地圖含區(qū)縣可編輯可填充動(dòng)畫演示矢量分層地圖課件模板
評(píng)論
0/150
提交評(píng)論