MATLAB變量和數(shù)據(jù)操作.ppt_第1頁(yè)
MATLAB變量和數(shù)據(jù)操作.ppt_第2頁(yè)
MATLAB變量和數(shù)據(jù)操作.ppt_第3頁(yè)
MATLAB變量和數(shù)據(jù)操作.ppt_第4頁(yè)
MATLAB變量和數(shù)據(jù)操作.ppt_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2講 變量和數(shù)據(jù)操作 2.1 變量與賦值 2.2 內(nèi)存變量的管理 2.3 MATLAB常用數(shù)學(xué)函數(shù) 2.4 MATLAB矩陣 2.5 M文件,2.1 變量與賦值,2.1.1 變量命名,2.1.2 賦值語(yǔ)句,(1) 變量=表達(dá)式 (2) 表達(dá)式 其中表達(dá)式是用運(yùn)算符將有關(guān)運(yùn)算量連接起來(lái)的式子,其結(jié)果是一個(gè)矩陣。,例2-1 計(jì)算表達(dá)式的值,并顯示計(jì)算結(jié)果。 在MATLAB命令窗口輸入命令: x=1+2i; y=3-sqrt(17); z=(cos(abs(x+y)-sin(78*pi/180)/(x+abs(y) 其中pi和i都是MATLAB預(yù)先定義的變量,分別代表代表圓周率和虛數(shù)單位。 輸出結(jié)果是: z = -0.3488 + 0.3286i,2.1.3 預(yù)定義變量,在MATLAB工作空間中,還駐留幾個(gè)由系統(tǒng)本身定義的變量。 例如,用 pi 表示圓周率的近似值,用 i,j 表示虛數(shù)單位。 預(yù)定義變量有特定的含義,在使用時(shí),應(yīng)盡量避免對(duì)這些變量重新賦值。,2.2 內(nèi)存變量的管理,2.2.1 內(nèi)存變量的刪除與修改 MATLAB 工作空間窗口專門用于內(nèi)存變量的管理。在工作空間窗口中可以顯示所有內(nèi)存變量的屬性。 當(dāng)選中某些變量后,再單擊 Delete按鈕,就能刪除這些變量。 當(dāng)選中某些變量后,再單擊 Open 按鈕,將進(jìn)入變量編輯器。通過(guò)變量編輯器可以直接觀察變量中的具體元素,也可修改變量中的具體元素。,clear命令用于刪除MATLAB工作空間中的變量。 who和whos這兩個(gè)命令用于顯示在MATLAB工作空間中已經(jīng)駐留的變量名清單。 who命令只顯示出駐留變量的名稱。 whos在給出變量名的同時(shí),還給出它們的大小、所占字節(jié)數(shù)及數(shù)據(jù)類型等信息。,2.2.2 內(nèi)存變量文件 利用 MAT文件可以把當(dāng)前MATLAB工作空間中的一些有用變量長(zhǎng)久地保留下來(lái),擴(kuò)展名是 .mat。 MAT文件的生成和裝入由save和load命令來(lái)完成。常用格式為: save 文件名 變量名表 -append-ascii load 文件名 變量名表 -ascii,其中,文件名可以帶路徑,但不需帶擴(kuò)展名.mat,命令隱含一定對(duì).mat文件進(jìn)行操作。 變量名表中的變量個(gè)數(shù)不限,只要內(nèi)存或文件中存在即可,變量名之間以空格分隔。當(dāng)變量名表省略時(shí),保存或裝入全部變量。 -ascii選項(xiàng)使文件以ASCII格式處理,省略該選項(xiàng)時(shí)文件將以二進(jìn)制格式處理。 save命令中的 append 選項(xiàng)控制將變量追加到MAT文件中。,2.2.3 數(shù)據(jù)的輸出格式,MATLAB 用十進(jìn)制數(shù)表示一個(gè)常數(shù),具體可采用日常記數(shù)法和科學(xué)記數(shù)法兩種表示方法。 在一般情況下,MATLAB 內(nèi)部每一個(gè)數(shù)據(jù)元素都是用雙精度數(shù)來(lái)表示和存儲(chǔ)的。 數(shù)據(jù)輸出時(shí)用戶可以用format命令設(shè)置或改變數(shù)據(jù)輸出格式。format命令的格式為: format 格式符 其中格式符決定數(shù)據(jù)的輸出格式,各種 format 格式,2. 3 MATLAB常用數(shù)學(xué)函數(shù),MATLAB 提供了許多數(shù)學(xué)函數(shù),函數(shù)的自變量規(guī)定為矩陣變量,運(yùn)算法則是將函數(shù)逐項(xiàng)作用于矩陣的元素上,因而運(yùn)算的結(jié)果是一個(gè)與自變量同維數(shù)的矩陣。,Matlab中常見數(shù)學(xué)函數(shù),函數(shù)使用說(shuō)明: (1) 三角函數(shù)以弧度為單位計(jì)算。 (2) abs 函數(shù)可以求實(shí)數(shù)的絕對(duì)值、復(fù)數(shù)的模、字符串的ASCII碼值。 (3) 用于取整的函數(shù)有 fix、floor、ceil、round,要注意它們的區(qū)別。 (4) rem與 mod函數(shù)的區(qū)別。rem(x,y)和mod(x,y) 要求 x, y 必須為相同大小的實(shí)矩陣或?yàn)闃?biāo)量。,系統(tǒng)預(yù)定義變量,pi 圓周率 ,其值為 imag(log(-1),inf/Inf 無(wú)窮大,nan/NaN Not-a-Number,一個(gè)不定值,如 0/0,eps 浮點(diǎn)運(yùn)算相對(duì)精度,特殊變量 ans,i/j 虛部單位,即,應(yīng)盡量避免給系統(tǒng)預(yù)定義變量重新賦值!,2.3.2 MATLAB特殊變量表,2.4.1 向量與矩陣的生成,從矩陣中抽取行或列,2.4 MATLAB矩陣,向量與矩陣的生成(續(xù)),向量與矩陣運(yùn)算,矩陣的生成,直接輸入: A=1, 2, 3; 4, 5, 6; 7, 8, 9,由向量生成,由函數(shù)生成,通過(guò)編寫m文件生成,例: C=magic(3),常見矩陣生成函數(shù),2.4.2 矩陣的拆分,1. 矩陣元素 通過(guò)下標(biāo)引用矩陣的元素,例 A(3,2)=200 采用矩陣元素的序號(hào)來(lái)引用矩陣元素。矩陣元素的序號(hào)就是相應(yīng)元素在內(nèi)存中的排列順序。在 MATLAB 中,矩陣元素按列存儲(chǔ),先第一列,再第二列,依次類推。例如 A=1,2,3;4,5,6; A(3) ans = 2,顯然,序號(hào)(Index)與下標(biāo)(Subscript )是一一對(duì)應(yīng)的,以mn矩陣A為例,矩陣元素A(i,j) 的序號(hào)為 (j-1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和ind2sub函數(shù)求得。,2. 矩陣拆分 (1) 利用冒號(hào)表達(dá)式獲得子矩陣 A(:,j)表示取A矩陣的第j列全部元素;A(i,:)表示A矩陣第i行的全部元素;A(i,j)表示取A矩陣第i行、第j列的元素。 A(i:i+m,:)表示取A矩陣第ii+m行的全部元素;A(:,k:k+m)表示取A矩陣第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩陣第 ii+m行內(nèi),并在第kk+m列中的所有元素。 此外,還可利用一般向量和end運(yùn)算符來(lái)表示矩陣下標(biāo),從而獲得子矩陣。end表示某一維的末尾元素下標(biāo)。,(2) 利用空矩陣刪除矩陣的元素 在MATLAB中,定義 為空矩陣。給變量X賦空矩陣的語(yǔ)句為X= 。 注意,X= 與clear X不同,clear是將X從工作空間中刪除,而空矩陣則存在于工作空間中,只是維數(shù)為0。,2.4.3 特殊矩陣,1. 通用的特殊矩陣 常用的產(chǎn)生通用特殊矩陣的函數(shù)有: zeros:產(chǎn)生全0矩陣(零矩陣)。 ones:產(chǎn)生全1矩陣(幺矩陣)。 eye:產(chǎn)生單位矩陣。 rand:產(chǎn)生01間均勻分布的隨機(jī)矩陣。 randn:產(chǎn)生均值為 0,方差為 1的標(biāo)準(zhǔn)正態(tài)分布隨機(jī)矩陣。,例2-3 分別建立33、32和與矩陣A同樣大小的零矩陣。 (1) 建立一個(gè)33零矩陣:zeros(3) (2) 建立一個(gè)32零矩陣:zeros(3,2) (3) 設(shè)A為23矩陣,則可以用zeros(size(A)建立一個(gè)與矩陣A同樣大小零矩陣。 A=1 2 3;4 5 6; %產(chǎn)生一個(gè)23階矩陣A zeros(size(A) %產(chǎn)生一個(gè)與矩陣A同樣大小的零矩陣,例2-4 建立隨機(jī)矩陣: (1) 在區(qū)間20,50內(nèi)均勻分布的5階隨機(jī)矩陣。 (2) 均值為 0.6、方差為 0.1的5階正態(tài)分布隨機(jī)矩陣。 命令如下: x=20+(50-20)*rand(5) y=0.6+sqrt(0.1)*randn(5) 此外,常用的函數(shù)還有reshape(A,m,n),它在矩陣總元素保持不變的前提下,將矩陣A重新排成mn的二維矩陣。,2. 用于專門學(xué)科的特殊矩陣 (1) 魔方矩陣 魔方矩陣有一個(gè)有趣的性質(zhì),其每行、每列及兩條對(duì)角線上的元素和都相等。對(duì)于 n 階魔方陣,其元素由 1,2,3,n2 共 n2 個(gè)整數(shù)組成。 MATLAB提供了求魔方矩陣的函數(shù)magic(n),其功能是生成一個(gè)n階魔方陣。,例2-5 將101125等25個(gè)數(shù)填入一個(gè)5行5列的表格中,使其每行每列及對(duì)角線的和均為565。 M=100+magic(5),(2) 范得蒙矩陣 范得蒙(Vandermonde)矩陣最后一列全為1,倒數(shù)第二列為一個(gè)指定的向量,其他各列是其后列與倒數(shù)第二列的點(diǎn)乘積。可以用一個(gè)指定向量生成一個(gè)范得蒙矩陣。 在MATLAB中,函數(shù)vander(V)生成以向量V為基礎(chǔ)向量的范得蒙矩陣。 例如,A=vander(1;2;3;5)即可得到上述范得蒙矩陣。,(3) 希爾伯特矩陣 在MATLAB中,生成希爾伯特矩陣的函數(shù)是hilb(n)。 使用一般方法求逆會(huì)因?yàn)樵紨?shù)據(jù)的微小擾動(dòng)而產(chǎn)生不可靠的計(jì)算結(jié)果。MATLAB中,有一個(gè)專門求希爾伯特矩陣的逆的函數(shù)invhilb(n),其功能是求 n階的希爾伯特矩陣的逆矩陣。,例2-6 求4階希爾伯特矩陣及其逆矩陣。 命令如下: format rat %以有理形式輸出 H=hilb(4) H=invhilb(4),(4) 托普利茲矩陣 托普利茲(Toeplitz)矩陣除第一行第一列外,其他每個(gè)元素都與左上角的元素相同。 生成托普利茲矩陣的函數(shù)是toeplitz(x,y),它生成一個(gè)以x為第一列,y為第一行的托普利茲矩陣。這里x, y均為向量,兩者不必等長(zhǎng)。toeplitz(x)用向量x生成一個(gè)對(duì)稱的托普利茲矩陣。 例如 T=toeplitz(1:6),(5) 伴隨矩陣 MATLAB生成伴隨矩陣的函數(shù)是compan(p),其中p是一個(gè)多項(xiàng)式的系數(shù)向量,高次冪系數(shù)排在前,低次冪排在后。 例如,為了求多項(xiàng)式的x3-7x+6的伴隨矩陣,可使用命令: p=1,0,-7,6; compan(p),(6) 帕斯卡矩陣 我們知道,二次項(xiàng)(x+y)n展開后的系數(shù)隨n的增大組成一個(gè)三角形表,稱為楊輝三角形。 由楊輝三角形表組成的矩陣稱為帕斯卡(Pascal)矩陣。 函數(shù)pascal(n)生成一個(gè)n階帕斯卡矩陣。,例2-7 求(x+y)5的展開式。 在MATLAB命令窗口,輸入命令: pascal(6) 矩陣次對(duì)角線上的元素1,5,10,10,5,1即為展開式的系數(shù)。,用 Matlab 語(yǔ)言編寫的程序稱為 M 文件。,M 文件是由若干 Matlab 命令組合在一起構(gòu)成的,它可以完成某些操作,也可以實(shí)現(xiàn)某種算法。事實(shí)上,Matlab 提供的內(nèi)部函數(shù)以及各種工具箱,都是利用 Matlab 語(yǔ)言開發(fā)的 M 文件。用戶也可以結(jié)合自己的工作需要,開發(fā)自己的程序或工具箱。,2.5 M 文件,M 文件以 .m 為擴(kuò)展名。,M 文件是一個(gè)文本文件,可以用任何文本編輯器來(lái)建立和編輯,通常使用 Matlab 自帶的 M 文件編輯器。,M 文件的建立與打開,在命令窗口中輸入 f2cs,即可執(zhí)行該 M 文件。,例:編寫一個(gè)腳本文件將華氏溫度轉(zhuǎn)化為攝氏溫度,腳本文件舉例,腳本文件運(yùn)行后,文件中所產(chǎn)生的所有變量都駐

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論