(完整版)MATLAB自學(xué)教程_第1頁(yè)
(完整版)MATLAB自學(xué)教程_第2頁(yè)
(完整版)MATLAB自學(xué)教程_第3頁(yè)
(完整版)MATLAB自學(xué)教程_第4頁(yè)
(完整版)MATLAB自學(xué)教程_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精講多練 matlab主講:張安莉 第第1 1章章 matlabmatlab語(yǔ)言的基本使用方法語(yǔ)言的基本使用方法 了解了解matlabmatlab的基本知識(shí)及其上機(jī)環(huán)境的基本知識(shí)及其上機(jī)環(huán)境 學(xué)會(huì)利用學(xué)會(huì)利用matlabmatlab進(jìn)行基本的數(shù)學(xué)運(yùn)算進(jìn)行基本的數(shù)學(xué)運(yùn)算matlab的工作環(huán)境的工作環(huán)境 matlab matlab 首先是一個(gè)視窗軟件,意思是說(shuō),它在一個(gè)圖形首先是一個(gè)視窗軟件,意思是說(shuō),它在一個(gè)圖形操作界面內(nèi)開(kāi)啟自己的視窗。我們目前都使用操作界面內(nèi)開(kāi)啟自己的視窗。我們目前都使用windows windows 操作操作界面,那也就是說(shuō),我們?cè)诮缑?,那也就是說(shuō),我們?cè)趙indowswi

2、ndows桌面上,雙擊桌面上,雙擊matlabmatlab的圖的圖標(biāo),就進(jìn)入標(biāo),就進(jìn)入matlabmatlab的工作環(huán)境,也就是它的視窗。如下圖:的工作環(huán)境,也就是它的視窗。如下圖:matlab的工作環(huán)境的工作環(huán)境 他的外框和功能表、工具列,都與一般的他的外框和功能表、工具列,都與一般的 windows windows 視視窗軟件窗軟件( (例如例如 ms-word) ms-word) 長(zhǎng)得很像,因此在一般性質(zhì)的操作長(zhǎng)得很像,因此在一般性質(zhì)的操作上,也是相同的。上,也是相同的。 matlab matlab 視窗的工作區(qū)域被切分為三塊:視窗的工作區(qū)域被切分為三塊:workspace(worksp

3、ace(工作空工作空間間) )、command historycommand history(歷史命令窗口)和(歷史命令窗口)和command windowcommand window(命令窗口)。(命令窗口)。 command windowcommand window是用戶(hù)與是用戶(hù)與matlabmatlab進(jìn)行人機(jī)對(duì)進(jìn)行人機(jī)對(duì)話(huà)的主要環(huán)境。話(huà)的主要環(huán)境。命令窗口:用戶(hù)在命令窗口:用戶(hù)在提示符后鍵入命令,回車(chē)后,系統(tǒng)會(huì)提示符后鍵入命令,回車(chē)后,系統(tǒng)會(huì)執(zhí)行輸入的命令,并給出計(jì)算結(jié)果。執(zhí)行輸入的命令,并給出計(jì)算結(jié)果。有很多的控制鍵和命令鍵可用于命令行的編輯。例如用有很多的控制鍵和命令鍵可用于命令行

4、的編輯。例如用,箭頭鍵可以將所用過(guò)的指令調(diào)回來(lái)重復(fù)使用。其他的如箭頭鍵可以將所用過(guò)的指令調(diào)回來(lái)重復(fù)使用。其他的如,home,end,delete,inserthome,end,delete,insert等,其功能一用便知。等,其功能一用便知。清除命令窗口:清除命令窗口:clcclc清除工作空間:清除工作空間:clear allclear all(清除全部變量);(清除全部變量);clear aclear a(清除已(清除已存在的變量存在的變量a a););1.1 基本計(jì)算基本計(jì)算 matlabmatlab具備最普通的掌上型計(jì)算器具備最普通的掌上型計(jì)算器 (calculator) (calcul

5、ator) 功能。功能。使用使用matlabmatlab進(jìn)行數(shù)學(xué)式的計(jì)算就象用計(jì)算器進(jìn)行數(shù)字運(yùn)算進(jìn)行數(shù)學(xué)式的計(jì)算就象用計(jì)算器進(jìn)行數(shù)字運(yùn)算一樣簡(jiǎn)便方便。一樣簡(jiǎn)便方便。 他可以做基本的四則運(yùn)算,例如:他可以做基本的四則運(yùn)算,例如: 假設(shè)要計(jì)算假設(shè)要計(jì)算 1+2+3+4+51+2+3+4+5的結(jié)果,則只需在命令窗的系統(tǒng)的結(jié)果,則只需在命令窗的系統(tǒng)提示符號(hào)提示符號(hào)之后鍵入該算式之后鍵入該算式: : 1+2+3+4+5 1+2+3+4+5 ans =ans =1515 他知道先乘除后加減,例如他知道先乘除后加減,例如 2 2* *3-4 3-4 ,得到正確的答案,得到正確的答案 2 2。 遇到需要先加減

6、的情況,可以用一對(duì)小括號(hào),例如:遇到需要先加減的情況,可以用一對(duì)小括號(hào),例如: (1 + 2) (1 + 2) * * (3 - 12) (3 - 12) 得到正確的答案得到正確的答案 -27-27。 計(jì)算器當(dāng)然不能只會(huì)計(jì)算整數(shù),他也會(huì)處理小數(shù)。例計(jì)算器當(dāng)然不能只會(huì)計(jì)算整數(shù),他也會(huì)處理小數(shù)。例如以下是一個(gè)除法計(jì)算如以下是一個(gè)除法計(jì)算 1 / 2 1 / 2 得到答案得到答案 0.50.5。但是。但是 matlab matlab 輸出的格式輸出的格式0.50000.5000。再試試看再試試看 1.23 1.23 * * 4 4 或者或者 1.2 1.2 * * 3.4 3.4 。 除了四則運(yùn)算與

7、括號(hào)之外,除了四則運(yùn)算與括號(hào)之外,matlab matlab 也具備一般掌上型也具備一般掌上型計(jì)算器該有的最基本功能,這包括計(jì)算平方根計(jì)算器該有的最基本功能,這包括計(jì)算平方根(square root)(square root),指,指令是令是 sqrt( )sqrt( ),例如,例如 sqrt(4) sqrt(4) 在在 sqrt( ) sqrt( ) 里面可以有其他的運(yùn)算,例如里面可以有其他的運(yùn)算,例如 sqrt(1+2) sqrt(1+2) 或或者者sqrt(1+2sqrt(1+2* *3) 3) 另一個(gè)基本功能是絕對(duì)值另一個(gè)基本功能是絕對(duì)值 (absolute value)(absolu

8、te value),指令是,指令是abs( )abs( ),例如,例如 abs(-3) abs(-3) 或者或者 abs(7-3) abs(7-3) 或者或者 abs(3-7) abs(3-7) 像像sqrt( )sqrt( )和和abs( )abs( )這種功能,在這種功能,在 matlab matlab 中稱(chēng)為函數(shù)中稱(chēng)為函數(shù)(function)(function)。函數(shù)可以和其他常數(shù)或函數(shù)做計(jì)算,例如函數(shù)可以和其他常數(shù)或函數(shù)做計(jì)算,例如 7+abs(3-7) 7+abs(3-7) 或者或者 sqrt(9)+abs(7-3) sqrt(9)+abs(7-3) matlabmatlab其實(shí)具備

9、一般工程性計(jì)算器該有的基本功能。其實(shí)具備一般工程性計(jì)算器該有的基本功能。這包這包括冪次方、指數(shù)與對(duì)數(shù)函數(shù)、三角與反三角函數(shù)等等。我們先括冪次方、指數(shù)與對(duì)數(shù)函數(shù)、三角與反三角函數(shù)等等。我們先看看冪次方。計(jì)算冪次方的符號(hào)就是常用的看看冪次方。計(jì)算冪次方的符號(hào)就是常用的 記號(hào)。指數(shù)部記號(hào)。指數(shù)部分可以是任意數(shù)。例如分可以是任意數(shù)。例如 22 22 或者或者 2(-1) 2(-1) 或者或者 2(1/2) 2(1/2) 或者或者 2(1.25)2(1.25) matlabmatlab具備一般工程性計(jì)算器該有的基本功能具備一般工程性計(jì)算器該有的基本功能指數(shù)指數(shù)與對(duì)數(shù)。與對(duì)數(shù)。 科學(xué)與工程領(lǐng)域慣用標(biāo)準(zhǔn)指數(shù)

10、函數(shù),也就是科學(xué)與工程領(lǐng)域慣用標(biāo)準(zhǔn)指數(shù)函數(shù),也就是以以e e為為底底的指數(shù)函數(shù)。其中,的指數(shù)函數(shù)。其中,e e是一個(gè)無(wú)理數(shù),大約等于是一個(gè)無(wú)理數(shù),大約等于2.718282.71828。 matlabmatlab并不提供并不提供e e這個(gè)常數(shù),我們不能按冪指數(shù)的形式來(lái)寫(xiě)這個(gè)常數(shù),我們不能按冪指數(shù)的形式來(lái)寫(xiě), ,比如:比如: e2 e2 !是非法的。是非法的。 matlabmatlab以函數(shù)以函數(shù)exp( )exp( )來(lái)計(jì)算以來(lái)計(jì)算以e e為底的指數(shù)函數(shù)。比如:為底的指數(shù)函數(shù)。比如: exp(1)exp(1)得到常數(shù)得到常數(shù)e e的近似值。的近似值。 xaxe matlab matlab 分別提

11、供三個(gè)函數(shù)分別提供三個(gè)函數(shù) log( ) log( ) 、 log10( ) log10( ) 和和 log2( )log2( ),分別表示以,分別表示以 e e 為底的對(duì)數(shù)(自然對(duì)數(shù)),以為底的對(duì)數(shù)(自然對(duì)數(shù)),以1010為底為底的對(duì)數(shù)(常用對(duì)數(shù))。例如的對(duì)數(shù)(常用對(duì)數(shù))。例如 log(exp(2) log(exp(2) 和和 log10(100) log10(100) 和和 log2(4) log2(4) 的答案都是的答案都是 2 2。 matlabmatlab具備一般工程性計(jì)算器該有的基本功能具備一般工程性計(jì)算器該有的基本功能三角與三角與反三角函數(shù)。反三角函數(shù)。 六個(gè)三角函數(shù)在六個(gè)三角函

12、數(shù)在matlabmatlab 中對(duì)應(yīng)的函數(shù)分別為中對(duì)應(yīng)的函數(shù)分別為:正弦()余弦()正切()余切()正割()余割()matlabmatlab具備一般工程性計(jì)算器該有的基本功能具備一般工程性計(jì)算器該有的基本功能三角與三角與反三角函數(shù)。反三角函數(shù)。 六個(gè)反三角函數(shù)在六個(gè)反三角函數(shù)在matlabmatlab 中對(duì)應(yīng)的函數(shù)分別為中對(duì)應(yīng)的函數(shù)分別為:反正弦()反余弦()反正切()反余切()反正割()反余割()他們的用法并沒(méi)有什么特殊的,需要注意的就是使用他們的用法并沒(méi)有什么特殊的,需要注意的就是使用三角函數(shù)時(shí),角度的單位是三角函數(shù)時(shí),角度的單位是“弧度弧度”,而不是,而不是“度度”如果如果題設(shè)的已知條件

13、給的是題設(shè)的已知條件給的是“度度”,我們需要將他轉(zhuǎn)化為弧度,我們需要將他轉(zhuǎn)化為弧度來(lái)計(jì)算。來(lái)計(jì)算。 matlab matlab 甚至超越了一般工程型計(jì)算器該有的基本功能,甚至超越了一般工程型計(jì)算器該有的基本功能,以后我們會(huì)看到更多超越的功能,現(xiàn)在先看一個(gè):復(fù)數(shù)。以后我們會(huì)看到更多超越的功能,現(xiàn)在先看一個(gè):復(fù)數(shù)。比如我們要比如我們要matlabmatlab計(jì)算計(jì)算 sqrt(-1)sqrt(-1)而以為他不會(huì),但是他回答而以為他不會(huì),但是他回答 0 + 1.0000i0 + 1.0000i matlab matlab 的所有運(yùn)算符號(hào)、所有函數(shù),都懂得如何做復(fù)數(shù)的所有運(yùn)算符號(hào)、所有函數(shù),都懂得如何

14、做復(fù)數(shù)計(jì)算。例如計(jì)算。例如 (1+2i)-(1-2i) (1+2i)-(1-2i) 或者或者 3 3* * (1+2i) (1+2i) abs( ) abs( ) 計(jì)算的是復(fù)數(shù)的長(zhǎng)度,也就是復(fù)數(shù)的模。例計(jì)算的是復(fù)數(shù)的長(zhǎng)度,也就是復(fù)數(shù)的模。例如:如:abs(3+4i) abs(3+4i) 我們知道答案的確是我們知道答案的確是5 5。 復(fù)數(shù)的平方根是由比較系數(shù)法求得,例如要找復(fù)數(shù)的平方根是由比較系數(shù)法求得,例如要找 1+2i 1+2i 的平方根,就計(jì)算的平方根,就計(jì)算 (a + bi)2 = 1+2i (a + bi)2 = 1+2i 然后比較系數(shù)得到聯(lián)立然后比較系數(shù)得到聯(lián)立方程式方程式 a2 -

15、 b2 = 1a2 - b2 = 1 2ab = 2 2ab = 2 matlab matlab 可以代勞,只要說(shuō)可以代勞,只要說(shuō) sqrt(1+2i) sqrt(1+2i) 就行了。就行了。由此,我們知道了由此,我們知道了matlabmatlab他認(rèn)識(shí)復(fù)數(shù)。他認(rèn)識(shí)復(fù)數(shù)。 1.2 變量變量 matlab matlab 比工程型計(jì)算器更好,除了因?yàn)樗麜?huì)計(jì)算復(fù)數(shù)之比工程型計(jì)算器更好,除了因?yàn)樗麜?huì)計(jì)算復(fù)數(shù)之外,還因?yàn)樗邮茏兞客?,還因?yàn)樗邮茏兞?(variable(variable)。變量是指在程序執(zhí)行)。變量是指在程序執(zhí)行過(guò)程中其值可以變化的量。簡(jiǎn)化來(lái)說(shuō),過(guò)程中其值可以變化的量。簡(jiǎn)化來(lái)說(shuō),mat

16、labmatlab的變量應(yīng)該有的變量應(yīng)該有兩個(gè)屬性:兩個(gè)屬性:(1 1)變量名)變量名(2 2)它的值)它的值想象變量是一口箱子,在箱子上貼了標(biāo)簽,表明他的名想象變量是一口箱子,在箱子上貼了標(biāo)簽,表明他的名字,箱子里面放著他的值。字,箱子里面放著他的值。箱子本來(lái)不存在,只要你的箱子本來(lái)不存在,只要你的matlab matlab 的操作視窗里的操作視窗里“呼喚呼喚”他的名字,他就出現(xiàn)了。比如:他的名字,他就出現(xiàn)了。比如:foo foo matlab matlab 可能回應(yīng)可能回應(yīng)undefined function or variable fooundefined function or var

17、iable foo,這就是這就是matlab matlab 沒(méi)有一個(gè)名叫沒(méi)有一個(gè)名叫 foo foo 的函數(shù),也沒(méi)有一口名叫的函數(shù),也沒(méi)有一口名叫 foo foo 的箱子。的箱子。但是,只要說(shuō)但是,只要說(shuō) foo = 5 foo = 5 matlab matlab 就自動(dòng)制造了一口名叫就自動(dòng)制造了一口名叫foofoo的箱子,并且在箱子里放的箱子,并且在箱子里放了數(shù)值了數(shù)值5 5。之后,你可以再說(shuō)之后,你可以再說(shuō) foo foo matlab matlab 就會(huì)告告訴你,就會(huì)告告訴你,foo foo 的值是的值是 5 5。 把一個(gè)數(shù)值放進(jìn)箱子的學(xué)名叫做指派把一個(gè)數(shù)值放進(jìn)箱子的學(xué)名叫做指派 (as

18、sign)(assign),也就是,也就是賦值。賦值。matlab matlab 用用 = = 作為指派符號(hào)。用法是作為指派符號(hào)。用法是 變量名字變量名字 = = 數(shù)值數(shù)值如果變量名字原來(lái)不存在,如果變量名字原來(lái)不存在,matlab matlab 就臨時(shí)開(kāi)一口新箱子給你;就臨時(shí)開(kāi)一口新箱子給你;如果它原來(lái)就存在,如果它原來(lái)就存在,matlab matlab 放進(jìn)新的數(shù)值,舊的便不見(jiàn)了,放進(jìn)新的數(shù)值,舊的便不見(jiàn)了,就好像新的數(shù)值覆蓋了舊的數(shù)值。因?yàn)橄渥永锩娴臄?shù)值很就好像新的數(shù)值覆蓋了舊的數(shù)值。因?yàn)橄渥永锩娴臄?shù)值很容易改變,所以我們稱(chēng)它為變量。容易改變,所以我們稱(chēng)它為變量。 指派的數(shù)值可以是一指派

19、的數(shù)值可以是一個(gè)常數(shù),例如個(gè)常數(shù),例如 foo = 2.7183 foo = 2.7183 或者任何計(jì)算的結(jié)果,例如或者任何計(jì)算的結(jié)果,例如foo = 2.7183(-2) foo = 2.7183(-2) 或者或者 foo = exp(ifoo = exp(i* *pi)pi) 變量的顯然用處就是節(jié)省打字。如果某個(gè)數(shù)值要一用再用,可變量的顯然用處就是節(jié)省打字。如果某個(gè)數(shù)值要一用再用,可以利用變量把它存起來(lái),將來(lái)再用。比如可以說(shuō)以利用變量把它存起來(lái),將來(lái)再用。比如可以說(shuō)x = (-8)(1/3) x = (-8)(1/3) 然后再說(shuō)然后再說(shuō) x3 x3 看看看看 matlab matlab 是

20、不是真的計(jì)算了是不是真的計(jì)算了 -8 -8 的三次方根?的三次方根?在在 matlab matlab 中,等號(hào)中,等號(hào) = = 是是“指派指派”的意思,不是數(shù)學(xué)中的意思,不是數(shù)學(xué)中“相等相等“的意思的意思 。比如。比如foo = 1/5; foo = 1/5; 那么那么 0.2 0.2 就被指派給就被指派給foofoo,但是,但是 matlab matlab 并沒(méi)有回應(yīng)??雌饋?lái)并沒(méi)有回應(yīng)??雌饋?lái)好像好像 matlab matlab 沒(méi)反應(yīng),但是其實(shí)他已經(jīng)做好了。不信的話(huà),就沒(méi)反應(yīng),但是其實(shí)他已經(jīng)做好了。不信的話(huà),就下指令下指令 foofoo 只寫(xiě)一個(gè)變量名字只寫(xiě)一個(gè)變量名字 ( (別加分號(hào)別加

21、分號(hào)) ),matlab matlab 就會(huì)回應(yīng)那個(gè)變量的就會(huì)回應(yīng)那個(gè)變量的值。其實(shí),這是一個(gè)簡(jiǎn)單的規(guī)則:變量如果出現(xiàn)在等號(hào)的左值。其實(shí),這是一個(gè)簡(jiǎn)單的規(guī)則:變量如果出現(xiàn)在等號(hào)的左邊,就是要被指派的意思。邊,就是要被指派的意思。除此而外,只要在除此而外,只要在 matlab matlab 指令的任何地方寫(xiě)出變量的名指令的任何地方寫(xiě)出變量的名字,就是要取出它的值。而取出來(lái)之后,那個(gè)數(shù)值就可以如同字,就是要取出它的值。而取出來(lái)之后,那個(gè)數(shù)值就可以如同常數(shù)般做任何計(jì)算。例如常數(shù)般做任何計(jì)算。例如 foo foo * * 5 5 或者或者 1 / foo 1 / foo 都會(huì)執(zhí)行正確的計(jì)算。都會(huì)執(zhí)行正

22、確的計(jì)算。 第章第章 matlabmatlab的數(shù)值運(yùn)算的數(shù)值運(yùn)算介紹介紹matlabmatlab的兩種基本的數(shù)值運(yùn)算:的兩種基本的數(shù)值運(yùn)算:、矩陣、矩陣、多項(xiàng)式、多項(xiàng)式.1 矩陣矩陣matlab matlab 原本就是原本就是 matrix laboratory (matrix laboratory (矩陣實(shí)驗(yàn)室矩陣實(shí)驗(yàn)室) ) 的縮的縮寫(xiě),所以他會(huì)認(rèn)識(shí)矩陣,我們應(yīng)該不會(huì)感到意外。我們用寫(xiě),所以他會(huì)認(rèn)識(shí)矩陣,我們應(yīng)該不會(huì)感到意外。我們用 a = 1, 2; 3, 4 a = 1, 2; 3, 4 指派一個(gè)指派一個(gè) 2x2 2x2 方陣給變量方陣給變量 a a。輸入矩陣的時(shí)候,我們用中括號(hào)夾住

23、兩端,用逗號(hào)(,)輸入矩陣的時(shí)候,我們用中括號(hào)夾住兩端,用逗號(hào)(,)或者空格分開(kāi)元素,用分號(hào)(;)分列。元素可以是常數(shù)、變或者空格分開(kāi)元素,用分號(hào)(;)分列。元素可以是常數(shù)、變量和任何計(jì)算出來(lái)的數(shù)值。量和任何計(jì)算出來(lái)的數(shù)值。例如例如x = pi;x = pi;b = pi, exp(1),log(2);sin(x/2),-cos(3b = pi, exp(1),log(2);sin(x/2),-cos(3* *x/4),1+2(-2)+3(-2)x/4),1+2(-2)+3(-2)生成一個(gè)生成一個(gè)2x3 2x3 矩陣,并指派給變量矩陣,并指派給變量 b b。matlabmatlab是一個(gè)超級(jí)計(jì)

24、算器是一個(gè)超級(jí)計(jì)算器以矩陣為物件。以矩陣為物件。一般的計(jì)算一般的計(jì)算器或數(shù)值計(jì)算軟件,都能做加減乘除這些運(yùn)算,通常也都用器或數(shù)值計(jì)算軟件,都能做加減乘除這些運(yùn)算,通常也都用作為運(yùn)算符,但是這些運(yùn)算符都是作用在兩個(gè)整數(shù)或者作為運(yùn)算符,但是這些運(yùn)算符都是作用在兩個(gè)整數(shù)或者有理數(shù)之間,很少能夠作用在兩個(gè)復(fù)數(shù)甚至是矩陣之間,而有理數(shù)之間,很少能夠作用在兩個(gè)復(fù)數(shù)甚至是矩陣之間,而matlab matlab 就可以。而且他還可以根據(jù)就可以。而且他還可以根據(jù)“物件物件”類(lèi)型的不同而決類(lèi)型的不同而決定該采取什么樣的步驟來(lái)進(jìn)行計(jì)算。定該采取什么樣的步驟來(lái)進(jìn)行計(jì)算。matlabmatlab對(duì)于矩陣與矩陣之間的運(yùn)算

25、的處理方法與線(xiàn)形代數(shù)對(duì)于矩陣與矩陣之間的運(yùn)算的處理方法與線(xiàn)形代數(shù)中是相同的。中是相同的。v矩陣的加減運(yùn)算矩陣的加減運(yùn)算v矩陣乘法矩陣乘法運(yùn)算符:運(yùn)算符:* *條件:前一個(gè)矩陣的列數(shù)和后一個(gè)矩陣的行數(shù)相同或者其中一個(gè)是標(biāo)量。條件:前一個(gè)矩陣的列數(shù)和后一個(gè)矩陣的行數(shù)相同或者其中一個(gè)是標(biāo)量。(記憶:前一個(gè)矩陣(記憶:前一個(gè)矩陣行行元素的個(gè)數(shù)與后一個(gè)矩陣元素的個(gè)數(shù)與后一個(gè)矩陣列列元素的個(gè)數(shù)相等)元素的個(gè)數(shù)相等)v矩陣除法矩陣除法運(yùn)算符:有兩種運(yùn)算符運(yùn)算符:有兩種運(yùn)算符“/”/”(除以)和(除以)和“”(除),分別表示右除和左(除),分別表示右除和左除。除。區(qū)別區(qū)別 : 凡是按規(guī)則可以和凡是按規(guī)則可以和

26、 相乘的矩陣,都可以根據(jù)左乘和右乘作相乘的矩陣,都可以根據(jù)左乘和右乘作“除除”或或“除除以以”的運(yùn)算。的運(yùn)算。例如:例如:線(xiàn)性聯(lián)立方程式可以寫(xiě)成線(xiàn)性聯(lián)立方程式可以寫(xiě)成 ax=b ax=b 的形式,其中的形式,其中 a a 是一個(gè)是一個(gè)n n維可逆方維可逆方陣,陣,b b是一個(gè)是一個(gè)n n維向量,則維向量,則 ab11ab1b x = ab x = ab 就是前述聯(lián)立方程式的一組解。就是前述聯(lián)立方程式的一組解。例如以下線(xiàn)性聯(lián)立方程式例如以下線(xiàn)性聯(lián)立方程式可以如此求解:令可以如此求解:令 a = 4 6 -1; 5 -8 3; 1 4 1a = 4 6 -1; 5 -8 3; 1 4 1 b =

27、1 0 0 b = 1 0 0 x = ab x = ab 得到一組數(shù)值解得到一組數(shù)值解 0.1667 0.0167 -0.23330.1667 0.0167 -0.2333 040385164321321321xxxxxxxxx求特征值求特征值函數(shù)函數(shù)eigeig()用來(lái)計(jì)算()用來(lái)計(jì)算n n 階矩陣的特征值。階矩陣的特征值。求方陣的行列式求方陣的行列式把方陣看作行列式,則對(duì)應(yīng)的行列式的值用函數(shù)把方陣看作行列式,則對(duì)應(yīng)的行列式的值用函數(shù)det()來(lái)計(jì)算。()來(lái)計(jì)算。g=1 2 0;2 5 -1;4 10 -1;det(g)ans= 1向量:向量: 向量可以看作是矩陣的組成元素。向量分為行向量

28、和列向量。其中行向量可以看作是矩陣的組成元素。向量分為行向量和列向量。其中行向量還可以看作是一組序列。一個(gè)行向量和一個(gè)列向量相乘得到一個(gè)向量還可以看作是一組序列。一個(gè)行向量和一個(gè)列向量相乘得到一個(gè)1x11x1的的方陣,也就是一個(gè)純量,這便是這兩個(gè)向量的方陣,也就是一個(gè)純量,這便是這兩個(gè)向量的“內(nèi)積內(nèi)積”。例如。例如 b = -3; -1; 0; 1b = -3; -1; 0; 1和和v = 2, 0, 2, 4v = 2, 0, 2, 4 則則,v ,v * * b b 結(jié)果為一個(gè)純量:結(jié)果為一個(gè)純量:-2-2 那既然向量是特殊的矩陣,那向量的加、減、乘運(yùn)算都和矩陣的運(yùn)算那既然向量是特殊的矩陣

29、,那向量的加、減、乘運(yùn)算都和矩陣的運(yùn)算法則相同。需要說(shuō)的是向量的構(gòu)造除了直接輸入外,還有幾種構(gòu)造方法:法則相同。需要說(shuō)的是向量的構(gòu)造除了直接輸入外,還有幾種構(gòu)造方法:1 1、利用字符利用字符“:”來(lái)生成行向量;來(lái)生成行向量; n:s:m:s:m 產(chǎn)生以產(chǎn)生以s s為間隔,從為間隔,從n n開(kāi)始,到開(kāi)始,到“不超過(guò)不超過(guò)”m m的數(shù)。的數(shù)。 對(duì)行向量的作轉(zhuǎn)置運(yùn)算就可以得到列向量。對(duì)行向量的作轉(zhuǎn)置運(yùn)算就可以得到列向量。2、利用內(nèi)部函數(shù)產(chǎn)生;利用內(nèi)部函數(shù)產(chǎn)生; linspace(a,b,c) 產(chǎn)生首項(xiàng)為產(chǎn)生首項(xiàng)為a,末項(xiàng)為,末項(xiàng)為b,項(xiàng)數(shù)為,項(xiàng)數(shù)為c的等差數(shù)列。的等差數(shù)列。v多項(xiàng)式多項(xiàng)式 在在mat

30、lab中,多項(xiàng)式用行向量表示。中,多項(xiàng)式用行向量表示。 在在matlab中,用中,用ploy(a)來(lái)產(chǎn)生行向量所對(duì)應(yīng)的形如)來(lái)產(chǎn)生行向量所對(duì)應(yīng)的形如所對(duì)應(yīng)的多項(xiàng)式。此多項(xiàng)式還是行向量的形式。有一個(gè)函數(shù)所對(duì)應(yīng)的多項(xiàng)式。此多項(xiàng)式還是行向量的形式。有一個(gè)函數(shù)poly2sym(p,x)可以將行向量形式的多項(xiàng)式轉(zhuǎn)化為多項(xiàng)式形式。其中,可以將行向量形式的多項(xiàng)式轉(zhuǎn)化為多項(xiàng)式形式。其中,p為要轉(zhuǎn)換的行向?yàn)橐D(zhuǎn)換的行向量,量,x為多項(xiàng)式中的變量。為多項(xiàng)式中的變量。 nnaaaap110.v多項(xiàng)式的運(yùn)算多項(xiàng)式的運(yùn)算1、加減運(yùn)算:加減運(yùn)算: 進(jìn)行加減運(yùn)算的多項(xiàng)式應(yīng)該具有相同的階次,如果階進(jìn)行加減運(yùn)算的多項(xiàng)式應(yīng)該具有

31、相同的階次,如果階次不同,需要補(bǔ)零。次不同,需要補(bǔ)零。例:求兩個(gè)多項(xiàng)式例:求兩個(gè)多項(xiàng)式 和和的和、積、商。的和、積、商。a =5 4 3 2 1;b =3 0 1;c =a+0 0 bc= 5 4 6 2 2對(duì)應(yīng)的結(jié)果是對(duì)應(yīng)的結(jié)果是2、乘法乘法多項(xiàng)式乘法采用多項(xiàng)式乘法采用conv()函數(shù)。()函數(shù)。12345)(234xxxxxa13)(2 xxb22645234xxxxc(x)3、除法除法 用用deconv()函數(shù)實(shí)現(xiàn)多項(xiàng)式除法。不同的是多項(xiàng)式的除法需要指定()函數(shù)實(shí)現(xiàn)多項(xiàng)式除法。不同的是多項(xiàng)式的除法需要指定商多項(xiàng)式和余數(shù)多項(xiàng)式兩部分。計(jì)算多項(xiàng)式除法形如商多項(xiàng)式和余數(shù)多項(xiàng)式兩部分。計(jì)算多項(xiàng)式

32、除法形如div,rest=deconv()()4、微分微分用函數(shù)用函數(shù)polyder()來(lái)實(shí)現(xiàn)多項(xiàng)式的微分。()來(lái)實(shí)現(xiàn)多項(xiàng)式的微分。例如:求多項(xiàng)式例如:求多項(xiàng)式 的微分。的微分。p=2 -6 3 0 7;q= polyder(p)q=8 -18 6 05、求根求根求多項(xiàng)式的根,用函數(shù)求多項(xiàng)式的根,用函數(shù)roots。70362)(234xxxxxp6、求值求值 我們想要計(jì)算多項(xiàng)式中未知數(shù)為某個(gè)特定值時(shí)該多項(xiàng)式的值,這時(shí),我們想要計(jì)算多項(xiàng)式中未知數(shù)為某個(gè)特定值時(shí)該多項(xiàng)式的值,這時(shí),我們會(huì)用到我們會(huì)用到polyval函數(shù)。舉例說(shuō)明用法:函數(shù)。舉例說(shuō)明用法:polyval(p,1)ans= 6我們可以

33、看出來(lái),此語(yǔ)句是求多項(xiàng)式我們可以看出來(lái),此語(yǔ)句是求多項(xiàng)式p當(dāng)當(dāng)x=1時(shí),多項(xiàng)式的值。時(shí),多項(xiàng)式的值。代表矩陣元素的變量代表矩陣元素的變量 如果如果a是一個(gè)矩陣,則是一個(gè)矩陣,則a是一個(gè)變量,是一個(gè)變量,matlab的精彩之處,就是變量的精彩之處,就是變量箱子可以?xún)?chǔ)存一個(gè)數(shù)值,也可以?xún)?chǔ)存一個(gè)矩陣。而變量?jī)?chǔ)存矩陣的時(shí)候,箱子可以?xún)?chǔ)存一個(gè)數(shù)值,也可以?xún)?chǔ)存一個(gè)矩陣。而變量?jī)?chǔ)存矩陣的時(shí)候,它會(huì)自動(dòng)衍生出來(lái)元素變量、行變量和列變量。它會(huì)自動(dòng)衍生出來(lái)元素變量、行變量和列變量。a( )括號(hào)內(nèi)的數(shù)字都代表對(duì)括號(hào)內(nèi)的數(shù)字都代表對(duì)元素足標(biāo)的操作。元素足標(biāo)的操作。例如:例如:a(1,1)代表代表a的(的(1,1)元素

34、,)元素,matlab會(huì)回應(yīng)它的值。如果要改變它,只要重會(huì)回應(yīng)它的值。如果要改變它,只要重新指派它即可;例如新指派它即可;例如a(1,1) = 2 a(1,1) = 2 * * a(1,1) a(1,1)就是把就是把a(bǔ)11a11元素置換成原來(lái)元素的兩倍。元素置換成原來(lái)元素的兩倍。a(2,:) 代表代表 a 的第二列,也同樣可以置換它,例如的第二列,也同樣可以置換它,例如 a(2,:) = -a(2,:)就是把第二列每個(gè)元素都變號(hào)。就是把第二列每個(gè)元素都變號(hào)。 如果如果 x 代表一個(gè)向量,則它的元素變量可以用比較簡(jiǎn)單的形式:代表一個(gè)向量,則它的元素變量可以用比較簡(jiǎn)單的形式: x(3) 就代表它的

35、第三個(gè)元素就代表它的第三個(gè)元素 x3,而,而 x(3) = x(1) + x(2) 就是把就是把 x3 置換成前兩個(gè)置換成前兩個(gè)元素之和。元素之和。 數(shù)組數(shù)組1、一維數(shù)組一維數(shù)組 數(shù)組是一個(gè)長(zhǎng)方形陣列,它可以具有不同的維數(shù)。在數(shù)組是一個(gè)長(zhǎng)方形陣列,它可以具有不同的維數(shù)。在matlab中,一中,一行的矩陣,我們可以看作一個(gè)行向量,同時(shí)也可以看作是一個(gè)一維數(shù)組。行的矩陣,我們可以看作一個(gè)行向量,同時(shí)也可以看作是一個(gè)一維數(shù)組。所以一維數(shù)組的構(gòu)造方法與前面的矩陣和行向量的構(gòu)造方法類(lèi)似。所以一維數(shù)組的構(gòu)造方法與前面的矩陣和行向量的構(gòu)造方法類(lèi)似。 根據(jù)前面的內(nèi)容,我們可以對(duì)已經(jīng)構(gòu)造好的數(shù)組中的某個(gè)元素進(jìn)行

36、操根據(jù)前面的內(nèi)容,我們可以對(duì)已經(jīng)構(gòu)造好的數(shù)組中的某個(gè)元素進(jìn)行操作。例如:作。例如:a=4:8; %構(gòu)造數(shù)組構(gòu)造數(shù)組a(2) %取取a的第二個(gè)元素的第二個(gè)元素a(4 2 5 1) %把原來(lái)把原來(lái)a數(shù)組的元素按數(shù)組的元素按4,2,5,1的次序重新排列的次序重新排列2、二維數(shù)組二維數(shù)組從數(shù)據(jù)結(jié)構(gòu)上看,矩陣和二維數(shù)組沒(méi)有什么區(qū)別,構(gòu)造方法類(lèi)似于矩陣。從數(shù)據(jù)結(jié)構(gòu)上看,矩陣和二維數(shù)組沒(méi)有什么區(qū)別,構(gòu)造方法類(lèi)似于矩陣。 第第3 3章章 matlabmatlab的符號(hào)運(yùn)算的符號(hào)運(yùn)算介紹介紹matlabmatlab的符號(hào)運(yùn)算的概念和使用的符號(hào)運(yùn)算的概念和使用 前兩章介紹的都是關(guān)于數(shù)值的運(yùn)算,那還有一類(lèi)運(yùn)算,比如

37、求極限,前兩章介紹的都是關(guān)于數(shù)值的運(yùn)算,那還有一類(lèi)運(yùn)算,比如求極限,對(duì)于這種運(yùn)算我們知道會(huì)有一些對(duì)于這種運(yùn)算我們知道會(huì)有一些x x、y y等的未知數(shù)的存在,對(duì)于這類(lèi)運(yùn)算,等的未知數(shù)的存在,對(duì)于這類(lèi)運(yùn)算,我們就要用到符號(hào)計(jì)算的功能。我們就要用到符號(hào)計(jì)算的功能。 那前面我們知道那前面我們知道m(xù)atlabmatlab有很多工具箱,符號(hào)計(jì)算就是由符號(hào)數(shù)學(xué)工具有很多工具箱,符號(hào)計(jì)算就是由符號(hào)數(shù)學(xué)工具箱支持完成的。符號(hào)工具箱是在箱支持完成的。符號(hào)工具箱是在maplemaple軟件的基礎(chǔ)上完成的。當(dāng)我們調(diào)用符軟件的基礎(chǔ)上完成的。當(dāng)我們調(diào)用符號(hào)函數(shù),也就是請(qǐng)求號(hào)函數(shù),也就是請(qǐng)求matlabmatlab進(jìn)行符號(hào)

38、計(jì)算的時(shí)候,系統(tǒng)交給進(jìn)行符號(hào)計(jì)算的時(shí)候,系統(tǒng)交給maplemaple進(jìn)行計(jì)進(jìn)行計(jì)算,計(jì)算完成后將結(jié)果返回系統(tǒng)的顯示窗口。算,計(jì)算完成后將結(jié)果返回系統(tǒng)的顯示窗口。符號(hào)變量和符號(hào)表達(dá)式符號(hào)變量和符號(hào)表達(dá)式符號(hào)變量和符號(hào)表達(dá)式用符號(hào)變量和符號(hào)表達(dá)式用symsym函數(shù)來(lái)創(chuàng)建。如函數(shù)來(lái)創(chuàng)建。如x=sym(x)x=sym(x)運(yùn)行后,符號(hào)變量運(yùn)行后,符號(hào)變量x x這口箱子里面存放字母這口箱子里面存放字母x x。如果要同時(shí)創(chuàng)建幾個(gè)符號(hào)變量,要用到如果要同時(shí)創(chuàng)建幾個(gè)符號(hào)變量,要用到symssyms函數(shù)。如函數(shù)。如syms a b c x ysyms a b c x y 在定義了符號(hào)變量的基礎(chǔ)上,就可以定義符號(hào)

39、表達(dá)式。如在定義了符號(hào)變量的基礎(chǔ)上,就可以定義符號(hào)表達(dá)式。如f=sym(af=sym(a* *x2+bx2+b* *x+c) x+c) % %定義符號(hào)表達(dá)式,并將它放入定義符號(hào)表達(dá)式,并將它放入f f這口箱子。這口箱子。這樣就可以很方便地分析一元二次方程這樣就可以很方便地分析一元二次方程 ,通過(guò)對(duì),通過(guò)對(duì)f f執(zhí)行符號(hào)操作,可以進(jìn)行積分、微分等符號(hào)運(yùn)算工作。如執(zhí)行符號(hào)操作,可以進(jìn)行積分、微分等符號(hào)運(yùn)算工作。如: :對(duì)變量對(duì)變量f f求微求微分,用微分函數(shù)分,用微分函數(shù)diff(diff()。)。 df=diff(f) df=diff(f)在符號(hào)表達(dá)式中,對(duì)于自變量的確定,如果事先沒(méi)有指定自變量

40、的在符號(hào)表達(dá)式中,對(duì)于自變量的確定,如果事先沒(méi)有指定自變量的情況下,情況下,matlabmatlab會(huì)按照數(shù)學(xué)常規(guī)自行決定誰(shuí)是自變量。確定原則:除了會(huì)按照數(shù)學(xué)常規(guī)自行決定誰(shuí)是自變量。確定原則:除了和之外,最接近的小寫(xiě)字母被認(rèn)定為自變量。和之外,最接近的小寫(xiě)字母被認(rèn)定為自變量。如果我們?cè)诰幊痰倪^(guò)程中,不能確定自變量,有一個(gè)函數(shù)可以告訴你:如果我們?cè)诰幊痰倪^(guò)程中,不能確定自變量,有一個(gè)函數(shù)可以告訴你:findsymfindsymcbxaxf2v微積分微積分1、極限極限 求極限是微積分的基礎(chǔ),求極限的函數(shù)求極限是微積分的基礎(chǔ),求極限的函數(shù)limit。 limit(f,x,a) %x趨近于趨近于a時(shí),

41、時(shí),f 的極限的極限 limit(f,x,a,left) %x左趨近于左趨近于a時(shí),時(shí),f 的極限的極限 limit(f,x,a,right) %x右趨近于右趨近于a時(shí),時(shí),f的極限的極限 看我們的教科書(shū)上看我們的教科書(shū)上p42的例題的例題2、微分微分 diff(f,t,n) %求求f 對(duì)獨(dú)立變量對(duì)獨(dú)立變量t的的n次微分值次微分值例:已知例:已知 %求求f(x)的微分的微分 3、積分積分 int(f,t,a,b) %求求f 對(duì)獨(dú)立變量對(duì)獨(dú)立變量t 在積分區(qū)間在積分區(qū)間a,b的積分值的積分值4、級(jí)數(shù)級(jí)數(shù) 自變量自變量v在在a,b之間取值時(shí),對(duì)通項(xiàng)之間取值時(shí),對(duì)通項(xiàng)s求和。用函數(shù)求和。用函數(shù)sym

42、sum(s,v,a,b) cbxaxxf2)( f對(duì)自變量對(duì)自變量v的泰勒級(jí)數(shù)展開(kāi)至的泰勒級(jí)數(shù)展開(kāi)至n階:階:toylor(f,v,n)例:求例:求sin(x)的前的前10項(xiàng)泰勒展開(kāi)式。項(xiàng)泰勒展開(kāi)式。方程求解方程求解1、代數(shù)方程代數(shù)方程solve(f)solve(f,a)2、常微分方程常微分方程dsolve(常微分方程式常微分方程式,初始條件初始條件,自變量自變量)v上機(jī)遺留問(wèn)題上機(jī)遺留問(wèn)題1、求微分方程求微分方程 的通解。的通解。syms x y;dsolve(d2y+4*dy+4*y=exp(-2*x),x)2、解微分方程解微分方程 。 dsolve(x2*dy+x*y=y2,y(1)=1

43、,x)1|,122xyyxyyxxeyyy2 44 第第4 4章章 計(jì)算結(jié)果的可視化計(jì)算結(jié)果的可視化介紹介紹matlabmatlab的兩種基本繪圖功能:的兩種基本繪圖功能:1 1、二維平面圖形、二維平面圖形 2 2、三維立體圖形、三維立體圖形v二維平面圖形二維平面圖形1、基本圖形函數(shù)基本圖形函數(shù)v折線(xiàn)圖折線(xiàn)圖plot(x,y)函數(shù)函數(shù)x,y是維度相同的序列或向量。比如:是維度相同的序列或向量。比如:x=0 1 2;y=0 1 0;plot(x,y) 如果我們用如果我們用300300段折線(xiàn)畫(huà)出段折線(xiàn)畫(huà)出sin(x)sin(x)在在-pi,pi-pi,pi區(qū)間內(nèi)的折線(xiàn)圖。想一想?yún)^(qū)間內(nèi)的折線(xiàn)圖。想一

44、想會(huì)出現(xiàn)什么樣的結(jié)果。會(huì)出現(xiàn)什么樣的結(jié)果。x = linspace(-pi, pi, 301);plot(x, sin(x) 如果我們要畫(huà)多條曲線(xiàn),也可以用如果我們要畫(huà)多條曲線(xiàn),也可以用plot函數(shù),不同的是把括號(hào)里面的函數(shù),不同的是把括號(hào)里面的x,y寫(xiě)作:寫(xiě)作:x,y1,x,y2,比如:畫(huà)一條正弦曲線(xiàn)和余弦曲線(xiàn)。比如:畫(huà)一條正弦曲線(xiàn)和余弦曲線(xiàn)。x=0:pi/10:2*piy1=sin(x)y2=cos(x)plot(x,y1,x,y2) plot(x,y1,r + -,x,y2,k * :)我們可以看到:圖形是以公共的我們可以看到:圖形是以公共的x元素為橫坐標(biāo)值,元素為橫坐標(biāo)值,y1,y2為

45、縱坐標(biāo)值繪為縱坐標(biāo)值繪制曲線(xiàn)圖的。制曲線(xiàn)圖的。如果想要圖形更加完美,我們可以用一些特殊的圖形函數(shù)對(duì)它進(jìn)行修如果想要圖形更加完美,我們可以用一些特殊的圖形函數(shù)對(duì)它進(jìn)行修飾。飾。xlabel(獨(dú)立變量獨(dú)立變量x)ylabel(獨(dú)立變量獨(dú)立變量y)ylabel(變量變量y)title(正弦和余弦曲線(xiàn)正弦和余弦曲線(xiàn))text(1.5,0.3,cos(x)gtext(sin(x)axis(0 2*pi -0.9 0.9)如果只給如果只給plot( )plot( )一個(gè)參數(shù),例如一個(gè)參數(shù),例如 plot(y) plot(y) 而而y y是一個(gè)是一個(gè)n n 維向量或列。維向量或列。則它的效果就相當(dāng)于則它的效

46、果就相當(dāng)于plot(1:n), y)plot(1:n), y)。也就是說(shuō),。也就是說(shuō),matlabmatlab以以y y的元素足標(biāo)的元素足標(biāo)作為它的橫軸坐標(biāo)。試試看作為它的橫軸坐標(biāo)。試試看 y = 1 4 0 2 3 5;plot(y) 2、多重折線(xiàn)圖多重折線(xiàn)圖 matlabmatlab在一張圖片上可以重復(fù)制圖。基本上,畫(huà)一張圖的指令,將會(huì)自在一張圖片上可以重復(fù)制圖?;旧?,畫(huà)一張圖的指令,將會(huì)自動(dòng)清除前一張圖。但是,如果下了指令動(dòng)清除前一張圖。但是,如果下了指令hold on,將不會(huì)清除前一張圖,將不會(huì)清除前一張圖,而是重復(fù)畫(huà)上去。下了而是重復(fù)畫(huà)上去。下了hold on指令的所有圖將會(huì)重迭在

47、一張圖片里,指令的所有圖將會(huì)重迭在一張圖片里,直到你下了直到你下了hold off為止。為止。為了示范,讓我們以為了示范,讓我們以 300 300 個(gè)折線(xiàn)段,在一張圖片中,畫(huà)出以下三個(gè)函個(gè)折線(xiàn)段,在一張圖片中,畫(huà)出以下三個(gè)函數(shù)在數(shù)在-pi, pi-pi, pi區(qū)間內(nèi)的曲線(xiàn)圖:區(qū)間內(nèi)的曲線(xiàn)圖: sin(x), cos(x), x 做法如下。做法如下。 x = linspace(0, 2*pi, 301); y = sin(x); plot(x, y, r); axis( 0 2*pi -1.2 1.2 ) hold on y = cos(x); plot(x, y, g); y = x; plo

48、t(x, y, b); hold off 我們還可以采用圖形窗口分割的方法,在同一個(gè)視圖窗口中畫(huà)出多個(gè)小我們還可以采用圖形窗口分割的方法,在同一個(gè)視圖窗口中畫(huà)出多個(gè)小圖形。這時(shí)要用到圖形。這時(shí)要用到subplot(n,m,k)subplot(n,m,k)。如果寫(xiě)。如果寫(xiě)subplot(2,2,1),subplot(2,2,1),即就是把圖形即就是把圖形窗口分割成窗口分割成2 2行行2 2列,在第列,在第1 1個(gè)位置(第個(gè)位置(第1 1行第行第1 1列)畫(huà)圖。列)畫(huà)圖。 x = linspace(0, 2*pi, 301); y = sin(x); subplot(2,2,1); plot(x,

49、 y); y = cos(x); subplot(2,2,2); plot(x, y);matlab對(duì)數(shù)據(jù)是按列存儲(chǔ)和計(jì)算的。對(duì)數(shù)據(jù)是按列存儲(chǔ)和計(jì)算的。v三維立體圖形三維立體圖形1、三維曲線(xiàn)圖三維曲線(xiàn)圖plot3函數(shù)調(diào)用格式:函數(shù)調(diào)用格式:plot3(x1,y1,z1,x2,y2,z2,)。其中。其中x1,y1,z1,x2,y2,z2等分別為維數(shù)相同的向量,分別存儲(chǔ)著曲線(xiàn)的三個(gè)坐標(biāo)值。等分別為維數(shù)相同的向量,分別存儲(chǔ)著曲線(xiàn)的三個(gè)坐標(biāo)值。例例 繪制方程繪制方程 的空間方程。的空間方程。 t=0:pi/10:2*pi; x=t; y=sin(t); z=cos(t); plot3(x,y,z,r:

50、p)( )在(tz,ttytxcos20sin grid on xlabel(x) ylabel(y) zlabel(z) title(sine and cosine)2、三維網(wǎng)格圖和曲面圖三維網(wǎng)格圖和曲面圖matlabmatlab在繪制三維網(wǎng)格圖與曲面圖時(shí),往往先將要繪制圖形的定義區(qū)域在繪制三維網(wǎng)格圖與曲面圖時(shí),往往先將要繪制圖形的定義區(qū)域分成若干網(wǎng)格,然后計(jì)算這些網(wǎng)格節(jié)點(diǎn)上的二元函數(shù)值,最后才能使用分成若干網(wǎng)格,然后計(jì)算這些網(wǎng)格節(jié)點(diǎn)上的二元函數(shù)值,最后才能使用meshmesh和和surfsurf函數(shù)繪制相應(yīng)的圖形。生成網(wǎng)格矩陣使用函數(shù)繪制相應(yīng)的圖形。生成網(wǎng)格矩陣使用meshgridmesh

51、grid函數(shù),其調(diào)函數(shù),其調(diào)用格式為:用格式為: u,v=meshgrid(x,y)函數(shù)說(shuō)明:利用向量函數(shù)說(shuō)明:利用向量x和和y生成網(wǎng)格矩陣生成網(wǎng)格矩陣u和和v,以便,以便mesh和和surf等函數(shù)等函數(shù)用來(lái)繪圖。其中用來(lái)繪圖。其中x、y分別是長(zhǎng)度為分別是長(zhǎng)度為n和和m升序排列的行向量。升序排列的行向量。生成的方法是將生成的方法是將x復(fù)制復(fù)制n次生成網(wǎng)格矩陣次生成網(wǎng)格矩陣u,將,將y轉(zhuǎn)置成列向量后復(fù)制轉(zhuǎn)置成列向量后復(fù)制m次生成網(wǎng)格矩陣次生成網(wǎng)格矩陣v。坐標(biāo)。坐標(biāo)(uij,vij)表示表示xoy平面上網(wǎng)格節(jié)點(diǎn)的坐標(biāo),第三維坐平面上網(wǎng)格節(jié)點(diǎn)的坐標(biāo),第三維坐標(biāo)標(biāo)zij=f(uij,vij)。例:給定

52、向量例:給定向量x=1 2 3 4,y=10 11 12 13 14,試由向量,試由向量x、y生成網(wǎng)生成網(wǎng)格矩陣。格矩陣。 x=1 2 3 4; %輸入向量輸入向量x y=10 11 12 13 14; %輸入向量輸入向量y u,v=meshgrid(x,y) %生成網(wǎng)格矩陣生成網(wǎng)格矩陣z= peaks(n)生成一個(gè)生成一個(gè)n階的高斯分布的方陣。階的高斯分布的方陣。繪制三維網(wǎng)格圖形或曲面圖形使用的繪制三維網(wǎng)格圖形或曲面圖形使用的mesh和和surf函數(shù)。函數(shù)。mesh函數(shù)及調(diào)用格式:函數(shù)及調(diào)用格式:mesh(x,y,z)說(shuō)明:在說(shuō)明:在x、y決定的網(wǎng)格區(qū)域上繪制數(shù)據(jù)決定的網(wǎng)格區(qū)域上繪制數(shù)據(jù)z的

53、網(wǎng)格圖。的網(wǎng)格圖。surf(x,y,z)在在xy確定的區(qū)域上繪制數(shù)據(jù)確定的區(qū)域上繪制數(shù)據(jù)z的三維曲面圖。其中的三維曲面圖。其中x、y是是向量。向量。例:在例:在-4x4,-4y4上繪制上繪制 的三維網(wǎng)格圖。的三維網(wǎng)格圖。 x,y=meshgrid(-4:0,125:4); %定義網(wǎng)格數(shù)據(jù)向量定義網(wǎng)格數(shù)據(jù)向量x,y z=x.2+y.2; %計(jì)算二元函數(shù)值計(jì)算二元函數(shù)值 mesh(x,y,z) %繪制三維網(wǎng)格圖繪制三維網(wǎng)格圖3、觀察點(diǎn)觀察點(diǎn)函數(shù)函數(shù)view(azinmuth,elevation)azinmuth:方位角。觀察點(diǎn)與坐標(biāo)原點(diǎn)的連線(xiàn)在水平面上的投影和:方位角。觀察點(diǎn)與坐標(biāo)原點(diǎn)的連線(xiàn)在水平

54、面上的投影和y軸軸負(fù)方向的夾角。(在水平面上)負(fù)方向的夾角。(在水平面上)elevation:仰角。觀察點(diǎn)與坐標(biāo)原點(diǎn)的連線(xiàn)和水平面的夾角。(與水平:仰角。觀察點(diǎn)與坐標(biāo)原點(diǎn)的連線(xiàn)和水平面的夾角。(與水平面垂直)面垂直)v動(dòng)畫(huà)動(dòng)畫(huà)v使用循環(huán)和觀察點(diǎn)設(shè)定來(lái)實(shí)現(xiàn)動(dòng)畫(huà)效果。使用循環(huán)和觀察點(diǎn)設(shè)定來(lái)實(shí)現(xiàn)動(dòng)畫(huà)效果。22yxz 第第5 5章章 matlabmatlab程序設(shè)計(jì)程序設(shè)計(jì) 1、命令文件和函數(shù)文件命令文件和函數(shù)文件 2、基本控制結(jié)構(gòu)和控制轉(zhuǎn)移語(yǔ)句基本控制結(jié)構(gòu)和控制轉(zhuǎn)移語(yǔ)句命令文件:命令文件:matlab提供兩種源程序文件格式:命令文件和函數(shù)文件。這兩種文件的提供兩種源程序文件格式:命令文件和函數(shù)文件。

55、這兩種文件的擴(kuò)展名相同,均為擴(kuò)展名相同,均為“.m”,又稱(chēng)為,又稱(chēng)為“m文件文件”。命令文件的執(zhí)行方式:在提示符后鍵入命令文件的文件名。命令文件的執(zhí)行方式:在提示符后鍵入命令文件的文件名。命令文件適合于用戶(hù)做需要理解得到結(jié)果的小規(guī)模運(yùn)算。命令文件適合于用戶(hù)做需要理解得到結(jié)果的小規(guī)模運(yùn)算。函數(shù)文件:函數(shù)文件:函數(shù)文件由函數(shù)文件由function語(yǔ)句引導(dǎo)。語(yǔ)句引導(dǎo)。其格式為:其格式為:function function 返回變量列表返回變量列表=函數(shù)名(輸入變量列表)函數(shù)名(輸入變量列表) 對(duì)于一個(gè)對(duì)于一個(gè)matlabmatlab程序員來(lái)說(shuō),編程序的一個(gè)主要內(nèi)容就是如何將解決一程序員來(lái)說(shuō),編程序的

56、一個(gè)主要內(nèi)容就是如何將解決一個(gè)應(yīng)用問(wèn)題所使用的算法用個(gè)應(yīng)用問(wèn)題所使用的算法用matlabmatlab語(yǔ)句和函數(shù)來(lái)描述出來(lái)。對(duì)于較復(fù)雜的語(yǔ)句和函數(shù)來(lái)描述出來(lái)。對(duì)于較復(fù)雜的問(wèn)題,我們就要通過(guò)組織程序的結(jié)構(gòu)來(lái)實(shí)現(xiàn)。首先介紹構(gòu)成程序的幾個(gè)基問(wèn)題,我們就要通過(guò)組織程序的結(jié)構(gòu)來(lái)實(shí)現(xiàn)。首先介紹構(gòu)成程序的幾個(gè)基本結(jié)構(gòu)。本結(jié)構(gòu)。、控制結(jié)構(gòu)控制結(jié)構(gòu)matlabmatlab提供三種常用控制結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。提供三種常用控制結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。v順序結(jié)構(gòu)順序結(jié)構(gòu)順序結(jié)構(gòu)由兩個(gè)程序模塊串接構(gòu)成。一個(gè)程序模塊可以是一條語(yǔ)句、一順序結(jié)構(gòu)由兩個(gè)程序模塊串接構(gòu)成。一個(gè)程序模塊可以是一條語(yǔ)句、一

57、段程序或一個(gè)函數(shù)等。先執(zhí)行程序模塊段程序或一個(gè)函數(shù)等。先執(zhí)行程序模塊1 1,再執(zhí)行程序模塊,再執(zhí)行程序模塊2 2,在在matlbmatlb編寫(xiě)程序時(shí),實(shí)現(xiàn)順序結(jié)構(gòu)的方法非常簡(jiǎn)單:只需要將兩個(gè)模編寫(xiě)程序時(shí),實(shí)現(xiàn)順序結(jié)構(gòu)的方法非常簡(jiǎn)單:只需要將兩個(gè)模塊順序排列就可以了。塊順序排列就可以了。選擇結(jié)構(gòu)選擇結(jié)構(gòu)1 1)if-else-endif-else-end語(yǔ)句語(yǔ)句其格式為:其格式為:if if 邏輯表達(dá)式邏輯表達(dá)式程序模塊程序模塊1 1;elseelse程序模塊程序模塊2 2;endend2 2)switchswitch語(yǔ)句語(yǔ)句其格式為:其格式為:switchswitch 表達(dá)式表達(dá)式case c

58、ase 數(shù)值數(shù)值1 1 模塊模塊1 1;case case 數(shù)值數(shù)值2 2模塊模塊2 2;otherwiseotherwiseendend演示函數(shù)演示函數(shù)trangradetrangrade循環(huán)語(yǔ)句循環(huán)語(yǔ)句1 1)whilewhile循環(huán)語(yǔ)句循環(huán)語(yǔ)句其格式為:其格式為:while while 邏輯表達(dá)式邏輯表達(dá)式循環(huán)體循環(huán)體endend注釋?zhuān)寒?dāng)表達(dá)式的結(jié)果為真時(shí),反復(fù)執(zhí)行其循環(huán)體內(nèi)的語(yǔ)句,直到邏輯表注釋?zhuān)寒?dāng)表達(dá)式的結(jié)果為真時(shí),反復(fù)執(zhí)行其循環(huán)體內(nèi)的語(yǔ)句,直到邏輯表達(dá)式的值為假時(shí)退出循環(huán)。達(dá)式的值為假時(shí)退出循環(huán)。1 1)forfor循環(huán)語(yǔ)句循環(huán)語(yǔ)句其格式為:其格式為:for for 變量變量= =

59、初值:增量:結(jié)束值初值:增量:結(jié)束值 程序模塊;程序模塊;endend演示函數(shù)演示函數(shù)xunhuan xunhuan 1.3.5 當(dāng)前目錄窗口和搜索路徑當(dāng)前目錄窗口和搜索路徑1當(dāng)前目錄窗口當(dāng)前目錄窗口當(dāng)前目錄是指當(dāng)前目錄是指matlab運(yùn)行文件時(shí)的工作運(yùn)行文件時(shí)的工作目錄,只有在當(dāng)前目錄或搜索路徑下的文目錄,只有在當(dāng)前目錄或搜索路徑下的文件、函數(shù)可以被運(yùn)行或調(diào)用。件、函數(shù)可以被運(yùn)行或調(diào)用。在當(dāng)前目錄窗口中可以顯示或改變當(dāng)前目在當(dāng)前目錄窗口中可以顯示或改變當(dāng)前目錄,還可以顯示當(dāng)前目錄下的文件并提供錄,還可以顯示當(dāng)前目錄下的文件并提供搜索功能。搜索功能。將用戶(hù)目錄設(shè)置成當(dāng)前目錄也可使用將用戶(hù)目錄設(shè)置成當(dāng)前目錄也可使用cd命命令。例如,將用戶(hù)目錄令。例如,將用戶(hù)目錄c:mydir設(shè)置為當(dāng)前設(shè)置為當(dāng)前目錄,可在命令窗口輸入命令:目錄,可在命令窗口輸入命令:cd c:mydir2matlab的搜索路徑的搜索路徑當(dāng)用戶(hù)在當(dāng)用戶(hù)在matlab命令窗口輸入一條命令后,命令窗口輸

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論