版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2023/10/111Matlab在物理中的應(yīng)用-案例研究2010年4月11日2023/10/112一、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ì)算速度。2023/10/113Matlab的學(xué)習(xí)方法必須做大量的練習(xí),熟悉其中的函數(shù)聯(lián)系和自己的課題相關(guān),深刻的體會(huì)多看幫助文件,又一本好的參考書(shū)記?。篗atlab可以做很多事情2023/10/1141.1Matlab的出現(xiàn)
70年代中期,CleveMoler和他的同事開(kāi)發(fā)了LINPACK和EISPACK的Fortran子程序庫(kù)
70年代末期,CleveMoler在新墨西哥大學(xué)給學(xué)生開(kāi)線性代數(shù),為學(xué)生編寫(xiě)了接口程序,這程序取名為MATLAB,即MATrixLABoratory1983年春天,工程師JohnLittle與Moler、SteveBangert一起開(kāi)發(fā)了第二代專(zhuān)業(yè)版MATLAB1984年,MathWorks公司成立,MATLAB正是推向市場(chǎng)。2023/10/1151.2
Matlab的版本演化Matlab1.0Pcmatlab->matlab386Matlab3.5+simulinkMatlab4.0:simlink內(nèi)嵌Matlab5.0:全面的面向?qū)ο驧atlab5.1~5.3Matlab6.0Matlab6.5:購(gòu)并了MATRIXxMatlab7.0:20042023/10/1161.3Matlab的特點(diǎn)1高效方便的矩陣和數(shù)組運(yùn)算2編程效率高(庫(kù)函數(shù)非常豐富)3結(jié)構(gòu)化、面向?qū)ο?方便的繪圖工具5用戶(hù)使用方便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ǔ)言。2023/10/1171.4
解決物理問(wèn)題常用的軟件Mathmatica數(shù)學(xué)計(jì)算功能。復(fù)雜符號(hào)計(jì)算,主要在理論界MAGIC電磁粒子仿真軟件仿真軟件:HFSS、CST等等2023/10/118二、MATLAB基礎(chǔ)使用2.1MATLAB操作界面簡(jiǎn)介操作桌面的缺省外貌與先前版本相比,6.x版引入大量的交互工作界面,如通用操作界面、幫助界面、演示界面等指令窗、歷史指令窗、工作空間瀏覽器和只有窗名的當(dāng)前目錄窗“開(kāi)始”按鈕(matlab6.5版本新加)通用操作界面2023/10/119通用交互界面介紹內(nèi)存數(shù)組編輯器(ArrayEditor)在工作空間瀏覽器中對(duì)變量操作時(shí)才啟動(dòng)交互界面分類(lèi)目錄窗(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)
詳盡展示由超文本寫(xiě)成的在線幫助。2023/10/11102.2Matlab命令的兩種執(zhí)行方式一.交互式的命令執(zhí)行方式用戶(hù)在命令窗口逐條輸入命令,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í)行方式2023/10/11112.3幫助的使用
MATLAB中有以下幾種方法獲得幫助:幫助命令、幫助窗口、MATLAB幫助臺(tái)、在線幫助頁(yè)或用Web菜單直接鏈接到MathWorks公司的主頁(yè)。2023/10/1112怎樣獲得詳盡的幫助信息首先是MATLAB窗口中的help命令,它最常用、最快,往往也是最有效的。給出關(guān)鍵字就能找到相應(yīng)的說(shuō)明。Help命令簡(jiǎn)單易用,但是它要求準(zhǔn)確給出關(guān)鍵字,如果記憶不準(zhǔn),就很難找到。這時(shí)就應(yīng)該用第二種方案。HelpDesk:這是MATLAB的HTML格式的幫助文檔,有著很好的組織??梢栽诿钚墟I入helpdesk,進(jìn)入“MatlabHelpDesk”。HelpDesk的搜索可以使用不完全關(guān)鍵字,這樣即使遇到記憶模糊的情況也可以很快查到。前面兩種方法所得到的幫助信息常常是不夠細(xì)致的,需要用第三種途徑來(lái)補(bǔ)充,這就是電子版的使用手冊(cè)。MATLAB里包含了大量關(guān)于MATLAB安裝、使用、編程以及各種工具箱等的電子版手冊(cè),全部為PDF格式,具有搜索功能,因此也可以在指定的手冊(cè)中搜索關(guān)鍵字,使用非常方便。2023/10/11132.4Matlab變量變量要求變量名、函數(shù)名區(qū)分字母的大小寫(xiě)。如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)在變量名和文件名中2023/10/1114
特殊變量特殊變量取值ans用于結(jié)果的缺省變量名pi圓周率eps計(jì)算機(jī)的最小數(shù)inf無(wú)窮大如1/0Nan或nan不定量如0/0iji=j=realmin最小的可用正實(shí)數(shù)realmax最大的可用正實(shí)數(shù)2023/10/11152.5
復(fù)數(shù)不需要特殊的處理。復(fù)數(shù)可以表示為:>>a=10-9i>>a=10-9j%i=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)等2023/10/1116三、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ù)。2023/10/1117語(yǔ)句生成矩陣3.linspace命令a=linspace(1,10,5);%產(chǎn)生線性等間距的列向量4.logspace命令b=logspace(0,2,10);%產(chǎn)生對(duì)數(shù)等間距的列向量5.矩陣連接c=[ab];6.數(shù)組生成函數(shù)
zerosoneseyerandrandn2023/10/11183.2矩陣運(yùn)算矩陣的轉(zhuǎn)置用符號(hào)’來(lái)表示和實(shí)現(xiàn)非共軛轉(zhuǎn)置.’矩陣的四則運(yùn)算+-*/\點(diǎn)乘:.*右除:./左除:.\矩陣的乘方^矩陣乘方.^元素對(duì)元素的乘方2023/10/1119四、流程控制為了便于應(yīng)用,MATLAB提供了一些流程控制的命令。這些命令對(duì)腳本編寫(xiě)帶來(lái)了一些方便,但是需要注意的是,盡量不要使用這些流程控制命令,尤其是循環(huán)控制命令。1for循環(huán)for循環(huán)允許一組命令以固定的次數(shù)重復(fù),它的一般形式是forx=arraycommandendfor和end之間的命令串按數(shù)組array的每一列執(zhí)行一次,直到n次后終止。2023/10/11201For循環(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)。2023/10/11212while循環(huán)與for循環(huán)以固定的次數(shù)求一組指令相反,while循環(huán)以不定的次數(shù)求一組語(yǔ)句的值。While循環(huán)的一般形式為:whileexpressioncommondsend只要表達(dá)式expression里的所有元素為真,就執(zhí)行命令串commands。通常表達(dá)式求值給一個(gè)標(biāo)量值,單數(shù)組值也同樣有效。2023/10/11223if-else-end結(jié)構(gòu)很多情況下,命令的序列必須根據(jù)關(guān)系的檢驗(yàn)有條件的執(zhí)行,它由if-else-end結(jié)構(gòu)提供。它的結(jié)構(gòu)如下:ifexpression1commands1elseifexpression2commands2elseif…
…elseifcommandsend2023/10/1123五、數(shù)據(jù)的可視化二維圖形
在二維曲線的繪制命令中,最重要、最基本的命令時(shí)plot,其他許多特殊繪圖命令都以它為基礎(chǔ)形成。
1plot(x,’s’)x為實(shí)向量時(shí),以該向量元素的下標(biāo)為橫坐標(biāo)、元素值為縱坐標(biāo)畫(huà)出一條連續(xù)曲線。X為實(shí)矩陣時(shí),則按列繪制每列元素值相對(duì)其下標(biāo)的曲線,圖中曲線數(shù)等于X陣列數(shù)。s用來(lái)指定線型。(正方形)2023/10/11242plot(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)有約束。2023/10/1125線型和標(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’).2023/10/1126>>plot(x,y,x,z)>>grid>>title(‘sin(x)andcos(x)’)>>xlabel(‘independentvariablex’)>>ylabel(‘dependentvariableyandz’)>>text(2,0.8.’sin(x)’)2023/10/1127plot應(yīng)用舉例——畫(huà)一個(gè)圓程序如下:R=2;t=0:pi/20:2*pi;x=R*sin(t);y=R*cos(t)plot(x,y,'b:'),grid2023/10/1128例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è)二次線性代速方程。2023/10/1129MATLAB程序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ì)算射程grid2023/10/1130初始速度50m/s,初速方向?yàn)?0度,目標(biāo)高度為8m時(shí)的輸入結(jié)果2023/10/1131例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í)間)2023/10/1132求解步驟步驟四:當(dāng)n<N或者t<時(shí)循環(huán)步驟五到步驟九步驟五:計(jì)算加速度分量
步驟六:打印或者畫(huà)2023/10/1133步驟七:計(jì)算新的速度分量步驟八:計(jì)算新的位移坐標(biāo)步驟九:時(shí)間上增加一個(gè)間隔步驟十:結(jié)束
2023/10/1134Matlab程序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;2023/10/1135forn=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');2023/10/1136結(jié)果2023/10/1137例3——有空氣阻力的落體運(yùn)動(dòng)。一個(gè)質(zhì)量為75kg的人在某一高度靜止下落,空氣阻力F與v的關(guān)系滿(mǎn)足F=-k,其中常數(shù)k=0.22kg/m,根據(jù)牛頓第二定律知
若令g=9.80m/,求下落過(guò)程中速度v(t)和位移x(t)的表達(dá)式,并畫(huà)圖。2023/10/1138推導(dǎo)2023/10/1139Matlab程序v=dsolve('m*D2v+2*k*v*Dv=0','v(0)=0,Dv(0)=g','t')x=dsolve('m*g-k*(Dx)^2=m*D2x','x(0)=0,Dx(0)=0,D2x(0)=g','t')m=75;k=0.22;g=9.8t=0:0.5:30;v=tanh(t.*(g*m*k)^(1/2)/m)*(g*m*k)^(1/2)/k%x=(m/k)*log(cosh(t.*(k*g/m)^1/2))plot(t,v),gtext('v(t)')holdonplot(t,x),gtext('x(t)')2023/10/1140結(jié)果2023/10/1141例4-小球碰撞問(wèn)題質(zhì)量為m的小球以速度正面碰撞質(zhì)量為M的靜止小球,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年旅游地理文化考試題
- 2026年網(wǎng)絡(luò)安全基礎(chǔ)與實(shí)戰(zhàn)應(yīng)用模擬試題集及答案解析
- 2026年電氣工程及自動(dòng)化知識(shí)題
- 2026年法律常識(shí)基礎(chǔ)測(cè)試題及答案
- 2026年法律危機(jī)管理專(zhuān)家考試題集
- 2026年商業(yè)實(shí)戰(zhàn)中金融分析師數(shù)據(jù)分析與技術(shù)能力實(shí)踐題庫(kù)
- 2026年音樂(lè)教師資格證考試面試練習(xí)題
- 2026年智能語(yǔ)音識(shí)別研發(fā)筆試題集及解析
- 2026年金融行業(yè)CFA考試金融風(fēng)險(xiǎn)管理專(zhuān)項(xiàng)試題
- 2026年心理學(xué)專(zhuān)業(yè)技能測(cè)試情緒管理與壓力應(yīng)對(duì)試題集
- DL∕T 5545-2018 火力發(fā)電廠間接空冷系統(tǒng)設(shè)計(jì)規(guī)范
- DZ∕T 0130-2006 地質(zhì)礦產(chǎn)實(shí)驗(yàn)室測(cè)試質(zhì)量管理規(guī)范(正式版)
- 《研學(xué)旅行課程設(shè)計(jì)》課件-研學(xué)課程設(shè)計(jì)原則
- JJG 693-2011可燃?xì)怏w檢測(cè)報(bào)警器
- (本科)大學(xué)生勞動(dòng)教育理論與實(shí)踐教程全書(shū)電子教案完整版
- 黑龍江省中藥飲片炮制規(guī)范及標(biāo)準(zhǔn)
- 盤(pán)口暗語(yǔ)及盤(pán)口數(shù)字語(yǔ)言
- QC-提高衛(wèi)生間防水一次驗(yàn)收合格率
- 彈藥庫(kù)防火防爆消防演示
- 大地測(cè)量控制點(diǎn)坐標(biāo)轉(zhuǎn)換技術(shù)規(guī)程
- 食材配送服務(wù)方投標(biāo)方案(技術(shù)標(biāo))
評(píng)論
0/150
提交評(píng)論