科學(xué)計(jì)算與matlab2基礎(chǔ)知識_第1頁
科學(xué)計(jì)算與matlab2基礎(chǔ)知識_第2頁
科學(xué)計(jì)算與matlab2基礎(chǔ)知識_第3頁
科學(xué)計(jì)算與matlab2基礎(chǔ)知識_第4頁
科學(xué)計(jì)算與matlab2基礎(chǔ)知識_第5頁
已閱讀5頁,還剩90頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、科學(xué)計(jì)算與科學(xué)計(jì)算與MATLABMATLAB主講:唐建國主講:唐建國中南大學(xué)材料科學(xué)與工程學(xué)院中南大學(xué)材料科學(xué)與工程學(xué)院 2013.92013.9第二講第二講 基礎(chǔ)知識基礎(chǔ)知識(數(shù)值、符號計(jì)算)(數(shù)值、符號計(jì)算)內(nèi)容提要內(nèi)容提要n1 MATLAB1 MATLAB的啟動(dòng)與運(yùn)行的啟動(dòng)與運(yùn)行nMatlabMatlab的啟動(dòng)和退出的啟動(dòng)和退出nMatlabMatlab的工作窗口的工作窗口nMatlabMatlab的指令行的操作的指令行的操作nMatlabMatlab的幫助系統(tǒng)的幫助系統(tǒng)n2 MATLAB2 MATLAB的矩陣與數(shù)值計(jì)算的矩陣與數(shù)值計(jì)算nMatlabMatlab數(shù)據(jù)類型數(shù)據(jù)類型nMatl

2、abMatlab的變量及其命名的變量及其命名nMatlabMatlab矩陣及其運(yùn)算矩陣及其運(yùn)算nMatlabMatlab的數(shù)組關(guān)系的數(shù)組關(guān)系/ /邏輯運(yùn)算邏輯運(yùn)算nMatlabMatlab的多項(xiàng)式運(yùn)算的多項(xiàng)式運(yùn)算n3 MATLAB3 MATLAB的符號計(jì)算的符號計(jì)算n小結(jié)小結(jié)1 1、 MATLAB MATLAB的啟動(dòng)與運(yùn)行的啟動(dòng)與運(yùn)行1.1 Matlab的啟動(dòng)和退出的啟動(dòng)和退出 2 以菜單方式啟動(dòng)以菜單方式啟動(dòng) (1)啟動(dòng))啟動(dòng) Windows (2)單擊)單擊開始開始 (3)依次選擇)依次選擇程序程序. MATLAB和和MATLAB7.0 1 以快捷方式啟動(dòng)以快捷方式啟動(dòng) (1)啟動(dòng))啟動(dòng)

3、Windows (2)雙擊)雙擊 MATLAB 圖標(biāo)圖標(biāo)退出退出1237 圖形窗口圖形窗口顯示繪圖結(jié)果,以及對圖形的顯示繪圖結(jié)果,以及對圖形的操作。操作。6 命令歷史記錄窗口命令歷史記錄窗口在默認(rèn)設(shè)置下,歷史記錄窗口中會(huì)自動(dòng)保在默認(rèn)設(shè)置下,歷史記錄窗口中會(huì)自動(dòng)保留自安裝起所有用過的命令的歷史記錄,留自安裝起所有用過的命令的歷史記錄,并且還標(biāo)明了使用時(shí)間,從而方便用戶查并且還標(biāo)明了使用時(shí)間,從而方便用戶查詢。而且,通過雙擊命令可進(jìn)行歷史命令詢。而且,通過雙擊命令可進(jìn)行歷史命令的再運(yùn)行。的再運(yùn)行。5工作空間窗口工作空間窗口工作空間是工作空間是MATLAB用于存儲各種變量和用于存儲各種變量和結(jié)果的內(nèi)

4、存空間。在該窗口中顯示工作空結(jié)果的內(nèi)存空間。在該窗口中顯示工作空間中所有變量的名稱、大小、字節(jié)數(shù)和變間中所有變量的名稱、大小、字節(jié)數(shù)和變量類型說明,可對變量進(jìn)行觀察、編輯、量類型說明,可對變量進(jìn)行觀察、編輯、保存和刪除。保存和刪除。1 菜單欄菜單欄在在MATLAB 7.0主窗口的菜單欄,共包含主窗口的菜單欄,共包含F(xiàn)ile、Edit、View、Web、Window和和Help 6個(gè)菜單項(xiàng)。個(gè)菜單項(xiàng)。2工具欄工具欄這些命令按鈕均有對應(yīng)的菜單命令,但比菜單命令使這些命令按鈕均有對應(yīng)的菜單命令,但比菜單命令使用起來更快捷、方便。用起來更快捷、方便。1.2 Matlab的工作窗口的工作窗口 3 當(dāng)前目

5、錄窗口當(dāng)前目錄窗口當(dāng)前目錄是指當(dāng)前目錄是指MATLAB運(yùn)行文件時(shí)的工作目錄,只運(yùn)行文件時(shí)的工作目錄,只有在當(dāng)前目錄或搜索路徑下的文件、函數(shù)可以被運(yùn)行有在當(dāng)前目錄或搜索路徑下的文件、函數(shù)可以被運(yùn)行或調(diào)用?;蛘{(diào)用。將用戶目錄設(shè)置成當(dāng)前目錄可使用將用戶目錄設(shè)置成當(dāng)前目錄可使用cd命令。命令。例如,例如,cd c:mydir用戶可以用用戶可以用path命令設(shè)置搜索路徑。命令設(shè)置搜索路徑。例如,例如,path(path,c:mydir)在在MATLAB的的File菜單中選菜單中選Set Path命令命令4 命令窗口命令窗口命令窗口是命令窗口是MATLAB的主要交互窗口,的主要交互窗口,用于輸入命令并顯示

6、除圖形以外的所用于輸入命令并顯示除圖形以外的所有執(zhí)行結(jié)果。有執(zhí)行結(jié)果。MATLAB命令窗口中的命令窗口中的“”為命令為命令提示符,表示提示符,表示MATLAB正在處于準(zhǔn)備正在處于準(zhǔn)備狀態(tài)。在命令提示符后鍵入命令并按狀態(tài)。在命令提示符后鍵入命令并按下回車鍵后,下回車鍵后,MATLAB就會(huì)解釋執(zhí)行就會(huì)解釋執(zhí)行所輸入的命令,并在命令后面給出計(jì)所輸入的命令,并在命令后面給出計(jì)算結(jié)果。算結(jié)果。一般來說,一個(gè)命令行輸入一條命令,一般來說,一個(gè)命令行輸入一條命令,命令行以回車結(jié)束。但一個(gè)命令行也命令行以回車結(jié)束。但一個(gè)命令行也可以輸入若干條命令,各命令之間以可以輸入若干條命令,各命令之間以逗號分隔,若前一命

7、令后帶有分號逗號分隔,若前一命令后帶有分號;則逗號可以省略。例如則逗號可以省略。例如p=15,m=35p=15;m=35如果一個(gè)命令行很長,可以使用續(xù)行如果一個(gè)命令行很長,可以使用續(xù)行符符1.3 Matlab的指令行的操作的指令行的操作 MATLAB是一種交互式語言,可以在命令窗口中直接是一種交互式語言,可以在命令窗口中直接輸入指令。輸入指令。指令名稱指令名稱指令功能指令功能Who或或whos顯示在當(dāng)前工作區(qū)中的所有變量名,前者顯示變量名,后者還顯顯示在當(dāng)前工作區(qū)中的所有變量名,前者顯示變量名,后者還顯示變量的大小、字節(jié)數(shù)和類型。示變量的大小、字節(jié)數(shù)和類型。disp(x)顯示顯示x的內(nèi)容,它可

8、以是矩陣或字符串。的內(nèi)容,它可以是矩陣或字符串。which test顯示顯示 M 文件文件 test.m 的目錄的目錄 type test在命令窗口下顯示在命令窗口下顯示 test.m 的內(nèi)容的內(nèi)容cd,chdir,pwd顯示目前的工作目錄顯示目前的工作目錄load(文件名)(文件名)調(diào)出調(diào)出mat文件中的數(shù)據(jù)。也可以調(diào)出文本文件,但是文本文件只文件中的數(shù)據(jù)。也可以調(diào)出文本文件,但是文本文件只能是由數(shù)字組成的矩陣形式。能是由數(shù)字組成的矩陣形式。diary建立一個(gè)文本文件,記錄在建立一個(gè)文本文件,記錄在MATLAB中輸入的所有命令和它們中輸入的所有命令和它們的輸出,但是不能包括圖形。如果想把你的

9、輸入存入一個(gè)特定的的輸出,但是不能包括圖形。如果想把你的輸入存入一個(gè)特定的文件中,可使用文件中,可使用 diary filename 建立文件。使用建立文件。使用diary off 命令命令可以停止記錄??梢酝V褂涗?。 通用操作指令通用操作指令1.4 Matlab的指令行的操作的指令行的操作 通用操作指令通用操作指令 名稱名稱指令功能指令功能what返回目前目錄下返回目前目錄下M,MAT,MEX文件的列表文件的列表echo控制運(yùn)行文字指令是否顯示控制運(yùn)行文字指令是否顯示clc擦除擦除MATLAB工作區(qū)中所有顯示的內(nèi)容工作區(qū)中所有顯示的內(nèi)容clf擦除擦除MATLAB圖形圖形 工作區(qū)中的圖形工作區(qū)

10、中的圖形hold控制當(dāng)前圖形窗口對象是否被刷新控制當(dāng)前圖形窗口對象是否被刷新dir,ls列出指定目錄下的文件和子目錄清單列出指定目錄下的文件和子目錄清單path顯示目前的搜索路徑,可以用顯示目前的搜索路徑,可以用File菜單中的菜單中的 Set path 觀察和修改路徑。觀察和修改路徑。pack搜集內(nèi)存碎塊以擴(kuò)大內(nèi)存空間搜集內(nèi)存碎塊以擴(kuò)大內(nèi)存空間quit退出工作區(qū)可以用退出工作區(qū)可以用,也可選擇也可選擇File菜單中菜單中Exit命令。命令。 指令行的編輯指令行的編輯 鍵鍵 盤盤 操操 作作 功功 能能 C t r l + p 重重 調(diào)調(diào) 前前 一一 行行 ( 用用 于于 調(diào)調(diào) 出出 前前 面

11、面 的的 命命 令令 進(jìn)進(jìn) 行行 修修 改改 , 重重 新新 計(jì)計(jì) 算算 ) C t r l + n 重重 調(diào)調(diào) 下下 一一 行行 C t r l + b 向向 前前 移移 一一 個(gè)個(gè) 字字 符符 C t r l + f 向向 后后 移移 一一 個(gè)個(gè) 字字 符符 C t r l + C t r l + r 右右 移移 一一 個(gè)個(gè) 字字 C t r l + C t r l + l 左左 移移 一一 個(gè)個(gè) 字字 H o m e C t r l + a 移移 動(dòng)動(dòng) 到到 行行 首首 E n d C t r l + e 移移 動(dòng)動(dòng) 到到 行行 尾尾 E s c C t r l + u 清清 除除 一一

12、 行行 D e l C t r l + d 刪刪 除除 光光 標(biāo)標(biāo) 處處 字字 符符 B a c k s p a c e C t r l + h 刪刪 除除 光光 標(biāo)標(biāo) 前前 的的 一一 個(gè)個(gè) 字字 符符 C t r l + k 刪刪 除除 到到 行行 尾尾 1.5 Matlab的幫助系統(tǒng)的幫助系統(tǒng)MATLAB幫助命令包括幫助命令包括help、lookfor以及模糊查詢以及模糊查詢1、help命令命令 在命令窗口中輸入在命令窗口中輸入help命令將會(huì)顯示當(dāng)前幫助系統(tǒng)中所命令將會(huì)顯示當(dāng)前幫助系統(tǒng)中所包含的所有項(xiàng)目,即搜索路徑中所有的目錄名稱。也可包含的所有項(xiàng)目,即搜索路徑中所有的目錄名稱。也可以

13、通過以通過help加函數(shù)名來顯示該函數(shù)的幫助說明。加函數(shù)名來顯示該函數(shù)的幫助說明。2、lookfor命令命令 對搜索范圍內(nèi)的對搜索范圍內(nèi)的M文件的第一行進(jìn)行關(guān)鍵字搜文件的第一行進(jìn)行關(guān)鍵字搜索,條件比較寬松。若對索,條件比較寬松。若對M文件進(jìn)行全文搜索,加文件進(jìn)行全文搜索,加上上-all選項(xiàng)。選項(xiàng)。3、模糊查詢、模糊查詢 MATLAB 6.0以上的版本提供了一種類似模糊查以上的版本提供了一種類似模糊查詢的命令查詢方法,只需要輸入命令的前幾個(gè)字母,詢的命令查詢方法,只需要輸入命令的前幾個(gè)字母,然后按然后按Tab鍵,系統(tǒng)就會(huì)列出所有以這幾個(gè)字母開鍵,系統(tǒng)就會(huì)列出所有以這幾個(gè)字母開頭的命令。頭的命令。

14、2 2、MATLABMATLAB的矩陣與數(shù)值計(jì)算的矩陣與數(shù)值計(jì)算n2.1 Matlab矩陣與數(shù)據(jù)類型矩陣與數(shù)據(jù)類型MATLAB中共有中共有15種基本數(shù)據(jù)類型和種基本數(shù)據(jù)類型和2種自定義類型。種自定義類型。Matlab數(shù)據(jù)邏輯類字符類數(shù)值類單元結(jié)構(gòu)用戶類Java類函數(shù)句柄int8,uint8int16,uint16int32,uint32int64,uint64singledouble MATLAB的基本數(shù)據(jù)單元是矩陣,在的基本數(shù)據(jù)單元是矩陣,在MATLAB 中不用描述矩陣的類型和維數(shù),它們由輸入的格式中不用描述矩陣的類型和維數(shù),它們由輸入的格式和內(nèi)容決定。和內(nèi)容決定。 常用的創(chuàng)建矩陣變量的方法

15、:常用的創(chuàng)建矩陣變量的方法:1. 在命令窗口中輸入。在命令窗口中輸入。2. 語句生成。語句生成。3. 函數(shù)生成。函數(shù)生成。4. 小矩陣生成大矩陣。小矩陣生成大矩陣。5. 利用矩陣編輯器生成。利用矩陣編輯器生成。1 在命令窗口中輸入在命令窗口中輸入原則:原則:矩陣的元素排列在方括號內(nèi)矩陣的元素排列在方括號內(nèi)按行輸入,每行內(nèi)的元素使用空格或逗號按行輸入,每行內(nèi)的元素使用空格或逗號(,)隔開隔開行與行之間用分號行與行之間用分號(;)或回車鍵隔開或回車鍵隔開矩陣生成不但可以使用純數(shù)字(含復(fù)數(shù)),也可以矩陣生成不但可以使用純數(shù)字(含復(fù)數(shù)),也可以使用變量和表達(dá)式使用變量和表達(dá)式2 語句生成語句生成 (1

16、)等差數(shù)列向量矩陣)等差數(shù)列向量矩陣 A=a:h:b 或或 A=a:h:b 其中其中a為起始值,為起始值,h為步長,為步長,b為終止值。當(dāng)為終止值。當(dāng)步長為步長為1時(shí)可省略時(shí)可省略h參數(shù);另外參數(shù);另外h也可以取負(fù)數(shù)。也可以取負(fù)數(shù)。(2)A=linspace(a,b,n)在線性空間上,行矢量的值從在線性空間上,行矢量的值從a到到b,數(shù)據(jù)個(gè)數(shù)為,數(shù)據(jù)個(gè)數(shù)為n,缺省,缺省n為為100。與。與 A=a:(b-a)/(n-1):b相同相同3、函數(shù)生成、函數(shù)生成常用創(chuàng)建矩陣函數(shù)常用創(chuàng)建矩陣函數(shù)函函 數(shù)數(shù)說說 明明ones(m,n)產(chǎn)生產(chǎn)生 mXn 全全 1 矩陣矩陣zeros(m,n) 產(chǎn)生產(chǎn)生 mXn

17、 全全 0 矩陣矩陣rand(m,n) 產(chǎn)生產(chǎn)生 mXn 隨機(jī)矩陣隨機(jī)矩陣length(X)計(jì)算向量計(jì)算向量X中元素個(gè)數(shù)中元素個(gè)數(shù)size(X)矩陣矩陣X的行數(shù)與列數(shù)的行數(shù)與列數(shù)4、小矩陣生成大矩陣、小矩陣生成大矩陣Matlab中,可以將小矩陣連接起來生成較大的矩陣。中,可以將小矩陣連接起來生成較大的矩陣。5 利用矩陣編輯器生成利用矩陣編輯器生成MATLAB的默認(rèn)數(shù)據(jù)存儲類型為雙精度浮點(diǎn)類型(double),可以利用轉(zhuǎn)化函數(shù)存儲為其它類型,所有的數(shù)值類型數(shù)據(jù)均可作為數(shù)組的索引。數(shù)據(jù)類型取值范圍類型轉(zhuǎn)化函數(shù)有符號8位整數(shù)int8有符號16位整數(shù)int16有符號32位整數(shù)int32有符號64位整數(shù)

18、int64無符號8位整數(shù)uint8無符號16位整數(shù)uint16無符號32位整數(shù)uint32無符號64位整數(shù)uint64整數(shù)類型的取值范圍和類型轉(zhuǎn)化函數(shù)MATLAB的浮點(diǎn)數(shù)分為單精度(single)和雙精度(double)。默認(rèn)數(shù)據(jù)類型double需要64位存儲空間,具體如下:636252510符號e: 指數(shù)部分且有1023的偏移量f: 小數(shù)部分Single需要32位存儲空間,具體如下:313023220符號指數(shù)部分且有127的偏移量小數(shù)部分 eps=2-52=2.2204e-16, realmin=2-1022=2.2251e-308, realmax=(2-eps)*21023=1.7977

19、e308MATLAB中分別用Inf和Inf表示正無窮(超出realmax)和負(fù)無窮(小于realmin)。用NAN表示非數(shù)。MATLAB表示復(fù)數(shù)時(shí),可用字母i或j表示虛部,創(chuàng)建復(fù)數(shù)可直接輸入或利用函數(shù)complex(a,b)。a=2-3ia= 2.00003.0000ia=2,b=3, complex(a,b)a= 2b= 3ans= 2.00003.0000i利用函數(shù)real(z)和imag(z)可以獲得復(fù)數(shù)z的實(shí)部和虛部。 MATLAB數(shù)值常量數(shù)值常量變變 量量說說 明明ans用于結(jié)果的缺省變量名用于結(jié)果的缺省變量名i j虛數(shù)單位,定義虛數(shù)單位,定義pi圓周率圓周率Inf無窮大無窮大 如如

20、1/0NaN不確定量不確定量 如如0/0realmin最小正實(shí)數(shù)最小正實(shí)數(shù)2.22507385850720110-308realmax最大正實(shí)數(shù)最大正實(shí)數(shù)1.79769313486231610+3081 如果結(jié)果為整數(shù),則顯示沒有小數(shù);如果結(jié)果不如果結(jié)果為整數(shù),則顯示沒有小數(shù);如果結(jié)果不是整數(shù),則輸出形式有:是整數(shù),則輸出形式有:format (short):短格式(:短格式(5位定點(diǎn)數(shù))位定點(diǎn)數(shù))99.1253format long:長格式(:長格式(15位定點(diǎn)數(shù)位定點(diǎn)數(shù) ) 99.12345678900000format short e:短格式:短格式e方式方式 9.9123e+001fo

21、rmat long e:長格式:長格式e方式方式 9.912345678900000e+001format bank:2位十進(jìn)制位十進(jìn)制 99.12format hex:十六進(jìn)制格式:十六進(jìn)制格式邏輯類型的變量有兩種取值,邏輯真和邏輯假,分別用邏輯類型的變量有兩種取值,邏輯真和邏輯假,分別用“1”和和“0”表示。表示。通過輸入“true”或”false”直接創(chuàng)建邏輯數(shù)組;通過對數(shù)組進(jìn)行邏輯運(yùn)算創(chuàng)建;通過MATLAB函數(shù)產(chǎn)生邏輯數(shù)組;函數(shù)操作true、false設(shè)值為真或假logical數(shù)值類型轉(zhuǎn)化為邏輯類型&(and)、|(or)、(not)、xor、any、all邏輯運(yùn)算&、

22、|與、或=、=、=關(guān)系運(yùn)算is*、cellfun測試運(yùn)算strcmp、strncmp、strcmpi、strncmpi字符串比較字符串型數(shù)據(jù):用英文格式單引號加以界定的數(shù)字、字符、字符串型數(shù)據(jù):用英文格式單引號加以界定的數(shù)字、字符、各種符號、表達(dá)式、方程式和漢字等。執(zhí)行用各種符號、表達(dá)式、方程式和漢字等。執(zhí)行用eval。如果要?jiǎng)?chuàng)建二維字符數(shù)組,則要求每行長度相同。如果長度不同,需要用空格來補(bǔ)充。m=Yanbian ; University補(bǔ)3個(gè)空格,使長度相等函數(shù)描述cellstr將字符數(shù)組轉(zhuǎn)化為字符串單元數(shù)組char將字符串單元數(shù)組轉(zhuǎn)化為字符數(shù)組deblank移除字符串尾部的空格iscell

23、str判斷是否為字符串單元數(shù)組sort元素排序strcat串接字符串strcmp比較字符串strmatch查找匹配字符串結(jié)構(gòu)是根據(jù)字段組合起來的不同類型的數(shù)據(jù)集合。=Li Ming;student.course=10135 10096;student. score=87 92student(2).name=Zhang Li;student(2).course=10135 10096;student(2). score=82 761.利用賦值語句創(chuàng)建結(jié)構(gòu)2.利用結(jié)構(gòu)函數(shù)創(chuàng)建結(jié)構(gòu)strArray=srtuct(field1,val1, field2,val2, )field

24、field和和valval為字段和對應(yīng)值。為字段和對應(yīng)值。字段值可以是單一值或單元數(shù)組字段值可以是單一值或單元數(shù)組,但是必須保證它們具有相同的,但是必須保證它們具有相同的大小。大小。stu=struct(n,Wang Fang,c,10568 10063,s,76 82);stu(2)=struct(n,Zhao Yun,c,10568 10063,s,92 87);stu=struct(n,Wang Fang,Zhao Yun,c,10568 10063,10568 10063,s,76 82,96 87)單元數(shù)組可以將不同類型或不同尺寸的數(shù)據(jù)存儲到同一個(gè)單元數(shù)組可以將不同類型或不同尺寸的數(shù)

25、據(jù)存儲到同一個(gè)數(shù)組當(dāng)中。數(shù)組當(dāng)中。創(chuàng)建單元數(shù)組與創(chuàng)建矩陣基本相同,區(qū)別在于矩陣用創(chuàng)建單元數(shù)組與創(chuàng)建矩陣基本相同,區(qū)別在于矩陣用,單,單元數(shù)組用元數(shù)組用。a=2 4 7;3 9 6;1 8 5, Li Ming,2+3i,1:2:10a = 3x3 double Li Ming 2.0000 + 3.0000i 1x5 double訪問單元數(shù)組的方法與矩陣索引方法基本相同,區(qū)別在于單訪問單元數(shù)組的方法與矩陣索引方法基本相同,區(qū)別在于單元數(shù)組索引時(shí),需要用元數(shù)組索引時(shí),需要用將下標(biāo)置于其中。將下標(biāo)置于其中。A1,1=2 5;7 3;A1,2=rand(3,3);B=sum(A1,1) B = 9

26、8(1) 在已有函數(shù)名前加符號,即可創(chuàng)建函數(shù)句柄;例如,存在已有函數(shù),名為functionname,創(chuàng)建一個(gè)函數(shù)句柄fun1 :fun1=functionname(2) 可提供匿名函數(shù)創(chuàng)建一個(gè)函數(shù)句柄。例如,創(chuàng)建一個(gè)計(jì)算x平方的函數(shù):sqr=(x)x.2要執(zhí)行與函數(shù)句柄相關(guān)的函數(shù),需將函數(shù)句柄看作函數(shù)名。要執(zhí)行與函數(shù)句柄相關(guān)的函數(shù),需將函數(shù)句柄看作函數(shù)名。 sqr=(x)x.2; a=sqr(5)a = 25n 2.2 Matlab的變量及其命名的變量及其命名 MATLAB 不需要在輸入變量的時(shí)候進(jìn)行聲明,也不需要在輸入變量的時(shí)候進(jìn)行聲明,也不需要指定其階數(shù),若輸入的變量已經(jīng)存在,則新變量不需

27、要指定其階數(shù),若輸入的變量已經(jīng)存在,則新變量替換原有變量。替換原有變量。變量的命名規(guī)則(標(biāo)識符):變量的命名規(guī)則(標(biāo)識符):1. 區(qū)分大小寫。區(qū)分大小寫。2. 字符長度不大于字符長度不大于63個(gè)。個(gè)。3. 變量名應(yīng)以字母開頭,變量名可以由字母、數(shù)字、和變量名應(yīng)以字母開頭,變量名可以由字母、數(shù)字、和下劃線組成。變量名中不得含空格、標(biāo)點(diǎn)。下劃線組成。變量名中不得含空格、標(biāo)點(diǎn)。4. 避免使用函數(shù)名和系統(tǒng)保留字。避免使用函數(shù)名和系統(tǒng)保留字。保存和載入保存和載入workspace(1)save filename variables 將變量列表將變量列表variables所列出的變量保存到磁盤所列出的變量

28、保存到磁盤文件文件filename中,中,Variables所表示的變量列表所表示的變量列表中,不能用逗號,各個(gè)不同的變量之間只能用中,不能用逗號,各個(gè)不同的變量之間只能用空格來分隔??崭駚矸指?。 未列出未列出variables時(shí),表示將當(dāng)前工作空間中所時(shí),表示將當(dāng)前工作空間中所有變量都保持到磁盤文件中。有變量都保持到磁盤文件中。 缺省的磁盤文件擴(kuò)展名為缺省的磁盤文件擴(kuò)展名為“.mat”,可以使用,可以使用“-”定義不同的存儲格式(定義不同的存儲格式(ASCII、V4等)等)(2)load filename variables 將以前用將以前用save命令保存的變量命令保存的變量variabl

29、es從磁盤從磁盤文件中調(diào)入文件中調(diào)入MATLAB工作空間。工作空間。 用用load 命令調(diào)入的變量,其名稱為用命令調(diào)入的變量,其名稱為用save命令命令保存時(shí)的名稱,取值也一樣。保存時(shí)的名稱,取值也一樣。 Variables所表示的變量列表中,不能用逗號,所表示的變量列表中,不能用逗號,各個(gè)不同的變量之間只能用空格來分隔。各個(gè)不同的變量之間只能用空格來分隔。 未列出未列出variables時(shí),表示將磁盤文件中的所有時(shí),表示將磁盤文件中的所有變量都調(diào)入工作空間。變量都調(diào)入工作空間。說明:說明:輸入一個(gè)語句并以回車結(jié)束,則在工作區(qū)中顯示計(jì)算的結(jié)果;輸入一個(gè)語句并以回車結(jié)束,則在工作區(qū)中顯示計(jì)算的結(jié)

30、果;若變量和若變量和“=”省略,則名為省略,則名為ans的變量自動(dòng)建立;的變量自動(dòng)建立;如果語句以分號如果語句以分號“;”結(jié)束,結(jié)束,MATLAB只進(jìn)行計(jì)算,不顯示計(jì)算的結(jié)果;只進(jìn)行計(jì)算,不顯示計(jì)算的結(jié)果;如果一個(gè)表達(dá)式太長,可以用續(xù)行號如果一個(gè)表達(dá)式太長,可以用續(xù)行號 將其延續(xù)到下一行。將其延續(xù)到下一行。一行中可以寫幾個(gè)語句,它們之間要用逗號或分號分開。一行中可以寫幾個(gè)語句,它們之間要用逗號或分號分開。表達(dá)式中的變量必須是已經(jīng)定義的。表達(dá)式中的變量必須是已經(jīng)定義的。 MATLAB 語句語句 一般形式為:一般形式為: 變量變量 = 表達(dá)式表達(dá)式 對變量操作的命令對變量操作的命令變變 量量說說

31、明明whowho顯示當(dāng)前工作空間中所有變量的一個(gè)簡單列表顯示當(dāng)前工作空間中所有變量的一個(gè)簡單列表whoswhos列出變量的大小、數(shù)據(jù)格式等詳細(xì)信息列出變量的大小、數(shù)據(jù)格式等詳細(xì)信息clearclear清除工作空間中所有的變量清除工作空間中所有的變量clear clear 變量名變量名清除指定的變量清除指定的變量save save 文件名文件名 變變量名量名將變量列中所列出的變量保存到磁盤文件中,變量列表中,將變量列中所列出的變量保存到磁盤文件中,變量列表中,各個(gè)不同的變量之間不能用逗號,只能用空格來分隔。各個(gè)不同的變量之間不能用逗號,只能用空格來分隔。load load 文件名文件名 變變量名

32、量名將以前用將以前用savesave命令保存的變量從磁盤文件中調(diào)入命令保存的變量從磁盤文件中調(diào)入MATLABMATLAB工工作空間。作空間。1引用矩陣元素引用矩陣元素通過下標(biāo)引用矩陣的元素通過下標(biāo)引用矩陣的元素矩陣元素的序號來引用矩陣元素。按列排序,矩陣元素的序號來引用矩陣元素。按列排序, mn矩陣矩陣A,矩陣元素,矩陣元素A(i,j)的序號為的序號為(j-1)*m+i。 n2.3 Matlab矩陣運(yùn)算矩陣運(yùn)算2矩陣的拆分矩陣的拆分A(:,j)表示取表示取A矩陣的第矩陣的第j列全部元素;列全部元素;A(i,:)表示表示A矩陣第矩陣第i行的全部元素;行的全部元素;A(i:i+m,:)表示取表示取

33、A矩陣第矩陣第ii+m行的全部元素;行的全部元素;A(:,k:k+m)表示取表示取A矩陣第矩陣第kk+m列的全部元素;列的全部元素;A(i:i+m,k:k+m)表示取表示取A矩陣第矩陣第ii+m行內(nèi),并在第行內(nèi),并在第kk+m列中的所有元素。列中的所有元素。3.矩陣算法矩陣算法 和和 數(shù)組算法數(shù)組算法矩陣算法矩陣算法 把矩陣看作一個(gè)整體,各種運(yùn)算完全按照線性代把矩陣看作一個(gè)整體,各種運(yùn)算完全按照線性代數(shù)代表的矩陣運(yùn)算法則進(jìn)行,運(yùn)算的書寫形式和數(shù)代表的矩陣運(yùn)算法則進(jìn)行,運(yùn)算的書寫形式和運(yùn)算符號都與矩陣?yán)碚撏耆嗤_\(yùn)算符號都與矩陣?yán)碚撏耆嗤?。?shù)組算法數(shù)組算法把矩陣看作由其元素構(gòu)成的一組數(shù)據(jù)(數(shù)

34、組),把矩陣看作由其元素構(gòu)成的一組數(shù)據(jù)(數(shù)組),各種運(yùn)算是在參與運(yùn)算矩陣的對應(yīng)元素之間進(jìn)行各種運(yùn)算是在參與運(yùn)算矩陣的對應(yīng)元素之間進(jìn)行的數(shù)與數(shù)的運(yùn)算,這種運(yùn)算方便對大批數(shù)據(jù)的處的數(shù)與數(shù)的運(yùn)算,這種運(yùn)算方便對大批數(shù)據(jù)的處理和一次求出多個(gè)函數(shù)值。理和一次求出多個(gè)函數(shù)值。 數(shù)組算法的運(yùn)算符主要有數(shù)組算法的運(yùn)算符主要有 . .* * ./ . . ./ . . Matlab運(yùn)算符運(yùn)算符 算術(shù)運(yùn)算符算術(shù)運(yùn)算符操作符操作符說說 明明+加加 A+B A B必須大小相同,或一個(gè)是標(biāo)量必須大小相同,或一個(gè)是標(biāo)量-減減 A-B A B必須大小相同,或一個(gè)是標(biāo)量必須大小相同,或一個(gè)是標(biāo)量*矩陣乘矩陣乘 A*B A 的

35、列數(shù)等于的列數(shù)等于B的行數(shù),一個(gè)可以是標(biāo)量的行數(shù),一個(gè)可以是標(biāo)量.*數(shù)組乘數(shù)組乘 A.*B A B必須大小相同,一個(gè)可以是標(biāo)量必須大小相同,一個(gè)可以是標(biāo)量矩陣左除矩陣左除 AB =A-1* B 等效于等效于A*X=B求求X inv(A).數(shù)組左除數(shù)組左除 A.B Bij/Aij/矩陣右除矩陣右除 A/B =A*B-1 等效于等效于X*B=A求求X./數(shù)組右除數(shù)組右除 A./B Aij/Bij矩陣乘方矩陣乘方 Ap A自乘自乘p次次.數(shù)組乘方數(shù)組乘方 A.p A中每個(gè)元素的中每個(gè)元素的p次方次方如:如:a=1 2;3 4;b= 3 5; 5 9c=a+b d=a-bc= d= 4 7 -2 -3

36、 8 13 -2 -5a*b=13 23; 29 51a/b=-0.50 0.50;3.50 1.50ab=-1 -1;2 3a3=37 54; 81 118a.*b=3 10;15 36a./b=0.33 0.40;0.60 0.44a.b=3.00 2.50;1.67 2.25a.3= 1 8; 27 64 只有維數(shù)相同的矩陣才能進(jìn)行加減運(yùn)算。 注意只有當(dāng)兩個(gè)矩陣中前一個(gè)矩陣的列數(shù)和后一個(gè)矩陣的行數(shù)相同時(shí),才可以進(jìn)行乘法運(yùn)算。ab運(yùn)算等效于求a*x=b的解;而a/b等效于求x*b=a的解。只有方陣才可以求冪。 轉(zhuǎn)置:對于實(shí)矩陣用(轉(zhuǎn)置:對于實(shí)矩陣用()符號或()符號或(.)求轉(zhuǎn)置)求轉(zhuǎn)置結(jié)

37、果是一樣的;然而對于含復(fù)數(shù)的矩陣,則(結(jié)果是一樣的;然而對于含復(fù)數(shù)的矩陣,則()將同時(shí)對復(fù)數(shù)進(jìn)行共軛處理,而將同時(shí)對復(fù)數(shù)進(jìn)行共軛處理,而 (.)則只是)則只是將其排列形式進(jìn)行轉(zhuǎn)置。將其排列形式進(jìn)行轉(zhuǎn)置。4.常用矩陣運(yùn)算常用矩陣運(yùn)算逆矩陣與行列式計(jì)算逆矩陣與行列式計(jì)算求逆:求逆:inv(A);求行列式:求行列式:det(A)要求矩陣必須為方陣要求矩陣必須為方陣求矩陣求矩陣A的奇異值及分解矩陣,滿的奇異值及分解矩陣,滿足足U*S*V=A,其中,其中U、V矩陣為矩陣為正交矩陣(正交矩陣(U*U=I),),S矩陣為矩陣為對角矩陣,它的對角元素即對角矩陣,它的對角元素即A矩陣矩陣的奇異值。的奇異值。u,

38、s,v=svd(a)u = 0.7705 -0.6375 0.6375 0.7705s = 15.5765 0 0 1.5408v = 0.6907 -0.7231 0.7231 0.6907(2)特征值分解)特征值分解V,D=eig(A)例:例: a = 9 8 6 8v,d=eig(a)v = 0.7787 -0.7320 0.6274 0.6813d = 15.4462 0 0 1.5538求矩陣求矩陣A的特征向量的特征向量V及特征值及特征值D,滿足滿足A*V=V*D。其中。其中D的對角線的對角線元素為特征值,元素為特征值,V的列為對應(yīng)的特的列為對應(yīng)的特征向量。如果征向量。如果D=eig

39、(A)則只返回則只返回特征值。特征值。(3)正交分解)正交分解Q,R=qr(A)例:例: a = 9 8 6 8q,r=qr(a)q = -0.8321 -0.5547 -0.5547 0.8321r = -10.8167 -11.0940 0 2.2188將矩陣將矩陣A做正交化分解,使得做正交化分解,使得Q*R=A,其中,其中Q為正交矩陣(其為正交矩陣(其范數(shù)為范數(shù)為1,指令,指令norm(Q)=1),R為為對角化的上三角矩陣。對角化的上三角矩陣。(4)三角分解)三角分解L,U=lu(A)將將A做對角線分解,使得做對角線分解,使得A=L*U,其中其中L為下三角矩陣,為下三角矩陣,U為上三角矩

40、陣。為上三角矩陣。注意:注意:L實(shí)際上是一個(gè)實(shí)際上是一個(gè)“心理上心理上”的下三角矩陣,它事實(shí)的下三角矩陣,它事實(shí)上是一個(gè)置換矩陣上是一個(gè)置換矩陣P的逆矩陣與一個(gè)真正下三角矩陣的逆矩陣與一個(gè)真正下三角矩陣L1(其對角線元素為(其對角線元素為1)的乘積。)的乘積。L1,U1,P=lu(A)例:例:a=1 2 3;4 5 6;7 8 9 比較:比較: l1,u1,p=lu(a) l,u=lu(a)n 矩陣超越函數(shù)矩陣超越函數(shù)n在在MATLAB中中exp、sqrt等命令也可以作用等命令也可以作用到矩陣上,但這種運(yùn)算是定義在矩陣的單個(gè)元到矩陣上,但這種運(yùn)算是定義在矩陣的單個(gè)元素上的,即分別對矩陣的每一個(gè)

41、元素進(jìn)行計(jì)算。素上的,即分別對矩陣的每一個(gè)元素進(jìn)行計(jì)算。n超越數(shù)學(xué)函數(shù)可以在函數(shù)后加上超越數(shù)學(xué)函數(shù)可以在函數(shù)后加上m而成為矩而成為矩陣的超越函數(shù),例如:陣的超越函數(shù),例如:expm,sqrtm。矩陣的超。矩陣的超越函數(shù)要求運(yùn)算矩陣為方陣。越函數(shù)要求運(yùn)算矩陣為方陣。例、已知例、已知100010001 987654321ba 求:求:2 aba 例、已知例、已知100010001 987654321ba 求:求:2* . 2* * . *aababa 例、已知例、已知8765 4321dc求:求:dcdcdcdcc/ . . / 1c-1*dc*d-1例、已知例、已知100010001 98765

42、4321ba 求:求:baaaa. .2 2. 22.4 Matlab的數(shù)組關(guān)系的數(shù)組關(guān)系/邏輯運(yùn)算邏輯運(yùn)算關(guān)系運(yùn)算符關(guān)系運(yùn)算符操作符操作符說說 明明=等于等于=不等于不等于大于大于=大于等于大于等于 A=sym(a,b;c,d)A = a, b c, d例如,使用syms命令創(chuàng)建相同的符號矩陣。 syms a b c d A=a b;c dA = a, b c, d【例3.3】 比較符號矩陣與字符串矩陣的不同。 A=sym(a,b;c,d) %創(chuàng)建符號矩陣A = a, b c, d B=a,b;c,d %創(chuàng)建字符串矩陣B =a,b;c,d C=a,b;c,d %創(chuàng)建數(shù)值矩陣? Undefin

43、ed function or variable a.程序分析:由于數(shù)值變量a、b、c、d未事先賦值,MATLAB給出錯(cuò)誤信息。 C=sym(B) %轉(zhuǎn)換為符號矩陣C = a, b c, d whos Name Size Byte Class A 2x2 60 sym B 1x9 18 char C 2x2 60 sym Grand total is 25 elements using 642 Byte3.2.1 符號表達(dá)式的代數(shù)運(yùn)算符號表達(dá)式的代數(shù)運(yùn)算1符號運(yùn)算中的運(yùn)算符符號運(yùn)算中的運(yùn)算符符號運(yùn)算中的運(yùn)算符有以下符號運(yùn)算中的運(yùn)算符有以下2種。種。(1)基本運(yùn)算符。)基本運(yùn)算符。(2)關(guān)系運(yùn)算符

44、。)關(guān)系運(yùn)算符。2函數(shù)運(yùn)算函數(shù)運(yùn)算(1)三角函數(shù)和雙曲函數(shù)。)三角函數(shù)和雙曲函數(shù)。(2)指數(shù)和對數(shù)函數(shù)。)指數(shù)和對數(shù)函數(shù)。(3)復(fù)數(shù)函數(shù)。)復(fù)數(shù)函數(shù)。(4)矩陣代數(shù)命令。)矩陣代數(shù)命令?!纠?.4】 求矩陣 的行列式值、非共軛轉(zhuǎn)置和特征值。 syms a11 a12 a21 a22 A=a11 a12;a21 a22 %創(chuàng)建符號矩陣A = a11, a12 a21, a22 det(A) %計(jì)算行列式ans =a11*a22a12*a21 A. %計(jì)算非共軛轉(zhuǎn)置ans = a11, a21 a12, a22 eig(A) %計(jì)算特征值ans = 1/2*a22+1/2*a11+1/2*(a22

45、22*a11*a22+a112+4*a12*a21)(1/2) 1/2*a22+1/2*a111/2*(a2222*a11*a22+a112+4*a12*a21)(1/2)11122122aaaaA【例3.5】 符號表達(dá)式f=2x2+3x+4與g=5x+6的代數(shù)運(yùn)算。 f=sym(2*x2+3*x+4)f =2*x2+3*x+4 g=sym(5*x+6)g =5*x+6 f+g %符號表達(dá)式相加ans =2*x2+8*x+10 f*g %符號表達(dá)式相乘ans =(5*x+6)*(2*x2+3*x+4)1Symbolic Math Toolbox中的算術(shù)運(yùn)算方式中的算術(shù)運(yùn)算方式在在Symboli

46、c Math Toolbox中有中有3種不同的算術(shù)運(yùn)算。種不同的算術(shù)運(yùn)算。(1)數(shù)值型:)數(shù)值型:MATLAB的浮點(diǎn)運(yùn)算。的浮點(diǎn)運(yùn)算。(2)有理數(shù)型:精確符號運(yùn)算。)有理數(shù)型:精確符號運(yùn)算。(3)VPA型:任意精度運(yùn)算。型:任意精度運(yùn)算。2任意精度控制任意精度控制任意精度的任意精度的VPA型運(yùn)算可以使用型運(yùn)算可以使用digits和和vpa命令來實(shí)現(xiàn)。命令來實(shí)現(xiàn)。語法:語法:digits(n) %設(shè)定默認(rèn)的精度設(shè)定默認(rèn)的精度語法:語法:S=vpa(s,n) %將將s表示為表示為n位有效位數(shù)的符號對位有效位數(shù)的符號對象象【例3.6】 對表達(dá)式 進(jìn)行任意精度控制的比較。 a=sym(2*sqrt(5

47、)+pi)a =pi + 2*5(1/2) digits %顯示默認(rèn)的有效位數(shù) Digits = 32 vpa(a) %用默認(rèn)的位數(shù)計(jì)算并顯示ans =7. 2809907207421 vpa(a,20) %按指定的精度計(jì)算并顯示ans =7. 3 digits(15) %改變默認(rèn)的有效位數(shù) vpa(a) %按digits指定的精度計(jì)算并顯示ans =7.613728608589373Symbolic Math Toolbox中的中的3種運(yùn)算方式的比較種運(yùn)算方式的比較【例【例3.6續(xù)】續(xù)】 用用3種運(yùn)算方式表達(dá)式比較種運(yùn)算方式表達(dá)式比較2/3的結(jié)果。的結(jié)果。a1 =2/3 %數(shù)值型數(shù)值型a1

48、= 0.6667a2 = sym(2/3) %有理數(shù)型有理數(shù)型a2 =2/3 digits Digits = 32 a3 =vpa(2/3,32) %VPA型型a3 =. 666666666666671將數(shù)值對象轉(zhuǎn)換為符號對象將數(shù)值對象轉(zhuǎn)換為符號對象前面已經(jīng)介紹了前面已經(jīng)介紹了sym命令可以把數(shù)值型對象轉(zhuǎn)換成為有理數(shù)型符號對象,命令可以把數(shù)值型對象轉(zhuǎn)換成為有理數(shù)型符號對象,vpa命令可以將數(shù)值型對象轉(zhuǎn)換為任意精度的命令可以將數(shù)值型對象轉(zhuǎn)換為任意精度的VPA型符號對象。型符號對象。2將符號對象轉(zhuǎn)換為數(shù)值對象將符號對象轉(zhuǎn)換為數(shù)值對象使用使用double函數(shù)可以將有理數(shù)型和函數(shù)可以將有理數(shù)型和VPA

49、型符號對象轉(zhuǎn)換成為數(shù)值對象。型符號對象轉(zhuǎn)換成為數(shù)值對象。語法:語法:N=double(S) %將符號變量將符號變量S轉(zhuǎn)換為數(shù)值變量轉(zhuǎn)換為數(shù)值變量N【例3.7】 將符號變量 與數(shù)值變量進(jìn)行轉(zhuǎn)換。 a1=sym(2*sqrt(5)+pi)a =pi + 2*5(1/2) b1=double(a1) %轉(zhuǎn)換為數(shù)值變量b1 = 7.6137 a2=vpa(sym(2*sqrt(5)+pi),32)a2 = 7. 2809907207421 b2=double(a2) %轉(zhuǎn)換為數(shù)值變量b2 = 7.6137(1)多項(xiàng)式形式的表達(dá)方式:f(x)=x3+6x2+11x6 (2)因式形式的表達(dá)方式:f(x)=

50、(x1)(x2)(x3) (3)嵌套形式的表達(dá)方式:f(x)=x(x(x6)+11) 6 【例3.9】 3種形式的符號表達(dá)式的表示。 f=sym(x36*x2+11*x6)%多項(xiàng)式形式f =x36*x2+11*x6 g= sym(x1)*(x2)*(x3) %因式形式g =(x1)*(x2)*(x3) h= sym( x*(x*(x6)+11) 6) %嵌套形式h =x*(x*(x6)+11) 6MATLIB提供了pretty 、collect、expand、horner和factor函數(shù),可以對符號表達(dá)式進(jìn)行化簡,如表3.2所示。函 數(shù) 名變 換 前變 換 后備 注prettyx36*x2+

51、11*x63 2x + 6 x + 11 x 6給出排版形式的輸出結(jié)果collect(x1)*(x2)*(x3)x36*x2+11*x6表示為合并同類項(xiàng)多項(xiàng)式expand(x1)*(x2)*(x3)x36*x2+11*x6表示為多項(xiàng)式形式hornerx36*x2+11*x6x*(x*(x6)+11) 6表示為嵌套的形式factorx36*x2+11*x6(x1)*(x2)*(x3)表示為因式的形式1simplify函數(shù)函數(shù)simplify函數(shù)功能強(qiáng)大,利用各種形式的代數(shù)恒等式對符號表達(dá)式進(jìn)行化簡,函數(shù)功能強(qiáng)大,利用各種形式的代數(shù)恒等式對符號表達(dá)式進(jìn)行化簡,包括求和、分解、積分、冪、三角、指數(shù)和

52、對數(shù)函數(shù)等。包括求和、分解、積分、冪、三角、指數(shù)和對數(shù)函數(shù)等?!纠纠?.9】 利用三角函數(shù)簡化符號表達(dá)式利用三角函數(shù)簡化符號表達(dá)式cos2xsin2x。 y=sym(cos(x)2sin(x)2)y =cos(x)2sin(x)2 simplify(y)ans =2*cos(x)212simple函數(shù)函數(shù)simple 函數(shù)給出多種簡化形式,給出除了函數(shù)給出多種簡化形式,給出除了pretty 、collect、expand、factor、simplify簡化形式之外的簡化形式之外的radsimp、combine、combine(trig)、convert形式,并尋求包含最少數(shù)目字符的表達(dá)式簡化

53、形式。形式,并尋求包含最少數(shù)目字符的表達(dá)式簡化形式?!纠纠?.9續(xù)】續(xù)】 利用利用simple簡化符號表達(dá)式簡化符號表達(dá)式cos2xsin2x。1求反函數(shù)求反函數(shù)對于函數(shù)對于函數(shù)f(x),若存在另一個(gè)函數(shù),若存在另一個(gè)函數(shù)g(.),使得,使得g(f(x)x成立,則函數(shù)成立,則函數(shù)g(.)稱為函數(shù)稱為函數(shù)f(x)的反函數(shù)。在的反函數(shù)。在MATLAB中,中,finverse函數(shù)可以求得符號函數(shù)的反函數(shù)可以求得符號函數(shù)的反函數(shù)。函數(shù)。語法:語法:finverse(f,v) %對指定自變量對指定自變量v的函數(shù)的函數(shù)f(v)求反求反函數(shù)函數(shù)【例【例3.11】 求求tex的反函數(shù)。的反函數(shù)。 f=sym

54、(t*ex) %原函數(shù)原函數(shù)f = t*ex g=finverse(f) %對默認(rèn)自由變量求反函對默認(rèn)自由變量求反函數(shù)數(shù)g =log(x/t)/log(e) g=finverse(f,t) %對對t求反函數(shù)求反函數(shù)g =t/(ex)程序分析:如果先定義程序分析:如果先定義t為符號變量,則參數(shù)為符號變量,則參數(shù)t的單引號可去掉。的單引號可去掉。 syms t g=finverse(f,t)2求復(fù)合函數(shù)求復(fù)合函數(shù)運(yùn)用函數(shù)運(yùn)用函數(shù)compose可以求符號函數(shù)可以求符號函數(shù)f(x)和和g(y)的復(fù)合函數(shù)。的復(fù)合函數(shù)。語法:語法:compose(f,g) %求求f(x)和和g(y)的復(fù)合的復(fù)合函數(shù)函數(shù)f

55、(g(y)compose(f,g,z) %求求f(x)和和g(y)的復(fù)合函數(shù)的復(fù)合函數(shù)f(g(z)【例【例3.11續(xù)】續(xù)】 計(jì)算計(jì)算tex與與ay2+by+c的復(fù)合函數(shù)。的復(fù)合函數(shù)。 f=sym(t*ex); %創(chuàng)建符號表達(dá)式創(chuàng)建符號表達(dá)式 g=sym(a*y2+b*y+c); %創(chuàng)建符號表達(dá)式創(chuàng)建符號表達(dá)式 h1=compose(f,g) %計(jì)算計(jì)算f(g(x)h1 =t*e(a*y2+b*y+c) h2=compose(g,f) %計(jì)算計(jì)算g(f(x)h2 =a*t2*(ex)2+b*ex+c h3=compose(f,g,z) %計(jì)算計(jì)算f(g(z)h3 =t*e(a*z2+b*z+c)

56、語法:語法:compose(f,g,x,z) %以以x為自變量構(gòu)成復(fù)合函數(shù)為自變量構(gòu)成復(fù)合函數(shù)f(g(z)compose(f,g,x,y,z) %以以x為自變量構(gòu)成復(fù)合函數(shù)為自變量構(gòu)成復(fù)合函數(shù)f(g(z),并,并用用z替換替換y1符號表達(dá)式與多項(xiàng)式的轉(zhuǎn)換符號表達(dá)式與多項(xiàng)式的轉(zhuǎn)換(1)sym2poly函數(shù)。函數(shù)。sym2poly函數(shù)用來將構(gòu)成多項(xiàng)式的符號表達(dá)式轉(zhuǎn)函數(shù)用來將構(gòu)成多項(xiàng)式的符號表達(dá)式轉(zhuǎn)換為按降冪排列的行向量。換為按降冪排列的行向量?!纠纠?.12】 將符號表達(dá)式將符號表達(dá)式2x+3x2+1轉(zhuǎn)換為行向量。轉(zhuǎn)換為行向量。 f=sym(2*x+3*x2+1)f =2*x+3*x2+1 sy

57、m2poly(f) %轉(zhuǎn)換為按降冪排列的行向量轉(zhuǎn)換為按降冪排列的行向量ans = 3 2 1 f1=sym(a*x2+b*x+c)f1 =a*x2+b*x+c sym2poly(f1)? Error using = sym/sym2polyInput has more than one symbolic variable.(2)poly2sym函數(shù)。poly2sym函數(shù)與sym2poly函數(shù)相反,用來將按降冪排列的行向量轉(zhuǎn)換為符號表達(dá)式?!纠?.12續(xù)】 將行向量轉(zhuǎn)換為符號表達(dá)式。 g=poly2sym(1 3 2) %默認(rèn)x為符號變量的符號表達(dá)式g =x2+3*x+2 g=poly2sym(

58、1 3 2,sym(y) %y為符號變量的符號表達(dá)式g =y2+3*y+22提取分子和分母提取分子和分母如果符號表達(dá)式是如果符號表達(dá)式是1個(gè)有理分式(兩個(gè)多項(xiàng)式之比),可以利用個(gè)有理分式(兩個(gè)多項(xiàng)式之比),可以利用numden函數(shù)函數(shù)提取分子或分母,還可以進(jìn)行通分。提取分子或分母,還可以進(jìn)行通分。語法:語法:n,d=numden(f)【例3.13】 用numden函數(shù)提取符號表達(dá)式 和 的分子、分母。 f1=sym(1/(s2+3*s+2)f1 =1/(s2+3*s+2) f2=sym(1/s2+3*s+2)f2 =1/s2+3*s+2 n1,d1=numden(f1)n1 =1d1 =s2+

59、3*s+2 n2,d2=numden(f2)n2 =1+3*s3+2*s2d2 =s22132ss2132ss3.4.1 3.4.1 符號極限符號極限假定符號表達(dá)式的極限存在,假定符號表達(dá)式的極限存在,Symbolic Math ToolboxSymbolic Math Toolbox提供了直接求表達(dá)式極提供了直接求表達(dá)式極限的函數(shù)限的函數(shù)limitlimit,函數(shù),函數(shù)limitlimit的基本用法如表的基本用法如表3.33.3所示。所示。0lim( )xf xlim( )xaf xlim( )xaf xlim( )xaf x【例3.14】 分別求1/x在0處從兩邊趨近、從左邊趨近和從右邊趨近的3個(gè)極限值。 f=sym(1/x)f =1/x limit(f) %對x求趨近于0的極限ans =NaN limit(f,x,0) %對x求趨近于0的極限ans =NaN limit(f,x,0,left) %左趨近于0ans =inf limit(f,x,0,right) %右趨近于0a

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論