版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Matlab在物理中的應(yīng)用-案例研究Matlab及其應(yīng)用1Matlab的學(xué)習(xí)方法必須做大量的練習(xí),熟悉其中的函數(shù)聯(lián)系和自己的課題相關(guān),深刻的體會(huì)多看幫助文件,又一本好的參考書記住:Matlab可以做很多事情2一、Matlab概述MATLAB是美國(guó)Mathworks公司推出的一套高性能的數(shù)值分析和計(jì)算軟件。最初的目的是為了解決矩陣的運(yùn)算問(wèn)題而開(kāi)發(fā)的,經(jīng)過(guò)不斷完善,已成為將矩陣運(yùn)算、數(shù)值分析、圖形處理、編程技術(shù)結(jié)合在一起的功能強(qiáng)大的工具。它的優(yōu)點(diǎn)在于快速開(kāi)發(fā)計(jì)算方法,而不在于計(jì)算速度。31.1Matlab的出現(xiàn)
70年代中期,CleveMoler和他的同事開(kāi)發(fā)了LINPACK和EISPACK的Fortran子程序庫(kù)
70年代末期,CleveMoler在新墨西哥大學(xué)給學(xué)生開(kāi)線性代數(shù),為學(xué)生編寫了接口程序,這程序取名為MATLAB,即MATrixLABoratory1983年春天,工程師JohnLittle與Moler、SteveBangert一起開(kāi)發(fā)了第二代專業(yè)版MATLAB1984年,MathWorks公司成立,MATLAB正是推向市場(chǎng)。41.2
Matlab的版本演化Matlab1.0Pcmatlab->matlab386Matlab3.5+simulinkMatlab4.0:simlink內(nèi)嵌Matlab5.0:全面的面向?qū)ο驧atlab5.1~5.3Matlab6.0Matlab6.5:購(gòu)并了MATRIXxMatlab7.0:200451.3Matlab的特點(diǎn)1高效方便的矩陣和數(shù)組運(yùn)算2編程效率高(庫(kù)函數(shù)非常豐富)3結(jié)構(gòu)化、面向?qū)ο?方便的繪圖工具5用戶使用方便6功能強(qiáng)大的工具箱(核心部分中有數(shù)百個(gè)核心內(nèi)部函數(shù))總之,Matlab在信號(hào)處理、建模、系統(tǒng)識(shí)別、控制、優(yōu)化等領(lǐng)域的問(wèn)題處理上優(yōu)勢(shì)明顯于其它高級(jí)語(yǔ)言。61.4
解決物理問(wèn)題常用的軟件Mathmatica數(shù)學(xué)計(jì)算功能。復(fù)雜符號(hào)計(jì)算,主要在理論界MAGIC電磁粒子仿真軟件仿真軟件:HFSS、CST等等7二、MATLAB基礎(chǔ)使用2.1MATLAB操作界面簡(jiǎn)介操作桌面的缺省外貌與先前版本相比,6.x版引入大量的交互工作界面,如通用操作界面、幫助界面、演示界面等指令窗、歷史指令窗、工作空間瀏覽器和只有窗名的當(dāng)前目錄窗“開(kāi)始”按鈕(matlab6.5版本新加)通用操作界面除以上交互界面外,還有8大家有疑問(wèn)的,可以詢問(wèn)和交流可以互相討論下,但要小聲點(diǎn)9大家有疑問(wèn)的,可以詢問(wèn)和交流可以互相討論下,但要小聲點(diǎn)10通用交互界面介紹內(nèi)存數(shù)組編輯器(ArrayEditor)在工作空間瀏覽器中對(duì)變量操作時(shí)才啟動(dòng)交互界面分類目錄窗(LauchPad)??烧归_(kāi)成樹(shù)狀結(jié)構(gòu),列著所有交互界面。M文件編輯/調(diào)試器(Editor/Debugger)當(dāng)進(jìn)行“打開(kāi)文件”操作時(shí)才啟動(dòng)。幫助導(dǎo)航/瀏覽器(Helpavigator/Browser)
詳盡展示由超文本寫成的在線幫助。112.2Matlab命令的兩種執(zhí)行方式一.交互式的命令執(zhí)行方式用戶在命令窗口逐條輸入命令,matlab逐條執(zhí)行,這種方式操作簡(jiǎn)單直觀,但速度慢,中間過(guò)程無(wú)法保留。通用操作界面二.M命令文件的程序設(shè)計(jì)方式將有關(guān)命令編成程序存儲(chǔ)在一個(gè)文件(擴(kuò)展名為.m)中,matlab自動(dòng)依次執(zhí)行,可調(diào)試復(fù)雜的程序(調(diào)試時(shí)只顯示第一個(gè)錯(cuò)誤),是實(shí)際應(yīng)用中主要的執(zhí)行方式122.3幫助的使用
MATLAB中有以下幾種方法獲得幫助:幫助命令、幫助窗口、MATLAB幫助臺(tái)、在線幫助頁(yè)或用Web菜單直接鏈接到MathWorks公司的主頁(yè)。13怎樣獲得詳盡的幫助信息首先是MATLAB窗口中的help命令,它最常用、最快,往往也是最有效的。給出關(guān)鍵字就能找到相應(yīng)的說(shuō)明。Help命令簡(jiǎn)單易用,但是它要求準(zhǔn)確給出關(guān)鍵字,如果記憶不準(zhǔn),就很難找到。這時(shí)就應(yīng)該用第二種方案。HelpDesk:這是MATLAB的HTML格式的幫助文檔,有著很好的組織。可以在命令行鍵入helpdesk,進(jìn)入“MatlabHelpDesk”。HelpDesk的搜索可以使用不完全關(guān)鍵字,這樣即使遇到記憶模糊的情況也可以很快查到。前面兩種方法所得到的幫助信息常常是不夠細(xì)致的,需要用第三種途徑來(lái)補(bǔ)充,這就是電子版的使用手冊(cè)。MATLAB里包含了大量關(guān)于MATLAB安裝、使用、編程以及各種工具箱等的電子版手冊(cè),全部為PDF格式,具有搜索功能,因此也可以在指定的手冊(cè)中搜索關(guān)鍵字,使用非常方便。142.4Matlab變量變量要求變量名、函數(shù)名區(qū)分字母的大小寫。如SIN、Sin與sin是不同的對(duì)6.5以前的版本,變量名字符不超過(guò)31個(gè),對(duì)6.5版本,變量名最多可包含63個(gè)字符。超出長(zhǎng)度的字符被忽略變量必須以字母開(kāi)頭,之后可以是任意字母、數(shù)字或者下滑線,但不能是空格和標(biāo)點(diǎn)Matlab不支持漢字,漢字不能出現(xiàn)在變量名和文件名中15
特殊變量162.5
復(fù)數(shù)不需要特殊的處理。復(fù)數(shù)可以表示為:>>a=10-9i>>a=10-9ji=j=sqrt(-1)注意下面的例子中的表達(dá)式
>>a4=5+sin(.5)*i如果把sin(.5)*i中的*去掉,就會(huì)出錯(cuò),sin(.5)i對(duì)MATLAB是無(wú)意義的,直接以字符i和j結(jié)尾,只適用于簡(jiǎn)單數(shù)值,不適用于表達(dá)式。
復(fù)數(shù)運(yùn)算不需要特殊處理,可以直接進(jìn)行。另外real(z),imag(z),abs(z)和angle(z)等17三、MATLAB的數(shù)組(矩陣)及其運(yùn)算3.1數(shù)組(矩陣)的創(chuàng)建
1.直接輸入法整個(gè)輸入數(shù)組必須以方括號(hào)“[]”為其首尾數(shù)組的行與行之間必須用”;”或者【Enter】隔離數(shù)組元素必須由逗號(hào)”,”或空格分隔2.一維數(shù)組的冒號(hào)生成法x=a:inc:ba是數(shù)組的第一個(gè)元素,inc是間隔,b是最后一個(gè)元素a,inc,b之間的冒號(hào)須在英文狀態(tài)下輸入。中文中的冒號(hào)將導(dǎo)致matlab出錯(cuò)。inc缺省值為1,可以取正數(shù)或負(fù)數(shù)。18語(yǔ)句生成矩陣3.linspace命令a=linspace(1,10,5);4.logspace命令b=logspace(0,2,10)5.矩陣連接c=[ab];6.數(shù)組生成函數(shù)
zerosoneseyerandrandn193.2矩陣運(yùn)算矩陣的轉(zhuǎn)置用符號(hào)’來(lái)表示和實(shí)現(xiàn)非共軛轉(zhuǎn)置.’矩陣的四則運(yùn)算+-*/\點(diǎn)乘:.*右除:./左除:.\矩陣的乘方^矩陣乘方.^元素對(duì)元素的乘方20多項(xiàng)式及其運(yùn)算MATLAB約定n次多項(xiàng)式用一個(gè)長(zhǎng)度為n+1的系數(shù)行向量來(lái)表示,按降冪來(lái)排列,缺少的冪次系數(shù)為0,及多項(xiàng)式
在MATLAB可以表示為例如:已知可以表示為[2,-1,0,3]21在命令窗口中輸入:>>p=[2,-1,0,3];>>x=2;polyval(p,x)Ans=15>>x=[-1,2;-2,1];polyval(p,x)Ans=015-17422>>roots(x)Ans=0.7500+0.9682i0.7500-0.9682i-1.000023符號(hào)變量MATLAB具有數(shù)值和符號(hào)雙重計(jì)算能力創(chuàng)建符號(hào)變量和表達(dá)式的基本指令:sym、syms.一般調(diào)用公式a=sym(‘x’),x可以是字符、字符串、表達(dá)式或字符表達(dá)式。y=sym(‘4*sin(x)*cos(x)’)y=4*sin(x)*cos(x)y=simple(y)y=2*sin(2*x)24四、流程控制為了便于應(yīng)用,MATLAB提供了一些流程控制的命令。這些命令對(duì)腳本編寫帶來(lái)了一些方便,但是需要注意的是,盡量不要使用這些流程控制命令,尤其是循環(huán)控制命令。1for循環(huán)for循環(huán)允許一組命令以固定的次數(shù)重復(fù),它的一般形式是forx=arraycommandendfor和end之間的命令串按數(shù)組array的每一列執(zhí)行一次,直到n次后終止。251For循環(huán)應(yīng)當(dāng)注意的一些方面for循環(huán)不能使用內(nèi)部重新賦值循環(huán)變量而終止;for循環(huán)內(nèi)部接受任何有效的MATLAB數(shù)組;for循環(huán)可以嵌套;只要有矩陣形式可以解決的問(wèn)題,不要使用for循環(huán)。使用for循環(huán)的算法執(zhí)行很慢,一個(gè)好的MATLAB算法部應(yīng)當(dāng)出現(xiàn)循環(huán)語(yǔ)句。循環(huán)可以使用break跳出,但只跳出所在的循環(huán),不跳出整個(gè)嵌套結(jié)構(gòu)。262while循環(huán)與for循環(huán)以固定的次數(shù)求一組指令相反,while循環(huán)以不定的次數(shù)求一組語(yǔ)句的值。While循環(huán)的一般形式為:whileexpressioncommondsend只要表達(dá)式expression里的所有元素為真,就執(zhí)行命令串commands。通常表達(dá)式求值給一個(gè)標(biāo)量值,單數(shù)組值也同樣有效。273if-else-end結(jié)構(gòu)很多情況下,命令的序列必須根據(jù)關(guān)系的檢驗(yàn)有條件的執(zhí)行,它由if-else-end結(jié)構(gòu)提供。它的結(jié)構(gòu)如下:ifexpression1commands1elseifexpression2commands2elseif…
…elseifcommandsend28五、數(shù)據(jù)的可視化二維圖形
在二維曲線的繪制命令中,最重要、最基本的命令時(shí)plot,其他許多特殊繪圖命令都以它為基礎(chǔ)形成。
1plot(x,’s’)x為實(shí)向量時(shí),以該向量元素的下標(biāo)為橫坐標(biāo)、元素值為縱坐標(biāo)畫出一條連續(xù)曲線。X為實(shí)矩陣時(shí),則按列繪制每列元素值相對(duì)其下標(biāo)的曲線,圖中曲線數(shù)等于X陣列數(shù)。s用來(lái)指定線型。292plot(x,y,’s’)x,y為同維向量時(shí),繪制以x、y元素為橫、縱坐標(biāo)的曲線。3plot(x1,y1,’s1’,x2,y2,’s2’,…)
在此格式中,每個(gè)繪線“三元組”(x,y,’s’)的結(jié)構(gòu)和作用,與plot(x,y,’s’)相同,不同的三元組之間沒(méi)有約束。30線型和標(biāo)記
Plot命令中,在每一對(duì)數(shù)組數(shù)據(jù)后面,給plot一個(gè)附加參量,就可以指定所要的顏色和線型。
>>plot(x,y,’rd’,x,z,’k--’,x,y,’b-.’,x,z,’co’)b藍(lán)色,c青色,g綠色,k黑色,m紫紅色,r紅色,w白色,y黃色加格線和標(biāo)注,gridon命令在當(dāng)前圖形的單位標(biāo)記處加格線。gridoff命令取消格線。用text命令可以在圖形的任意指定位置增加標(biāo)記和其他文本信息,格式是text(x,y,’string’).31>>plot(x,y,x,z)>>grid>>title(‘sin(x)andcos(x)’)>>xlabel(‘independentvariablex’)>>ylabel(‘dependentvariableyandz’)>>text(2,0.8,’sin(x)’)>>text(2,-0.4,’cox(x)’)3233plot應(yīng)用舉例——畫一個(gè)圓程序如下:R=2;t=0:pi/20:2*pi;x=R*sin(t);y=R*cos(t)plot(x,y,'b:'),grid34MATLAB圖形繪制的基本步驟1)準(zhǔn)備需要繪制數(shù)據(jù)或函數(shù)。2)選擇圖形輸出的窗口及位置。3)調(diào)用基本的繪圖函數(shù)。4)設(shè)置坐標(biāo)軸范圍、標(biāo)記號(hào)、和網(wǎng)格線。5)用名稱、圖例、坐標(biāo)名、文本等對(duì)圖形就行注釋。35例1——無(wú)阻力拋射體的運(yùn)動(dòng)設(shè)目標(biāo)相對(duì)于射點(diǎn)的高度為,給定初速,試計(jì)算物體在真空中飛行的時(shí)間和距離?!艚o(wú)阻力拋射體的飛行是中學(xué)物理就解決了的問(wèn)題,本題的不同點(diǎn)是目標(biāo)和射點(diǎn)不在同一高度上,用MATLAB可使整個(gè)計(jì)算和繪圖過(guò)程自動(dòng)化。其好處是快速地計(jì)算物體在不同初速和射角下的飛行時(shí)間和距離。關(guān)鍵是在求落點(diǎn)時(shí)間時(shí),需要解一個(gè)二次線性代速方程。36MATLAB程序clear;y0=0;x0=0;
%初始位置vMag=input(‘輸入初始速度(m/s):’);%輸入初始速度的大小和方向vDir=input('輸入初速方向(度):');
yf=input(‘輸入目標(biāo)高度(m):’);%輸入目標(biāo)高度vx0=vMag*cos(vDir*(pi/180));%計(jì)算x,y方向的初始速度vy0=vMag*sin(vDir*(pi/180));wy=-9.81;wx=0;%重力加速度(m/s^2)tf=roots([wy/2,vy0,y0-yf]);%解方程,計(jì)算落點(diǎn)時(shí)間tf=max(tf);%去掉庸解t=0:0.1:tf;y=y0+vy0*t+wy*t.^2/2;%計(jì)算軌跡x=x0+vx0*t+wx*t.^2/2;xf=max(x),plot(x,y);%計(jì)算射程grid37初始速度50m/s,初速方向?yàn)?0度,目標(biāo)高度為8m時(shí)的輸入結(jié)果38例2——有空氣阻力拋射體的運(yùn)動(dòng)步驟一:給定小球質(zhì)量m,重力加速度g,拖曳系數(shù)C和小球面積A(半徑為r),根據(jù)D=rou*C*A/2求出D步驟二:給定小球的初始速度v(1)(大小和方向角theta),小球的位置(x(1)和y(1)。設(shè)定時(shí)間間隔detat步驟三:選定最大的間隔數(shù)N(或者最大的時(shí)間)39求解步驟步驟四:當(dāng)n<N或者t<時(shí)循環(huán)步驟五到步驟九步驟五:計(jì)算加速度分量
步驟六:打印或者畫40步驟七:計(jì)算新的速度分量步驟八:計(jì)算新的位移坐標(biāo)步驟九:時(shí)間上增加一個(gè)間隔步驟十:結(jié)束
41Matlab程序g=9.8;m=0.145;C=0.5;r=0.0366;A=pi*r^2;rou=1.2;D=(rou*C*A)/2;detat=0.01;theta=(35/180*pi);x(1)=0;y(1)=0;V(1)=50;Vx(1)=V(1)*cos(theta);Vy(1)=V(1)*sin(theta);N=700;42forn=1:NV(n)=sqrt(Vx(n)^2+Vy(n)^2)ax(n)=-(D/m)*V(n)*Vx(n);ay(n)=-g-(D/m)*V(n)*Vy(n);Vx(n+1)=Vx(n)+ax(n)*detat;Vy(n+1)=Vy(n)+ay(n)*detat;x(n+1)=x(n)+Vx(n)*detat+0.5*ax(n)*detat^2;y(n+1)=y(n)+Vy(n)*detat+0.5*ay(n)*detat^2;px(n)=Vx(1)*n*detat;py(n)=Vy(1)*n*detat-0.5*g*(n*detat)^2;endplot(x,y,'r',px,py,'g');gridxlabel('x'),ylabel('y');title('Projectilemotionwithairresistance');43結(jié)果44例3——有空氣阻力的落體運(yùn)動(dòng)。一個(gè)質(zhì)量為75kg的人在某一高度靜止下落,空氣阻
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年教師職稱考試(特殊教育)歷年參考題庫(kù)含答案詳解
- 2025康復(fù)醫(yī)學(xué)科三基考試題庫(kù)及答案
- 2025年安全生產(chǎn)事故案例分析及事故處理流程培訓(xùn)試卷及答案
- 消防安全工作自查報(bào)告
- 2025年安全生產(chǎn)月電氣測(cè)試試題及答案
- 工業(yè)機(jī)器人系統(tǒng)操作員(三級(jí))職業(yè)鑒定理論考試題及答案(新版)
- 2025年人工智能應(yīng)用技術(shù)考試試卷及答案
- 建設(shè)工程施工合同糾紛要素式起訴狀模板要素清晰無(wú)混淆
- 2026年動(dòng)物園管理提升
- 2026 年無(wú)子女離婚協(xié)議書正規(guī)模板
- 上海建橋?qū)W院簡(jiǎn)介招生宣傳
- 《智慧教育黑板技術(shù)規(guī)范》
- 《電力建設(shè)安全工作規(guī)程》-第1部分火力發(fā)電廠
- 歌曲《我會(huì)等》歌詞
- 八年級(jí)物理上冊(cè)期末測(cè)試試卷-附帶答案
- 小學(xué)英語(yǔ)五年級(jí)上冊(cè)Unit 5 Part B Let's talk 教學(xué)設(shè)計(jì)
- 老年癡呆科普課件整理
- 學(xué)生校服供應(yīng)服務(wù)實(shí)施方案
- GB/T 22900-2022科學(xué)技術(shù)研究項(xiàng)目評(píng)價(jià)通則
- 自動(dòng)控制系統(tǒng)的類型和組成
- GB/T 15171-1994軟包裝件密封性能試驗(yàn)方法
評(píng)論
0/150
提交評(píng)論