版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
機械工程設(shè)計分析和MATLAB應(yīng)用
(第4版)
第1篇MATLAB基礎(chǔ)和科學(xué)計算郭仁生編著機械工業(yè)出版社內(nèi)容提要:本篇介紹MATLAB操作基礎(chǔ)、矩陣和數(shù)組及其運算、符號運算基礎(chǔ)、M文件和流程控制結(jié)構(gòu)、數(shù)據(jù)可視化等基礎(chǔ)知識;以及運用MATLAB提供的平臺,在解決工程實際問題時經(jīng)常用到的多項式運算和函數(shù)插值、函數(shù)的導(dǎo)數(shù)和積分、代數(shù)方程和最優(yōu)化問題等常用數(shù)學(xué)計算函數(shù)的功能和科學(xué)計算方法。第1章MATLAB操作基礎(chǔ)MATLAB(MatrixLaboratory,原意是矩陣實驗室)是美國MathWorks公司在20世紀(jì)80年代中期推出,它的最初版本是種專門用于矩陣數(shù)值計算的數(shù)學(xué)軟件。隨著MATLAB的逐步市場化和功能擴展強化,為科學(xué)研究和工程設(shè)計以及必須進(jìn)行數(shù)值計算的眾多科學(xué)領(lǐng)域,提供了用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境的一種全面的解決方案。1.1MATLAB概述1.1.1MATLAB的主要模塊MATLAB是一種面向科學(xué)與工程計算的21世紀(jì)科學(xué)計算語言,它包括MATLAB和Simulink兩大部分,主要模塊有:MATLAB是數(shù)值分析和圖形處理的基礎(chǔ)平臺。MATLABToolbox是解決特定領(lǐng)域問題的、開放的、可擴展的函數(shù)庫。MATLABCompiler是將編寫的M文件自動轉(zhuǎn)換成C/C++文件,配合另外一種計算機數(shù)學(xué)語言MathWorks提供的C/C++數(shù)學(xué)庫和圖形庫,可以開發(fā)功能強大的獨立應(yīng)用軟件。1.1.2MATLAB的主要特點1、編程容易和調(diào)試方便MATLAB具有程序流程控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、輸入輸出和面向?qū)ο蟮瘸绦蛟O(shè)計語言特征,包含豐富的庫函數(shù)可供直接調(diào)用,避免了對大量算法的重復(fù)編程;并且允許用戶使用數(shù)學(xué)形式的語言編寫程序,更加符合科技人員對數(shù)學(xué)表達(dá)式的書寫格式,被譽為高級“數(shù)學(xué)演算紙和圖形顯示器”科學(xué)算法語言。MATLAB是一種解釋執(zhí)行語言,它將其它語言使用過程的編輯、編譯、連接、執(zhí)行和調(diào)試等步驟融為一體,并且在同一個窗口上處理程序中可能出現(xiàn)語法錯誤,及進(jìn)行出錯原因分析。因此程序調(diào)試比VisualBasic等更加簡單方便。2、擴充性和交互性好MATLAB的庫函數(shù)與用戶文件在形式上是一樣的,所以用戶文件可以作為庫函數(shù)進(jìn)行調(diào)用,用戶也可以根據(jù)需要建立和擴充新的庫函數(shù)。MATLAB對科學(xué)研究和工程應(yīng)用的許多專門領(lǐng)域都開發(fā)了功能強大的模塊集和工具箱。MATLAB的核心文件和工具箱文件都是可讀寫的源文件,用戶可以根據(jù)需要對其進(jìn)行修改或編制新的工具箱。3、強大的計算功能MATLAB具有豐富的基本內(nèi)部函數(shù),是一個包含大量計算算法的集合。這些函數(shù)所能解決的問題其大致包括矩陣運算和線性方程組的求解、微分方程及偏微分方程的組的求解、符號運算、傅立葉變換和數(shù)據(jù)的統(tǒng)計分析、工程中的優(yōu)化問題、稀疏矩陣運算、復(fù)數(shù)的各種運算、三角函數(shù)和其他初等數(shù)學(xué)運算、多維數(shù)組操作以及建模動態(tài)仿真等,它采用了先進(jìn)、可靠和優(yōu)化計算方法,可用于解決數(shù)學(xué)和工程領(lǐng)域的絕大多數(shù)問題。4、出色的數(shù)據(jù)可視化功能MATLAB將向量和矩陣用圖形表現(xiàn)出來,提供一系列簡單明了、功能齊全的繪圖函數(shù)和命令,包括二維和三維的可視化、圖象處理、動畫和表達(dá)式作圖,以及對一些工程特性較強的特殊圖形進(jìn)行光照和色度處理、修飾和控制,以及四維數(shù)據(jù)的表現(xiàn)等,MATLAB同樣表現(xiàn)了出色的處理能力。1.2MATLAB的系統(tǒng)界面和菜單功能1.2.1MATLAB系統(tǒng)界面在Windows環(huán)境中雙擊MATLAB7.0圖標(biāo),啟動MATLAB后,彈出MATLAB系統(tǒng)界面。MATLAB系統(tǒng)采用集命令輸入、執(zhí)行、修改和調(diào)試于一體的集成界面,在默認(rèn)的情況下系統(tǒng)界面有4個窗口:1、命令窗口(CommandWindow):是MATLAB的主要交互窗口(圖1的右側(cè)),用于輸入命令、函數(shù)、數(shù)組和表達(dá)式等信息,并且顯示輸出結(jié)果。其中“>>”是命令提示符。用戶可以通過主窗口頂部的菜單欄(表2所示)中選擇Edit/ClearCommandWindow命令清除窗口顯示的信息。2、工作空間窗口(Workspace):用于顯示MATLAB在內(nèi)存空間中存儲的所有變量的名稱、大小和類型,可以對它們進(jìn)行編輯和保存,也可以通過主窗口頂部的菜單欄中選擇命令Edit/ClearWorkspace刪除內(nèi)存空間中存儲的數(shù)據(jù)。3、歷史命令窗口(CommandHistory):用于紀(jì)錄已經(jīng)運行過的命令、函數(shù)和表達(dá)式等信息,可以在該窗口中對它們進(jìn)行重復(fù)運行或復(fù)制,也可以通過菜單Edit/ClearCommandHistory命令清除這些歷史紀(jì)錄。4、當(dāng)前路徑窗口(CurrentDirectory):用于顯示和設(shè)置當(dāng)前工作目錄,同時顯示當(dāng)前工作目錄下的文件名、文件類型和目錄的修改信息等。⑴編輯窗口(Editor):當(dāng)選擇通過主窗口頂部的菜單欄中選擇File/New(建立新文件)命令,或是使用File/Open…(打開文件)等操作時,MATLAB啟動“編輯/調(diào)試器”窗口。⑵圖形窗口(figure):在file菜單的次級菜單new中執(zhí)行figure選項,可以打開圖形窗口。1.2.2主窗口的菜單功能file(文件)
New(建立新文件)Open(打開舊文件)Edit(編輯)
Cut(剪切)Copy(復(fù)制)Paste(粘貼)ClearCommandWindow(清除命令窗口)ClearCommandHistory(清除歷史命令)ClearWorkspace(清除工作空間)1.3運算符和標(biāo)點符1.3.1運算符1、算術(shù)運算符表1-2算術(shù)運算符運算符功能運算符功能+相加-相減*矩陣相乘.*數(shù)組相乘^矩陣乘方.^數(shù)組乘方\左除.\數(shù)組左除/右除./數(shù)組右除例1-1某學(xué)生的各科學(xué)習(xí)成績分別為:語文86、英語91、數(shù)學(xué)89、物理74、化學(xué)82,試計算該生成績的總分和平均分。在MATLAB命令窗口中運算提示符“>>”后面依次輸入命令,并且按Enter鍵確認(rèn)。>>a=86;b=91;c=89;d=74;e=82;%分別用變量a、b、c、d、e儲存各科成績>>z=a+b+c+d+e%計算該生成績的總分z=422>>p=z/5%計算該生成績平均分p=84.40002、關(guān)系運算符關(guān)系運算符用于比較兩個對象(數(shù)、字符串、矩陣)之間的大小或不等關(guān)系,當(dāng)比較的兩個對象關(guān)系為真時,返回值為1;關(guān)系為假時,返回值為0。表1-3關(guān)系運算符運算符功能運算符功能>大于>=大于等于<小于<=小于等于==等于~=不等于例1-2
有兩組數(shù)據(jù):A=12、23、45、60、88和B=11、23、51、65、87,試對它們各對應(yīng)元素進(jìn)行關(guān)系比較。>>A=[12,23,45,60,88];%用向量A存儲數(shù)據(jù)>>B=[11,23,51,65,87];%用向量B存儲數(shù)據(jù)>>dy=A>B%比較向量A各對應(yīng)元素是否大于向量Bdy=10001>>xd=A==B%比較向量A各對應(yīng)元素是否等于向量Bxd01000>>xy=A<=B%比較向量A各對應(yīng)元素是否≤向量Bxy=011103、邏輯運算符MATLAB提供了4種邏輯運算符。邏輯表達(dá)式或邏輯函數(shù)的值是一個邏輯量,真時值為1,假時值為0。表1-4邏輯運算符運算符功能運算符功能&與~非|或xor異或例1-3建立2個數(shù)組a=[0101]和b=[0011],對它們進(jìn)行邏輯運算。打開MATLAB程序編輯器,在編輯窗口中輸入以下7行語句:%邏輯運算a=[0202]b=[0022]a&b%2個數(shù)組的與運算a|b%2個數(shù)組的或運算~a%a數(shù)組的非運算xor(a,b)%2個數(shù)組的異或運算表1-5兩個數(shù)組的邏輯運算結(jié)果比較數(shù)組a0202數(shù)組b0022與(&)0001或(|)0111非(~)1010異或(xor)0110例1-4兩個學(xué)生的語文、英語、數(shù)學(xué)、物理、化學(xué)等五科學(xué)習(xí)成績分別為:A=[68,77,93,80,91]和B=[72,81,90,83,75],試判別是否滿足條件:每個學(xué)生的文科(語文、英語)平均成績不小于75分,同時理科(數(shù)學(xué)、物理、化學(xué))平均成績不小于80分。A=[68,77,93,80,91];B=[72,81,90,83,75];WA=((A(1)+A(2))/2)>=75&((A(3)+A(4)+A(5))/3)>=80WB=((B(1)+B(2))/2)>=75&((B(3)+B(4)+B(5))/3)>=80WA=0WB=11.3.2標(biāo)點符表1-6常用的標(biāo)點符符功能符功能:冒號,產(chǎn)生數(shù)組,或是指定矩陣行、列元素.小數(shù)點,或是域訪問符等;分號,區(qū)分行,或是取消運行顯示等…省略號,續(xù)行符,逗號,區(qū)分列,或是函數(shù)參數(shù)分割符等%百分符,注釋符()括號,指定運算過程中的先后次序等!驚嘆號,調(diào)用操作系統(tǒng)運算[]方括號,矩陣定義標(biāo)志=等號,賦值標(biāo)記{}大括號,用于構(gòu)成單元數(shù)組等’單引號,字符串的標(biāo)示符等1.4數(shù)據(jù)類型1.4.1數(shù)值量MATLAB的數(shù)值量默認(rèn)以雙精度格式進(jìn)行計算和保存在內(nèi)存中,其顯示格式可以通過format命令改變。如:1、formatshort短格式(系統(tǒng)默認(rèn)),顯示小數(shù)點后面4位有效數(shù)字,如pi()顯示>>pians=3.1416說明:由于省略變量名和賦值標(biāo)記“=”,則系統(tǒng)自動產(chǎn)生一個用作結(jié)果的默認(rèn)變量ans。2、formatlong長格式,顯示15位數(shù)字,如用長格式顯示1/7>>formatlong>>1/7ans=0.142857142857143、formatshorte短格式e方式,對非整數(shù)值按照e方式顯示5位數(shù)字,如>>formatshorte>>1/7ans=1.4286e-0014、formatlonge長格式e方式,對非整數(shù)值按照e方式顯示15位數(shù)字,如>>formatlonge>>1/7ans=1.428571428571429e-0015、formathex按照16進(jìn)制顯示,如>>formathex>>1/7ans=3fc24924924924926、formatrat用近似的有理數(shù)顯示,如>>formatrat>>0.7092ans=1773/25007、MATLAB語言中的有一些特定的數(shù)值常量
常量符號
常量含義i,j虛數(shù)單位pi圓周率的雙精度表示eps容差變量(浮點運算相對精度)NaN不定式,表示非數(shù)字量Realmin最小的正浮點數(shù),Realmix最大的正浮點數(shù),inf正無窮大1.4.2字符量字符量可用于公式推導(dǎo)和數(shù)學(xué)解析運算。1、MATLAB的字符量一般是ASCII值的數(shù)值數(shù)組,它必須用單引號進(jìn)行賦值,如>>String='ABC'String=ABC字符數(shù)組String中的每個字符(包括空格)都是字符數(shù)組的一個元素。>>s='1.503.205.637.819.04's=1.503.205.637.819.04s是一個浮點格式的字符數(shù)組。2、將字符數(shù)組s轉(zhuǎn)換為數(shù)值代碼,此功能可由函數(shù)str2num實現(xiàn),如>>str2num(s)ans=1.50003.20005.63007.81009.0400s變成浮點格式的數(shù)值數(shù)組。3、將浮點數(shù)或數(shù)組轉(zhuǎn)換為字符數(shù)組,此功能可由函數(shù)num2str實現(xiàn)。4、將符號表達(dá)式轉(zhuǎn)換為數(shù)值表達(dá)式,此功能可由函數(shù)eval實現(xiàn)。如>>s='cos(pi/6)+sinh(3)+sqrt(2)';vs=eval(s)vs=12.29811.4.3變量變量的表達(dá)格式是:變量=表達(dá)式1、變量的規(guī)則⑴變量可以由數(shù)字、字母或下劃線“_”組成,但是第1個字符必須是英文字母。⑵變量名的長度不超過31位。⑶不能使用函數(shù)名和系統(tǒng)保留字作為變量名。⑷任何變量均視為一個矩陣(單一的數(shù)是矩陣的最簡單形式)。⑸凡是以“i”或“j”結(jié)尾的變量作為復(fù)變量處理。如果對“i”或“j”作一般變量賦值時,它們將不再是復(fù)數(shù)的虛數(shù)部分。⑹變量名區(qū)分大小寫。2、變量類型⑴局部變量(Local):是在函數(shù)文件內(nèi)部中定義的變量。當(dāng)函數(shù)運行時,它保留在自己的工作區(qū)中,它只能的該函數(shù)文件內(nèi)部被訪問;一旦函數(shù)文件退出運行,內(nèi)存變量不復(fù)存在。局部變量不需要專門進(jìn)行定義。⑵全局變量(Global):是多個函數(shù)文件共享的變量。每個使用它的函數(shù)文件都必須用global語句聲明它為全局變量,全局變量的作用域是整個MATLAB工作空間,所有的函數(shù)文件都可以對它進(jìn)行存取和修改。因此,定義全局變量是函數(shù)文件之間傳遞信息的一種手段。需要指出,全局變量固然可帶來某些方便,但卻破壞了函數(shù)對變量的封裝,降低了程序可讀性。1.5基本數(shù)學(xué)函數(shù)1.5.1三角函數(shù)sin(x)正弦函數(shù)sinh(x)雙曲正弦函數(shù)asin(x)反正弦函數(shù)asinh(x)反雙曲正弦函數(shù)cos(x)余弦函數(shù)cosh(x)雙曲余弦函數(shù)acos(x)反余弦函數(shù)acosh(x)反雙曲余弦函數(shù)tan(x)正切函數(shù)tanh(x)雙曲正切函數(shù)atan2(y,x)四象限反正切函數(shù)atanh(x)反雙曲正切函數(shù)cot(x)余切函數(shù)coth(x)雙曲余切函數(shù)acot(x)反余切函數(shù)acoth(x)反雙曲余切函數(shù)sec(x)正割函數(shù)sech(x)雙曲正割函數(shù)asec(x)反正割函數(shù)asech(x)反雙曲正割函數(shù)csc(x)余割函數(shù)csch(x)雙曲余割函數(shù)acsc(x)反余割函數(shù)acsch(x)反雙曲余割函數(shù)例1-5計算正弦函數(shù)、反正切函數(shù)和漸開線函數(shù)的值。>>zx=sin(35*pi/180)%先將轉(zhuǎn)換為弧度zx=0.5736>>alpha=atan(0.8204)*180/pi%結(jié)果轉(zhuǎn)換為度alpha=39.3655>>formatlong%定義按長格式顯示>>theta=tan(20*pi/180)-20*pi/180%漸開線函數(shù)的數(shù)學(xué)表達(dá)式theta=0.014904383867341.5.2指數(shù)和對數(shù)函數(shù)
表1-9指數(shù)和對數(shù)函數(shù)exp(x)指數(shù)函數(shù)nextpow2(x)最鄰近2的冪log(x)自然對數(shù)函數(shù)pow2(x)以2為底指數(shù)函數(shù)log2(x)以2為底對數(shù)函數(shù)sqrt(x)平方根函數(shù)log10(x)以10為底的對數(shù)函數(shù)例1-6計算對數(shù)和指數(shù)。>>log2(24^(1/3))ans=1.5283即>>exp(3.8)ans=44.7012即1.5.3取整和取余函數(shù)fix(x)朝零方向取整函數(shù)round(x)四舍五入函數(shù)floor(x)朝負(fù)方向取整函數(shù)mod(y,x)(帶符號)取余函數(shù)ceil(x)朝正方向取整函數(shù)rem(y,x)(無符號)取余函數(shù)表1-10取整和取余函數(shù)說明:⑴fix(x)是截尾取整函數(shù),例如:>>fix([3.52-3.52])ans=3-3⑵round(x)是四舍五入函數(shù),例如:>>round([5.433.62])ans=54使用函數(shù)roundn(x,-n)可以將數(shù)x四舍五入到指定的第n位小數(shù),例如>>a=3.24506;roundn(a,-4)ans=3.2451>>roundn(a,-2)ans=3.25⑶mod(y,x)和rem(y,x)都是取余函數(shù),它們返回結(jié)果都是余數(shù)。rem和mod的區(qū)別在于:當(dāng)除數(shù)x和被除數(shù)y的正負(fù)號一樣的時候,兩個函數(shù)結(jié)果是等同的;當(dāng)除數(shù)x和被除數(shù)y的符號不同時,mod函數(shù)結(jié)果的符號和除數(shù)x的一樣,而rem和被除數(shù)y一樣。例如:>>mod(-10,4)%被除數(shù)-10,除數(shù)4ans=2>>rem(-
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度幼兒園園服定制與校園安全管理服務(wù)合同3篇
- 2024年中醫(yī)藥產(chǎn)業(yè)投資基金合作購銷合同范本3篇
- 2024年度中小企業(yè)貸款擔(dān)保服務(wù)協(xié)議3篇
- 2024年度房產(chǎn)中介租賃市場拓展與房地產(chǎn)金融合同3篇
- 2024年度地毯行業(yè)會展與合作簽約合同3篇
- 2024年度校企合作綠色專業(yè)建設(shè)與發(fā)展框架協(xié)議3篇
- 2024年度醫(yī)療設(shè)備采購、安裝、維修一體化合同3篇
- 2024員工個人入股合作協(xié)議范本:股權(quán)激勵制度實施3篇
- 2024年房地產(chǎn)買賣貸款合同范本(含稅費處理)3篇
- 2024年度魚池轉(zhuǎn)讓及生態(tài)養(yǎng)殖項目合作框架協(xié)議3篇
- DL-T 5626-2021 20kV及以下配電網(wǎng)工程技術(shù)經(jīng)濟指標(biāo)編制導(dǎo)則
- 血液科病房的不良事件分析與防范措施探討
- 搶救儀器設(shè)備管理培訓(xùn)課件
- 滅火戰(zhàn)術(shù)課件-滅火戰(zhàn)斗
- 總裁辦部門職責(zé)文件
- 一年級口算天天練(可直接打印)
- 腦出血入院記錄
- 三甲復(fù)審應(yīng)對策略專家講座
- 碳交易與資產(chǎn)管理課件
- 小學(xué)生心理健康講座PPT
- 總裁辦公室部門職能概述
評論
0/150
提交評論