matlab應(yīng)用案例分析_第1頁
matlab應(yīng)用案例分析_第2頁
matlab應(yīng)用案例分析_第3頁
matlab應(yīng)用案例分析_第4頁
matlab應(yīng)用案例分析_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2023/10/111Matlab在物理中的應(yīng)用-案例研究2010年4月11日2023/10/112一、Matlab概述MATLAB是美國Mathworks公司推出的一套高性能的數(shù)值分析和計算軟件。最初的目的是為了解決矩陣的運算問題而開發(fā)的,經(jīng)過不斷完善,已成為將矩陣運算、數(shù)值分析、圖形處理、編程技術(shù)結(jié)合在一起的功能強大的工具。它的優(yōu)點在于快速開發(fā)計算方法,而不在于計算速度。2023/10/113Matlab的學(xué)習(xí)方法必須做大量的練習(xí),熟悉其中的函數(shù)聯(lián)系和自己的課題相關(guān),深刻的體會多看幫助文件,又一本好的參考書記?。篗atlab可以做很多事情2023/10/1141.1Matlab的出現(xiàn)

70年代中期,CleveMoler和他的同事開發(fā)了LINPACK和EISPACK的Fortran子程序庫

70年代末期,CleveMoler在新墨西哥大學(xué)給學(xué)生開線性代數(shù),為學(xué)生編寫了接口程序,這程序取名為MATLAB,即MATrixLABoratory1983年春天,工程師JohnLittle與Moler、SteveBangert一起開發(fā)了第二代專業(yè)版MATLAB1984年,MathWorks公司成立,MATLAB正是推向市場。2023/10/1151.2

Matlab的版本演化Matlab1.0Pcmatlab->matlab386Matlab3.5+simulinkMatlab4.0:simlink內(nèi)嵌Matlab5.0:全面的面向?qū)ο驧atlab5.1~5.3Matlab6.0Matlab6.5:購并了MATRIXxMatlab7.0:20042023/10/1161.3Matlab的特點1高效方便的矩陣和數(shù)組運算2編程效率高(庫函數(shù)非常豐富)3結(jié)構(gòu)化、面向?qū)ο?方便的繪圖工具5用戶使用方便6功能強大的工具箱(核心部分中有數(shù)百個核心內(nèi)部函數(shù))總之,Matlab在信號處理、建模、系統(tǒng)識別、控制、優(yōu)化等領(lǐng)域的問題處理上優(yōu)勢明顯于其它高級語言。2023/10/1171.4

解決物理問題常用的軟件Mathmatica數(shù)學(xué)計算功能。復(fù)雜符號計算,主要在理論界MAGIC電磁粒子仿真軟件仿真軟件:HFSS、CST等等2023/10/118二、MATLAB基礎(chǔ)使用2.1MATLAB操作界面簡介操作桌面的缺省外貌與先前版本相比,6.x版引入大量的交互工作界面,如通用操作界面、幫助界面、演示界面等指令窗、歷史指令窗、工作空間瀏覽器和只有窗名的當(dāng)前目錄窗“開始”按鈕(matlab6.5版本新加)通用操作界面2023/10/119通用交互界面介紹內(nèi)存數(shù)組編輯器(ArrayEditor)在工作空間瀏覽器中對變量操作時才啟動交互界面分類目錄窗(LauchPad)??烧归_成樹狀結(jié)構(gòu),列著所有交互界面。M文件編輯/調(diào)試器(Editor/Debugger)當(dāng)進(jìn)行“打開文件”操作時才啟動。幫助導(dǎo)航/瀏覽器(Helpavigator/Browser)

詳盡展示由超文本寫成的在線幫助。2023/10/11102.2Matlab命令的兩種執(zhí)行方式一.交互式的命令執(zhí)行方式用戶在命令窗口逐條輸入命令,matlab逐條執(zhí)行,這種方式操作簡單直觀,但速度慢,中間過程無法保留。通用操作界面二.M命令文件的程序設(shè)計方式將有關(guān)命令編成程序存儲在一個文件(擴(kuò)展名為.m)中,matlab自動依次執(zhí)行,可調(diào)試復(fù)雜的程序(調(diào)試時只顯示第一個錯誤),是實際應(yīng)用中主要的執(zhí)行方式2023/10/11112.3幫助的使用

MATLAB中有以下幾種方法獲得幫助:幫助命令、幫助窗口、MATLAB幫助臺、在線幫助頁或用Web菜單直接鏈接到MathWorks公司的主頁。2023/10/1112怎樣獲得詳盡的幫助信息首先是MATLAB窗口中的help命令,它最常用、最快,往往也是最有效的。給出關(guān)鍵字就能找到相應(yīng)的說明。Help命令簡單易用,但是它要求準(zhǔn)確給出關(guān)鍵字,如果記憶不準(zhǔn),就很難找到。這時就應(yīng)該用第二種方案。HelpDesk:這是MATLAB的HTML格式的幫助文檔,有著很好的組織??梢栽诿钚墟I入helpdesk,進(jìn)入“MatlabHelpDesk”。HelpDesk的搜索可以使用不完全關(guān)鍵字,這樣即使遇到記憶模糊的情況也可以很快查到。前面兩種方法所得到的幫助信息常常是不夠細(xì)致的,需要用第三種途徑來補充,這就是電子版的使用手冊。MATLAB里包含了大量關(guān)于MATLAB安裝、使用、編程以及各種工具箱等的電子版手冊,全部為PDF格式,具有搜索功能,因此也可以在指定的手冊中搜索關(guān)鍵字,使用非常方便。2023/10/11132.4Matlab變量變量要求變量名、函數(shù)名區(qū)分字母的大小寫。如SIN、Sin與sin是不同的對6.5以前的版本,變量名字符不超過31個,對6.5版本,變量名最多可包含63個字符。超出長度的字符被忽略變量必須以字母開頭,之后可以是任意字母、數(shù)字或者下滑線,但不能是空格和標(biāo)點Matlab不支持漢字,漢字不能出現(xiàn)在變量名和文件名中2023/10/1114

特殊變量特殊變量取值ans用于結(jié)果的缺省變量名pi圓周率eps計算機的最小數(shù)inf無窮大如1/0Nan或nan不定量如0/0iji=j=realmin最小的可用正實數(shù)realmax最大的可用正實數(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中的*去掉,就會出錯,sin(.5)i對MATLAB是無意義的,直接以字符i和j結(jié)尾,只適用于簡單數(shù)值,不適用于表達(dá)式。

復(fù)數(shù)運算不需要特殊處理,可以直接進(jìn)行。另外real(z),imag(z),abs(z)和angle(z)等2023/10/1116三、MATLAB的數(shù)組(矩陣)及其運算3.1數(shù)組(矩陣)的創(chuàng)建

1.直接輸入法整個輸入數(shù)組必須以方括號“[]”為其首尾數(shù)組的行與行之間必須用”;”或者【Enter】隔離數(shù)組元素必須由逗號”,”或空格分隔2.一維數(shù)組的冒號生成法x=a:inc:ba是數(shù)組的第一個元素,inc是間隔,b是最后一個元素a,inc,b之間的冒號須在英文狀態(tài)下輸入。中文中的冒號將導(dǎo)致matlab出錯。inc缺省值為1,可以取正數(shù)或負(fù)數(shù)。2023/10/1117語句生成矩陣3.linspace命令a=linspace(1,10,5);%產(chǎn)生線性等間距的列向量4.logspace命令b=logspace(0,2,10);%產(chǎn)生對數(shù)等間距的列向量5.矩陣連接c=[ab];6.數(shù)組生成函數(shù)

zerosoneseyerandrandn2023/10/11183.2矩陣運算矩陣的轉(zhuǎn)置用符號’來表示和實現(xiàn)非共軛轉(zhuǎn)置.’矩陣的四則運算+-*/\點乘:.*右除:./左除:.\矩陣的乘方^矩陣乘方.^元素對元素的乘方2023/10/1119四、流程控制為了便于應(yīng)用,MATLAB提供了一些流程控制的命令。這些命令對腳本編寫帶來了一些方便,但是需要注意的是,盡量不要使用這些流程控制命令,尤其是循環(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)可以嵌套;只要有矩陣形式可以解決的問題,不要使用for循環(huán)。使用for循環(huán)的算法執(zhí)行很慢,一個好的MATLAB算法部應(yīng)當(dāng)出現(xiàn)循環(huán)語句。循環(huán)可以使用break跳出,但只跳出所在的循環(huán),不跳出整個嵌套結(jié)構(gòu)。2023/10/11212while循環(huán)與for循環(huán)以固定的次數(shù)求一組指令相反,while循環(huán)以不定的次數(shù)求一組語句的值。While循環(huán)的一般形式為:whileexpressioncommondsend只要表達(dá)式expression里的所有元素為真,就執(zhí)行命令串commands。通常表達(dá)式求值給一個標(biāo)量值,單數(shù)組值也同樣有效。2023/10/11223if-else-end結(jié)構(gòu)很多情況下,命令的序列必須根據(jù)關(guān)系的檢驗有條件的執(zhí)行,它由if-else-end結(jié)構(gòu)提供。它的結(jié)構(gòu)如下:ifexpression1commands1elseifexpression2commands2elseif…

…elseifcommandsend2023/10/1123五、數(shù)據(jù)的可視化二維圖形

在二維曲線的繪制命令中,最重要、最基本的命令時plot,其他許多特殊繪圖命令都以它為基礎(chǔ)形成。

1plot(x,’s’)x為實向量時,以該向量元素的下標(biāo)為橫坐標(biāo)、元素值為縱坐標(biāo)畫出一條連續(xù)曲線。X為實矩陣時,則按列繪制每列元素值相對其下標(biāo)的曲線,圖中曲線數(shù)等于X陣列數(shù)。s用來指定線型。(正方形)2023/10/11242plot(x,y,’s’)x,y為同維向量時,繪制以x、y元素為橫、縱坐標(biāo)的曲線。3plot(x1,y1,’s1’,x2,y2,’s2’,…)

在此格式中,每個繪線“三元組”(x,y,’s’)的結(jié)構(gòu)和作用,與plot(x,y,’s’)相同,不同的三元組之間沒有約束。2023/10/1125線型和標(biāo)記

Plot命令中,在每一對數(shù)組數(shù)據(jù)后面,給plot一個附加參量,就可以指定所要的顏色和線型。

>>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)用舉例——畫一個圓程序如下:R=2;t=0:pi/20:2*pi;x=R*sin(t);y=R*cos(t)plot(x,y,'b:'),grid2023/10/1128例1——無阻力拋射體的運動設(shè)目標(biāo)相對于射點的高度為,給定初速,試計算物體在真空中飛行的時間和距離。◆建模無阻力拋射體的飛行是中學(xué)物理就解決了的問題,本題的不同點是目標(biāo)和射點不在同一高度上,用MATLAB可使整個計算和繪圖過程自動化。其好處是快速地計算物體在不同初速和射角下的飛行時間和距離。關(guān)鍵是在求落點時間時,需要解一個二次線性代速方程。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));%計算x,y方向的初始速度vy0=vMag*sin(vDir*(pi/180));wy=-9.81;wx=0;%重力加速度(m/s^2)tf=roots([wy/2,vy0,y0-yf]);%解方程,計算落點時間tf=max(tf);%去掉庸解t=0:0.1:tf;y=y0+vy0*t+wy*t.^2/2;%計算軌跡x=x0+vx0*t+wx*t.^2/2;xf=max(x),plot(x,y);%計算射程grid2023/10/1130初始速度50m/s,初速方向為40度,目標(biāo)高度為8m時的輸入結(jié)果2023/10/1131例2——有空氣阻力拋射體的運動步驟一:給定小球質(zhì)量m,重力加速度g,拖曳系數(shù)C和小球面積A(半徑為r),根據(jù)D=rou*C*A/2求出D步驟二:給定小球的初始速度v(1)(大小和方向角theta),小球的位置(x(1)和y(1)。設(shè)定時間間隔detat步驟三:選定最大的間隔數(shù)N(或者最大的時間)2023/10/1132求解步驟步驟四:當(dāng)n<N或者t<時循環(huán)步驟五到步驟九步驟五:計算加速度分量

步驟六:打印或者畫2023/10/1133步驟七:計算新的速度分量步驟八:計算新的位移坐標(biāo)步驟九:時間上增加一個間隔步驟十:結(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——有空氣阻力的落體運動。一個質(zhì)量為75kg的人在某一高度靜止下落,空氣阻力F與v的關(guān)系滿足F=-k,其中常數(shù)k=0.22kg/m,根據(jù)牛頓第二定律知

若令g=9.80m/,求下落過程中速度v(t)和位移x(t)的表達(dá)式,并畫圖。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-小球碰撞問題質(zhì)量為m的小球以速度正面碰撞質(zhì)量為M的靜止小球,

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論