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è),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Matlab程序設(shè)計(jì);Matlab的安裝 下載地址: 下載的文件名Matlab2009B): Matlab.R2009b.ISO-TBE.isoDVD映像文件) 虛擬光驅(qū): Daemon Tools 文件名是:daemon4304-lite.exe 安裝時(shí)需要重啟計(jì)算機(jī),安裝完成后在我的電腦中可以發(fā)現(xiàn)多了一個(gè)光驅(qū)。 點(diǎn)擊系統(tǒng)托盤中的閃電圖標(biāo) ,選擇映像文件即可以加載虛擬光驅(qū)。;Matlab破解 打開虛擬光盤的crack文件夾,有以下3個(gè)文件: install.txt 安裝幫助文件 lic_server.dat 網(wǎng)絡(luò)安裝時(shí)的許可文件 lic_standalone.dat

2、 獨(dú)立安裝時(shí)的許可文件 standalone選擇獨(dú)立安裝) 1) choose install manually without using the internet 2) enter the file installation key 36322-23096-57999-54517-22630 3) use license_standalone.dat when asked for license file ;Matlab的特點(diǎn) 復(fù)數(shù)矩陣作為基本編程單元 提供了方便易用的開發(fā)環(huán)境 Matlab語句書寫簡(jiǎn)單,但功能強(qiáng)大 豐富的圖形功能 提供了面向應(yīng)用問題求解的工具箱函數(shù) M文件為用戶提供了廣闊

3、的擴(kuò)展空間;Matlab系統(tǒng)組成 Matlab的開發(fā)環(huán)境 Matlab的數(shù)學(xué)函數(shù)庫(kù) 編程與數(shù)據(jù)類型 文件I/O 圖形處理 三維可視化 創(chuàng)建圖形用戶界面 外部接口 Simulink:對(duì)非線性動(dòng)態(tài)系統(tǒng)進(jìn)行仿真。 Toolboxes:工具箱函數(shù)。;Matlab集成環(huán)境 命令窗口Command Window) 命令歷史窗口Command History) 工作空間Workspace) 當(dāng)前文件夾Current Folder);Matlab的搜索路徑 Matlab通過搜索路徑來查找M文件,當(dāng)用戶輸入一個(gè)標(biāo)識(shí)符時(shí)比如hello),Matlab按下列步驟處理: (1檢查hello是否為變量。 (2檢查hel

4、lo是否為內(nèi)部函數(shù)。 (3檢查當(dāng)前工作目錄下是否存在hello.m文件。 (4在Matlab搜索路徑上查找hello.m文件。 如果在搜索路徑上存在多個(gè)hello.m文件,則只執(zhí)行第一個(gè)找到的hello.m文件。 增加搜索路徑:FileSet PathAdd Folder;Matlab常用命令1) ver:顯示Matlab產(chǎn)品和版本信息。 help topic:查看關(guān)于topic的幫助。 path:控制Matlab的搜索路徑。 which:函數(shù)和文件定位。 cd:改變工作目錄。 dir:顯示文件和目錄列表。 mkdir:創(chuàng)建目錄。 edit:編輯M文件。 delete:刪除文件。;Matlab

5、常用命令2) clc:清除命令窗口。 who,whos:列出內(nèi)存中的變量。 disp:顯示文本或陣列。 clear:從工作空間中清除變量。 save:將Matlab工作空間變量保存到磁盤。 load:從磁盤中恢復(fù)變量。 length:求矩陣或向量的長(zhǎng)度。 size:求陣列維的大小。 quit:退出Matlab。;Matlab中的變量 Matlab中的變量不需要事先定義,在遇到新的變量名時(shí),Matlab會(huì)自動(dòng)建立該變量并分配存儲(chǔ)空間。當(dāng)遇到已存在的變量時(shí),Matlab會(huì)更新其內(nèi)容,如有必要會(huì)重新分配存儲(chǔ)空間。 變量名由字母、數(shù)字和下劃線構(gòu)成,并且必須以字母開頭,最長(zhǎng)為31個(gè)字符。Matlab區(qū)分

6、大小寫字母。;賦值語句 對(duì)變量賦值的語句: 變量名=表達(dá)式; “=”為賦值號(hào),右端的表達(dá)式的結(jié)果賦給左邊的變量。 如果行末加上分號(hào),則表達(dá)式結(jié)果不在屏幕上顯示,否則在屏幕上顯示計(jì)算結(jié)果。 當(dāng)左端的變量名沒有給出時(shí),表達(dá)式的計(jì)算結(jié)果直接賦給系統(tǒng)默認(rèn)的變量ans。 為了顯示出某變量的內(nèi)容,只需鍵入變量名即可。;Matlab中的固定變量 ans:在沒有給定輸出變量名時(shí),系統(tǒng)默認(rèn)采用變量ans。 pi:即圓周率。 Inf:表示正無窮大。 NaN:表示不定值。 i或j:虛數(shù)單位,在構(gòu)成復(fù)數(shù)時(shí),可以直接采用i或j,例如3+2i。 realmax:最大的正浮點(diǎn)數(shù)。 realmin:最小的正浮點(diǎn)數(shù)。 eps:

7、2-52,可作為一個(gè)容許誤差。;Matlab操作符操作符操作符功能功能操作符操作符功能功能+加法加法-減法減法*乘法乘法/除法除法左除法左除法指數(shù)指數(shù)復(fù)共軛轉(zhuǎn)置復(fù)共軛轉(zhuǎn)置&邏輯與邏輯與邏輯非邏輯非|邏輯或邏輯或xor邏輯異或邏輯異或小于小于大于大于=大于等于大于等于=等于等于=不等于不等于;矩陣的輸入 在輸入矩陣元素列表時(shí),按以下約定輸入: 矩陣行中的元素以空格或逗號(hào)間隔; 矩陣行之間用分號(hào)或回車間隔; 整個(gè)矩陣元素列表用方括號(hào)括起來; 利用冒號(hào)操作符可以使列表更簡(jiǎn)便,其格式為start:step:end,表示數(shù)據(jù)從start開始,步長(zhǎng)為step,到end結(jié)束,step可以取負(fù)值。 利

8、用外部數(shù)據(jù)文件輸入矩陣 load 文件名;產(chǎn)生常用矩陣的函數(shù) eye():產(chǎn)生單位陣,例如eye(4),eye(2,3) zeros():產(chǎn)生全0矩陣,例如zeros(2,10) ones():產(chǎn)生全1矩陣,例如ones(2,10) rand():產(chǎn)生0,1)均勻分布的隨機(jī)數(shù),例如rand(2,3)。 randn():正態(tài)分布的隨機(jī)數(shù),例如rand(2,3)產(chǎn)生均值為0,方差為1的標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)矩陣。 diag():產(chǎn)生對(duì)角陣,也可以從矩陣中提取對(duì)角線元素,例如,d=2 -10 8,a=diag(d)。;矩陣元素的存儲(chǔ) 在Matlab中,矩陣元素是按列存儲(chǔ)的,矩陣中的元素可以只采用一個(gè)下標(biāo)

9、來尋址。a=1 2 3;10 20 30; a= 1 2 3 10 20 30 a(2)得到10a(4)得到20;矩陣操作1) 矩陣轉(zhuǎn)置 矩陣A的轉(zhuǎn)置為A. 矩陣A的共軛轉(zhuǎn)置為A 矩陣重排 a=1 2;3 4;5 6,b=a(:)變成一維列向量 c=reshape(a,2,3),變成23矩陣 d=a(3:6),從a中取出4個(gè)元素,構(gòu)成新矩陣;矩陣操作2) 矩陣元素求和 sum函數(shù)可以完成對(duì)矩陣元素按列求和。 如果想按行求和,sum(A) 全部元素求和,sum(A(:) 對(duì)角線元素求和,sum(diag(A) 矩陣下標(biāo) a(i,j)表示矩陣a中處于第i行第j列的元素。 由于矩陣元素是按列存儲(chǔ)的,

10、可以通過單變量下標(biāo)訪問矩陣元素。 在下標(biāo)中可直接使用end表示這一維最后一個(gè)元素,例如a(2:end,2)。 可以通過給不存在的矩陣元素賦值的方法,增加矩陣的行數(shù)或列數(shù)。;關(guān)系運(yùn)算與邏輯函數(shù) 在邏輯操作中,所有的非零值元素都當(dāng)做“1”(邏輯真處置。 all():如果某列所有元素非零,則為真。 any():如果某列含有非零元素,則為真。 find():找出矩陣中非零元素及其位置,例如i,j,v=find(a)。 exist():測(cè)試文件是否存在,可以在裝入數(shù)據(jù)文件之前對(duì)數(shù)據(jù)文件作檢測(cè)。 isnan():從矩陣中檢測(cè)出非數(shù)值NaN)。;矩陣運(yùn)算與陣列運(yùn)算1) 矩陣算術(shù)運(yùn)算由線性代數(shù)規(guī)則來定義,而陣

11、列算術(shù)運(yùn)算是元素對(duì)元素的運(yùn)算,用句點(diǎn)來區(qū)分這兩種運(yùn)算。 C=A*B完成矩陣A、B的線性代數(shù)積。 C=A.*B是A、B對(duì)應(yīng)元素相乘。1( , )( , ) ( , )nkC i jA i k B k j( , )( , ) ( , )C i jA i j B i j;矩陣運(yùn)算與陣列運(yùn)算2) A/B 矩陣右除,相當(dāng)于A*inv(B) A./B 陣列右除,即C(i,j)=A(i,j)/B(i,j) AB 矩陣左除,相當(dāng)于inv(A)*B A.B 陣列左除,即C(i,j)=B(i,j)/A(i,j) AB 矩陣冪,指數(shù)或底數(shù)為標(biāo)量 A.B 陣列冪,即C(i,j)=A(i,j).B(i,j) A 矩陣轉(zhuǎn)

12、置,對(duì)于復(fù)數(shù)陣得到共軛轉(zhuǎn)置 A. 陣列轉(zhuǎn)置;冒號(hào)“:”操作符 a(j:k) 等同于aj, j+1, , k a(j:i:k) 等同于aj, j+i, j+2i, , k a(:, j) 第j列 a(i, :) 第i行 a(:, j:k) 第j列到第k列 a(j:k, :) 第j行到第k行 a(:) 所有元素排成列向量;方括號(hào)“ ”操作符 a= 表示產(chǎn)生空矩陣 a(m,:)= 刪除第m行 a(:,n)= 刪除第n列;取整函數(shù)等 fix() 朝零方向取整 floor() 朝負(fù)無窮大方向取整 ceil() 朝正無窮大方向取整 round() 朝最近的整數(shù)取整四舍五入) mod() 有符號(hào)數(shù)的除后余數(shù)

13、 rem() 除后余數(shù);腳本文件 Matlab的M文件有兩類:腳本文件和函數(shù)文件。 我們將原來在Matlab命令窗口中直接輸入的語句,放在一個(gè)以“.m為后綴的文件中,這一文件稱為腳本文件。 有了腳本文件,可以直接在Matlab中輸入腳本文件名不含后綴),這時(shí)Matlab會(huì)打開這一腳本文件,并依次執(zhí)行腳本文件中的每一條語句,這與在Matlab中直接輸入這些語句的結(jié)果完全一致。;函數(shù)文件 另一類M文件是函數(shù)文件,它的第一行是函數(shù)定義行。 函數(shù)文件由5部分構(gòu)成: 函數(shù)定義行 H1行 函數(shù)幫助文本 函數(shù)體 注釋;函數(shù)定義 函數(shù)定義:function y=f1(x)function x, y, z =

14、f2(a, b, c)function f3(x) 所有在函數(shù)中使用和生成的變量都是局部變量除非利用global語句定義),函數(shù)調(diào)用返回時(shí)局部變量被全部清除。 H1行是幫助文本的第一行,概括函數(shù)功能。 help 函數(shù)名 顯示幫助文本 % 開始一行注釋;函數(shù)工作空間 對(duì)于每個(gè)函數(shù)文件,系統(tǒng)都會(huì)分配一塊存儲(chǔ)區(qū)域用于存儲(chǔ)工作變量。 它與Matlab的基本工作空間不同,這塊區(qū)域稱為函數(shù)工作空間。 每個(gè)函數(shù)都有自己的工作空間,其中保存著在函數(shù)中使用的局部變量。 在調(diào)用函數(shù)時(shí),變量值只有通過參數(shù)傳遞給函數(shù),才能在函數(shù)中使用,它們來自于被調(diào)用函數(shù)所在的基本工作空間或函數(shù)工作空間。 函數(shù)返回的結(jié)果傳遞給調(diào)用者

15、的工作空間。;局部變量與全局變量 在函數(shù)工作空間中,變量有三類: 有調(diào)用函數(shù)傳遞輸入和輸出數(shù)據(jù)的變量; 在函數(shù)內(nèi)臨時(shí)產(chǎn)生的變量局部變量); 由調(diào)用函數(shù)空間、基本工作空間提供的全局變量。 有些參數(shù)可以通過全局變量來傳遞,但這影響到函數(shù)的模塊性。 使用global關(guān)鍵字聲明全局變量 global x y;子函數(shù) 在函數(shù)文件中可包含多個(gè)函數(shù),其中第一個(gè)函數(shù)稱為主函數(shù),其函數(shù)名和文件名相同,它可由其它M文件或基本工作空間引用。 在M函數(shù)文件中的其它函數(shù)稱為子函數(shù),它只能由這一個(gè)M函數(shù)文件中的主函數(shù)或其它子函數(shù)引用。 各個(gè)子函數(shù)的次序任意,但主函數(shù)必須是第一個(gè)函數(shù)。 當(dāng)在M文件中調(diào)用另一個(gè)函數(shù)時(shí),Mat

16、lab首先在該文件內(nèi)檢查是否為子函數(shù),然后檢查是否為私有函數(shù),最后在搜索路徑上查找標(biāo)準(zhǔn)的M文件。;條件語句if 形式1:if-end if 條件 語句塊 end 形式2:if-else-end if 條件 語句塊1 else 語句塊2 end 形式3:if-elseif-else-end if 條件1 語句塊1 elseif 條件2 語句塊2 elseif 條件3 語句塊3 else 默認(rèn)語句塊 end;switch語句 switch語句可根據(jù)表達(dá)式的不同取之執(zhí)行不同的語句。 switch只能比較相等的關(guān)系。 switch的case語句中可以采用多個(gè)數(shù)值。 switch 表達(dá)式 case 常數(shù)

17、1 語句塊1 case 常數(shù)2, 常數(shù)3 語句塊2 otherwise 默認(rèn)語句塊 end;循環(huán)語句for for語句用于指定次數(shù)的循環(huán)。 for k=1:10 循環(huán)體 end for語句可利用數(shù)組指定循環(huán)變量的值 a=7 3 10 5 9; for x=a 循環(huán)體中使用x end break語句用于立即結(jié)束循環(huán);循環(huán)語句while while語句用于完成不定重復(fù)次數(shù)的循環(huán),它與for語句不同,每次循環(huán)前要判斷其條件,如果條件為真,則繼續(xù)循環(huán),否則結(jié)束循環(huán)。 在循環(huán)體內(nèi)需要修改循環(huán)條件的變量,否則可能是死循環(huán)。 while 條件 循環(huán)體 end;提高M(jìn)atlab程序性能 循環(huán)的向量化 Matlab是以矩陣為基礎(chǔ)的算法,它特別適用于矩陣處理。 在實(shí)際運(yùn)用中,有些循環(huán)可直接轉(zhuǎn)換成向量操作,這樣可大大提高程序的執(zhí)行速度,這種技術(shù)稱為循環(huán)的向量化。 陣列預(yù)分配 如果不對(duì)陣列預(yù)分配存儲(chǔ)單元,則陣列每次都會(huì)動(dòng)態(tài)增大,從而大大降低計(jì)算效率。 通過陣列預(yù)分配,可免去每次增大陣列操作,從而大大減少計(jì)算時(shí)間。 管理內(nèi)存使用 合理的使用內(nèi)存資源是非常重要的。 用戶可以使用clear、save、load等命令管理變量占用的內(nèi)存資源。;Matlab程序調(diào)試 Matlab的調(diào)試器可以幫助用戶找出Mablab編程中的錯(cuò)誤,使用調(diào)試器可在執(zhí)行中隨時(shí)顯

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論