MATLAB快速入門_第1頁(yè)
MATLAB快速入門_第2頁(yè)
MATLAB快速入門_第3頁(yè)
MATLAB快速入門_第4頁(yè)
MATLAB快速入門_第5頁(yè)
已閱讀5頁(yè),還剩67頁(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)介

1、 編程環(huán)境編程環(huán)境1編程入門編程入門2繪圖繪圖3Matlab 簡(jiǎn)介簡(jiǎn)介qMatlab 提供了提供了強(qiáng)大的科學(xué)計(jì)算、靈活的程序設(shè)計(jì)流強(qiáng)大的科學(xué)計(jì)算、靈活的程序設(shè)計(jì)流程、高質(zhì)量的圖形可視化與界面設(shè)計(jì)程、高質(zhì)量的圖形可視化與界面設(shè)計(jì)等功能,被廣泛等功能,被廣泛應(yīng)用于應(yīng)用于科學(xué)計(jì)算、控制系統(tǒng)、信息處理科學(xué)計(jì)算、控制系統(tǒng)、信息處理等領(lǐng)域的分析、等領(lǐng)域的分析、仿真和畢業(yè)設(shè)計(jì)。仿真和畢業(yè)設(shè)計(jì)。Matlab 功能強(qiáng)大、簡(jiǎn)單易學(xué)、功能強(qiáng)大、簡(jiǎn)單易學(xué)、編程效率高編程效率高,深受廣大科技工作者的歡迎。,深受廣大科技工作者的歡迎。q Matlab是一種廣泛應(yīng)用于是一種廣泛應(yīng)用于工程工程計(jì)算計(jì)算及及數(shù)值分析數(shù)值分析領(lǐng)域

2、的新型高級(jí)領(lǐng)域的新型高級(jí)語(yǔ)言,現(xiàn)已成為國(guó)際公認(rèn)的最優(yōu)語(yǔ)言,現(xiàn)已成為國(guó)際公認(rèn)的最優(yōu)秀的工程應(yīng)用開(kāi)發(fā)環(huán)境。秀的工程應(yīng)用開(kāi)發(fā)環(huán)境。q Matlab 具有很強(qiáng)的具有很強(qiáng)的數(shù)值計(jì)算數(shù)值計(jì)算功能功能 Matlab 以以矩陣矩陣作為數(shù)據(jù)操作的基本單位,但無(wú)需作為數(shù)據(jù)操作的基本單位,但無(wú)需預(yù)先指定矩陣維數(shù)預(yù)先指定矩陣維數(shù)(動(dòng)態(tài)定維)(動(dòng)態(tài)定維) 提供十分豐富的數(shù)值計(jì)算函數(shù),方便計(jì)算,提高效率提供十分豐富的數(shù)值計(jì)算函數(shù),方便計(jì)算,提高效率 簡(jiǎn)便易學(xué):簡(jiǎn)便易學(xué):Matlab 命令與數(shù)學(xué)中的符號(hào)、公式非命令與數(shù)學(xué)中的符號(hào)、公式非常接近,可讀性強(qiáng),容易掌握常接近,可讀性強(qiáng),容易掌握q Matlab 是一個(gè)交互式軟件系

3、統(tǒng)是一個(gè)交互式軟件系統(tǒng)輸入一條命令,立即就可以得出該命令的結(jié)果輸入一條命令,立即就可以得出該命令的結(jié)果Matlab: Matrix Laboratryq Matlab 的繪圖功能強(qiáng)大的繪圖功能強(qiáng)大Matlab提供豐富的繪圖命令,提供豐富的繪圖命令,很方便實(shí)現(xiàn)數(shù)據(jù)的可視化很方便實(shí)現(xiàn)數(shù)據(jù)的可視化Matlab 的特點(diǎn)與功能的特點(diǎn)與功能q Matlab 符號(hào)計(jì)算功能強(qiáng)大符號(hào)計(jì)算功能強(qiáng)大q Matlab 的編程功能的編程功能Matlab簡(jiǎn)單易學(xué)、編程效率高簡(jiǎn)單易學(xué)、編程效率高。q Matlab 豐富的工具箱(豐富的工具箱(toolbox)根據(jù)專門領(lǐng)域中的特殊需要而設(shè)計(jì)的各種可選工具箱根據(jù)專門領(lǐng)域中的特殊

4、需要而設(shè)計(jì)的各種可選工具箱Symbolic Math PDEOptimizationSignal processImage ProcessStatisticsControl SystemSystem Identification Matlab 的基本用法的基本用法q Matlab 系統(tǒng)的啟動(dòng)系統(tǒng)的啟動(dòng)雙擊雙擊 桌面上的桌面上的Matlab 快捷圖標(biāo)快捷圖標(biāo)使用使用 Windows “開(kāi)始開(kāi)始” 菜單菜單程序程序MATLAB7.0 MATLAB7.0 q Matlab 系統(tǒng)的退出系統(tǒng)的退出 在在 Matlab 主窗口主窗口 File 菜單中選擇菜單中選擇 Exit Matlab 命令命令 在在

5、Matlab 命令窗口輸入命令窗口輸入 exit 或或 quit 命令命令 單擊單擊 Matlab 主窗口的主窗口的“關(guān)閉關(guān)閉”按鈕按鈕在任何時(shí)候,只要按在任何時(shí)候,只要按,MATLAB將停止運(yùn)行將停止運(yùn)行的所有工作的所有工作Matlab 的工作界面的工作界面命令窗口命令窗口當(dāng)前工當(dāng)前工作目錄作目錄當(dāng)前工當(dāng)前工作空間作空間輸入命令的輸入命令的歷史記錄歷史記錄命令命令提示符提示符Matlab 的命令窗口的命令窗口q 交互式的命令執(zhí)行方式交互式的命令執(zhí)行方式在在Command Window內(nèi)的提示符內(nèi)的提示符()之后之后輸入運(yùn)算式,并按輸入運(yùn)算式,并按 Enter 鍵鍵即可即可 缺省變量名缺省變量

6、名 ans若不想在屏幕上輸出結(jié)果,可以在語(yǔ)句最后加分號(hào)若不想在屏幕上輸出結(jié)果,可以在語(yǔ)句最后加分號(hào) cos(0)cos(0),210210,2+4i2+4iA=1 2 3;2 4 6;3 6 9A=1 2 3;2 4 6;3 6 9det(A)det(A)t=0:pi/100:2t=0:pi/100:2* *pi;pi;y=sin(t); plot(t,y,ry=sin(t); plot(t,y,r* *) )q 變量命名原則變量命名原則Matlab 變量變量u 以以字母開(kāi)頭:字母開(kāi)頭:x1,y,千萬(wàn)不要以數(shù)字開(kāi)頭,千萬(wàn)不要以數(shù)字開(kāi)頭u 后面可以跟后面可以跟 字母、數(shù)字字母、數(shù)字 和和 下劃線

7、下劃線u 變量名稱變量名稱區(qū)分字母的區(qū)分字母的 大小大小 寫寫,比如,比如Abc和和abc不同不同u字母間不可留空格,可以用下劃線字母間不可留空格,可以用下劃線math_scoreq Matlab 語(yǔ)句的通常形式語(yǔ)句的通常形式變量變量=表達(dá)式表達(dá)式q系統(tǒng)預(yù)定義變量系統(tǒng)預(yù)定義變量Matlab 變量變量u pi 圓周率圓周率 u inf/Inf 無(wú)窮大無(wú)窮大 u nan/NaN Not-a-Number,一個(gè)不定值,如,一個(gè)不定值,如 0/0u eps 浮點(diǎn)運(yùn)算相對(duì)精度浮點(diǎn)運(yùn)算相對(duì)精度 q 特殊變量特殊變量 ansu i/j 虛部單位,即虛部單位,即1 應(yīng)盡量避免給系統(tǒng)預(yù)定義變量重新賦值!應(yīng)盡量避

8、免給系統(tǒng)預(yù)定義變量重新賦值!q 數(shù)與算術(shù)表達(dá)式數(shù)與算術(shù)表達(dá)式Matlab 數(shù)值運(yùn)算數(shù)值運(yùn)算u Matlab 中的數(shù)默認(rèn)是中的數(shù)默認(rèn)是雙精度實(shí)數(shù)雙精度實(shí)數(shù),表示方法同,表示方法同 C 語(yǔ)言語(yǔ)言3, -9, 0.4, 1.603e-12, 3.23e+20u 浮點(diǎn)數(shù)表示范圍為:浮點(diǎn)數(shù)表示范圍為:10-308 10308u 復(fù)數(shù)的輸入復(fù)數(shù)的輸入 z=3+4i (4 與與 i 之間不能有空格之間不能有空格) z=3+4*iq數(shù)學(xué)運(yùn)算符數(shù)學(xué)運(yùn)算符u + 加法加法Matlab 數(shù)值運(yùn)算數(shù)值運(yùn)算u - 減法減法u * 乘法乘法u / 和和 除法(右除和左除)除法(右除和左除)u 冪運(yùn)算冪運(yùn)算u.* ./ .

9、 . 點(diǎn)運(yùn)算點(diǎn)運(yùn)算常用數(shù)學(xué)函數(shù)常用數(shù)學(xué)函數(shù)函數(shù)名函數(shù)名含含 義義函數(shù)名函數(shù)名含含 義義sinsin正弦函數(shù)正弦函數(shù)expexp自然指數(shù)函數(shù)自然指數(shù)函數(shù)coscos余弦函數(shù)余弦函數(shù)pow2pow22 2的冪的冪tantan正切函數(shù)正切函數(shù)absabs絕對(duì)值函數(shù)絕對(duì)值函數(shù)asinasin反正弦函數(shù)反正弦函數(shù)angleangle復(fù)數(shù)的幅角復(fù)數(shù)的幅角acosacos反余弦函數(shù)反余弦函數(shù)realreal復(fù)數(shù)的實(shí)部復(fù)數(shù)的實(shí)部atanatan反正切函數(shù)反正切函數(shù)imagimag復(fù)數(shù)的虛部復(fù)數(shù)的虛部sinhsinh雙曲正弦函數(shù)雙曲正弦函數(shù)conjconj復(fù)數(shù)共軛運(yùn)算復(fù)數(shù)共軛運(yùn)算coshcosh雙曲余弦函數(shù)雙曲

10、余弦函數(shù)remrem求余數(shù)或模運(yùn)算求余數(shù)或模運(yùn)算函數(shù)名函數(shù)名含含 義義函數(shù)名函數(shù)名含含 義義tanhtanh雙曲正切函數(shù)雙曲正切函數(shù)modmod模除求余模除求余asinhasinh反雙曲正弦函數(shù)反雙曲正弦函數(shù)fixfix向零方向取整向零方向取整acoshacosh反雙曲余弦函數(shù)反雙曲余弦函數(shù)floorfloor不大于自變量的最大整數(shù)不大于自變量的最大整數(shù)atanhatanh反雙曲正切函數(shù)反雙曲正切函數(shù)ceilceil不小于自變量的最小整數(shù)不小于自變量的最小整數(shù)sqrtsqrt平方根函數(shù)平方根函數(shù)roundround四舍五入到最鄰近的整數(shù)四舍五入到最鄰近的整數(shù)loglog自然對(duì)數(shù)函數(shù)自然對(duì)數(shù)函數(shù)

11、signsign符號(hào)函數(shù)符號(hào)函數(shù)log10log10常用對(duì)數(shù)函數(shù)常用對(duì)數(shù)函數(shù)gcdgcd最大公因子最大公因子log2log2以以2 2為底的對(duì)數(shù)函數(shù)為底的對(duì)數(shù)函數(shù)lcmlcm最小公倍數(shù)最小公倍數(shù)常用數(shù)學(xué)函數(shù)常用數(shù)學(xué)函數(shù)簡(jiǎn)單實(shí)例簡(jiǎn)單實(shí)例練習(xí):練習(xí):求求29的自然對(duì)數(shù)和無(wú)理數(shù)的自然對(duì)數(shù)和無(wú)理數(shù)e的的值值3226.3( ),(2)?ln(0.5)xxef xthen fxxq 矩陣的矩陣的直接輸入直接輸入 矩陣用方括號(hào)矩陣用方括號(hào)“ ”括起括起例:例: A = 1 2 3; 4 5 6; 7 8 9 矩陣同一行中的元素之間用矩陣同一行中的元素之間用空格空格或或逗號(hào)逗號(hào)分隔分隔 矩陣行與行之間用矩陣行

12、與行之間用 分號(hào)分號(hào)分開(kāi)分開(kāi) 直接輸入法中,分號(hào)可以用直接輸入法中,分號(hào)可以用回車回車代替代替矩陣矩陣q Matlab 的操作對(duì)象是的操作對(duì)象是 矩陣矩陣矩陣下標(biāo)矩陣下標(biāo)q 單個(gè)元素的引用單個(gè)元素的引用例:例: A(2,3)矩陣元素的引用矩陣元素的引用利用小括弧和元素所在的位置(下標(biāo))利用小括弧和元素所在的位置(下標(biāo))x(i):向量:向量 x 中的第中的第 i 個(gè)元素個(gè)元素A(i, j):矩陣矩陣 A 中的第中的第 i 行,第行,第 j 列元素列元素矩陣操作矩陣操作q 提取矩陣的部分元素:提取矩陣的部分元素: 冒號(hào)運(yùn)算符冒號(hào)運(yùn)算符uA(i,j) A的第的第i行第行第j列元素列元素u A(:,k

13、) A的第的第 k 列列u A(k,:) A的第的第 k 行行 u A(:,k:m) A的第的第 k 到第到第 m 列組成的子矩陣列組成的子矩陣uA(end,end) A的最后一行最后一列的最后一行最后一列如何獲得由如何獲得由 A 的第一、三行和第一、二列組成的子矩陣?的第一、三行和第一、二列組成的子矩陣?自己動(dòng)手自己動(dòng)手矩陣的各種處理矩陣的各種處理A(2,3) %查詢第查詢第2行第行第3列所對(duì)應(yīng)的元素列所對(duì)應(yīng)的元素A(12) %查詢第查詢第12個(gè)元素個(gè)元素A(9 14,10 15) %思考之思考之A(:,4) %查詢第查詢第4列元素列元素A(4,:) %查詢第查詢第4行元素行元素A(end,

14、:) %最后一行元素最后一行元素A(find(A5) %查詢大于查詢大于5的元素的元素A(2,3) = 5 %重新賦值第重新賦值第2行行3列元素為列元素為5q 向量與矩陣的生成向量與矩陣的生成向量與矩陣的生成向量與矩陣的生成u 向量的生成向量的生成 直接輸入直接輸入: a=1,2,3,4 冒號(hào)創(chuàng)建:冒號(hào)創(chuàng)建:x=a:step:b 從矩陣中抽取行或列從矩陣中抽取行或列生成線性等分向量:生成線性等分向量:x=linspace(a,b,n) x=linspace(0,1,5)x=linspace(0,1,5)x2=a+h:h:b-h;%2倍的點(diǎn)倍的點(diǎn)x4=a+h/2:h:b-h/2;%4倍的點(diǎn)倍的點(diǎn)

15、q 大矩陣可以把小矩陣作為其元素大矩陣可以把小矩陣作為其元素矩陣元素賦值矩陣元素賦值例:例: A = A; 11 12 13 在原矩陣的下方加一行在原矩陣的下方加一行如何在原矩陣的右邊添加一列?如何在原矩陣的右邊添加一列?u 已知矩陣已知矩陣A和行向量和行向量b,如何得到矩陣,如何得到矩陣1,AAb2AAb常見(jiàn)矩陣生成函數(shù)常見(jiàn)矩陣生成函數(shù)zeros(m,n) 生成一個(gè) m 行 n 列的零矩陣,m=n 時(shí)可簡(jiǎn)寫為 zeros(n)ones(m,n)生成一個(gè) m 行 n 列的元素全為 1 的矩陣, m=n 時(shí)可寫為 ones(n)eye(m,n)生成一個(gè)主對(duì)角線全為 1 的 m 行 n 列矩陣,

16、m=n 時(shí)可簡(jiǎn)寫為 eye(n),即為 n 維單位矩陣diag(A)diag(x)A 是矩陣,則 diag(A) 為 A 的主對(duì)角線向量x 是向量,diag(x) 產(chǎn)生以 x 為主對(duì)角線的對(duì)角矩陣rand(m,n)產(chǎn)生 01 間均勻分布的隨機(jī)矩陣 m=n 時(shí)簡(jiǎn)寫為 rand(n)randn(m,n) 產(chǎn)生均值為0,方差為1的標(biāo)準(zhǔn)正態(tài)分布隨機(jī)矩陣m=n 時(shí)簡(jiǎn)寫為 randn(n)矩陣操作矩陣操作q 查看矩陣的大?。翰榭淳仃嚨拇笮。簊izeu size(A) 列出矩陣列出矩陣 A 的的行數(shù)和列數(shù)行數(shù)和列數(shù)u size(A,1) 返回矩陣返回矩陣 A 的的行數(shù)行數(shù)u size(A,2) 返回矩陣返回

17、矩陣 A 的的列數(shù)列數(shù)例例: A=1 2 3; 4 5 6 size(A) size(A,1) size(A,2)u length(x) 返回向量返回向量 X 的的長(zhǎng)度長(zhǎng)度u length(A) 等價(jià)于等價(jià)于 max(size(A)逆矩陣與行列式計(jì)算逆矩陣與行列式計(jì)算q矩陣的逆矩陣:矩陣的逆矩陣:inv(A)q矩陣的行列式:矩陣的行列式:det(A) 要求要求A為方陣為方陣q矩陣的秩:矩陣的秩:rank(A) 例:例:A=1 2 3; 4 5 6; 2 3 5; A1=inv(A), d=det(A1), rank(A1)矩陣的數(shù)組運(yùn)算矩陣的數(shù)組運(yùn)算q 數(shù)組運(yùn)算:數(shù)組運(yùn)算:對(duì)應(yīng)元素進(jìn)行運(yùn)算點(diǎn)與

18、算術(shù)運(yùn)算符之間不能有空格!u 數(shù)組運(yùn)算包括:數(shù)組運(yùn)算包括:點(diǎn)乘點(diǎn)乘、點(diǎn)除點(diǎn)除、點(diǎn)冪點(diǎn)冪u 相應(yīng)的數(shù)組運(yùn)算符為:相應(yīng)的數(shù)組運(yùn)算符為: “.* ” , “./ ” , “. ” 和和“ . ”例例: A=1 2 3; 4 5 6; B=3 2 1; 6 5 4; C=A.*B; D=A./B; E=A.B; F=A.B;數(shù)與數(shù)組的點(diǎn)冪數(shù)與數(shù)組的點(diǎn)冪x.y =14,25,36=1,32,729 x.2 =12,22,32=1,4,9 2.x = ? 例例:x=1 2 3; y=4 5 6;矩陣的矩陣的“除法除法”q 矩陣的除法矩陣的除法:/、 右除和左除右除和左除 若 A 可逆方陣,則AB A 的逆

19、左乘的逆左乘 B = inv(A)*BB/A A 的逆右乘的逆右乘 B B*inv(A)X=ABX=AB A A* *X=BX=BX=B/AX=B/A X X* *A=B A=B 通常,矩陣除法可以理解為 當(dāng)當(dāng) A 和和 B 行數(shù)相等行數(shù)相等時(shí)即可進(jìn)行時(shí)即可進(jìn)行左除左除 當(dāng)當(dāng) A 和和 B 列數(shù)相等列數(shù)相等時(shí)即可進(jìn)行時(shí)即可進(jìn)行右除右除向量特殊運(yùn)算介紹向量特殊運(yùn)算介紹min最小值sum總和max最大值prod總乘積mean平均值std標(biāo)準(zhǔn)差median中位數(shù)sort排序dot數(shù)量積cross向量積例:例:A=magic(3)或或A=1:5% %運(yùn)算對(duì)向量或矩陣都適用運(yùn)算對(duì)向量或矩陣都適用B=me

20、an(A)C=sum(A)矩陣操作矩陣操作q 矩陣的上、下三角陣,對(duì)角陣矩陣的上、下三角陣,對(duì)角陣u triu(A,k) upper triangular part 上三角上三角u tril(A,k) lower triangular part 下三角下三角q 矩陣的旋轉(zhuǎn)矩陣的旋轉(zhuǎn)u fliplr(A) 左右旋轉(zhuǎn)左右旋轉(zhuǎn)u flipud(A) 上下旋轉(zhuǎn)上下旋轉(zhuǎn)u rot90(A) 逆時(shí)針旋轉(zhuǎn)逆時(shí)針旋轉(zhuǎn) 90 度;度; rot90(A,k) 逆時(shí)針旋轉(zhuǎn)逆時(shí)針旋轉(zhuǎn) k90 度度變量的存儲(chǔ)變量的存儲(chǔ)q 存儲(chǔ)當(dāng)前工作空間中的變量存儲(chǔ)當(dāng)前工作空間中的變量u save 將所有變量存入文件將所有變量存入文件

21、 matlab.matu save mydata 將所有變量存入指定文件將所有變量存入指定文件 mydata.matq 存儲(chǔ)指定的變量存儲(chǔ)指定的變量u save mydata.mat 將所有變量存入文件將所有變量存入文件 mydata.matsave 文件名文件名 變量名列表變量名列表例例: save mydata A x z 變量名列表中各變量之間用空格分隔。變量名列表中各變量之間用空格分隔。變量的讀取變量的讀取q 將數(shù)據(jù)文件中的變量載入當(dāng)前工作空間將數(shù)據(jù)文件中的變量載入當(dāng)前工作空間u load mydata 載入數(shù)據(jù)文件中的所有變量載入數(shù)據(jù)文件中的所有變量u load mydata A x

22、 從數(shù)據(jù)文件中提取指定變量從數(shù)據(jù)文件中提取指定變量q 清除當(dāng)前工作空間中的變量清除當(dāng)前工作空間中的變量u clear 清除當(dāng)前工作空間中的所有變量清除當(dāng)前工作空間中的所有變量u clear A x 清除指定的變量清除指定的變量q 輸出格式輸出格式Matlab 的輸出的輸出u Matlab 以雙精度執(zhí)行所有的運(yùn)算,運(yùn)算結(jié)果可以以雙精度執(zhí)行所有的運(yùn)算,運(yùn)算結(jié)果可以在在屏幕上輸出屏幕上輸出,同時(shí),同時(shí)賦給指定變量;賦給指定變量;若無(wú)指定變量,則系若無(wú)指定變量,則系統(tǒng)會(huì)自動(dòng)將結(jié)果賦給變量統(tǒng)會(huì)自動(dòng)將結(jié)果賦給變量 “ans” u File菜單,選擇菜單,選擇Preferences菜單項(xiàng)菜單項(xiàng),可以設(shè)置顯,

23、可以設(shè)置顯示格式示格式uMatlab 中數(shù)的輸出格式可以通過(guò)中數(shù)的輸出格式可以通過(guò) format 命令命令指定指定format 只改變變量的輸出格式,但不會(huì)影響變量的值!只改變變量的輸出格式,但不會(huì)影響變量的值!Matlab幫助系統(tǒng)幫助系統(tǒng)q 聯(lián)機(jī)幫助聯(lián)機(jī)幫助help 顯示指定命令的簡(jiǎn)短使用說(shuō)明顯示指定命令的簡(jiǎn)短使用說(shuō)明例:例: help eig help sqrt q 詳細(xì)使用幫助詳細(xì)使用幫助doc 以網(wǎng)頁(yè)形式以網(wǎng)頁(yè)形式顯示指定命令的幫助頁(yè)顯示指定命令的幫助頁(yè)例:例: doc eig q 其它相關(guān)命令其它相關(guān)命令helpdesk關(guān)系與邏輯運(yùn)算關(guān)系與邏輯運(yùn)算1數(shù)據(jù)輸入與輸出數(shù)據(jù)輸入與輸出2函數(shù)

24、文件函數(shù)文件3選擇與循環(huán)語(yǔ)句選擇與循環(huán)語(yǔ)句4程序設(shè)計(jì)技巧簡(jiǎn)介程序設(shè)計(jì)技巧簡(jiǎn)介5q 用 Matlab 語(yǔ)言編寫的程序稱為 M 文件。q M 文件是由若干 Matlab 命令組合在一起構(gòu)成的,它可以完成某些操作,也可以實(shí)現(xiàn)某種算法。事實(shí)上,Matlab 提供的內(nèi)部函數(shù)以及各種工具箱,都是利用 Matlab 語(yǔ)言開(kāi)發(fā)的 M 文件。用戶也可以結(jié)合自己的工作需要,開(kāi)發(fā)自己的程序或工具箱。q M 文件根據(jù)調(diào)用方式的不同可以分為兩類:u Script:腳本文件/命令文件 u Function:函數(shù)文件 M 文件文件q M 文件以 .m 為擴(kuò)展名。q M 文件是一個(gè)文本文件,可以用任何文本編輯器來(lái)建立和編輯,

25、通常使用 Matlab 自帶的 M 文件編輯器。M 文件的建立與打開(kāi)文件的建立與打開(kāi)q 新建一個(gè) M 文件u 菜單操作 ( File New M-File )u 命令操作 ( edit M 文件名 )u 命令按鈕 ( 快捷鍵 )q 打開(kāi)已有的 M 文件u 菜單操作 ( File Open )u 命令操作 ( edit M 文件名 )u 命令按鈕 ( 快捷鍵 )u 雙擊 M 文件 q 程序控制結(jié)構(gòu)有三種:順序結(jié)構(gòu)順序結(jié)構(gòu)、選擇結(jié)構(gòu)選擇結(jié)構(gòu)和和循循環(huán)結(jié)構(gòu)環(huán)結(jié)構(gòu)。M文件控制流文件控制流選擇結(jié)構(gòu)選擇結(jié)構(gòu) 是根據(jù)給定的條件成立或不成立,分別執(zhí)行不同的語(yǔ)句。Matlab 用于實(shí)現(xiàn)選擇結(jié)構(gòu)的語(yǔ)句有 if 語(yǔ)

26、句和 switch 語(yǔ)句。關(guān)系運(yùn)算關(guān)系運(yùn)算小于大于=大于等于=等于=不等于l 比較大小,如果結(jié)論是 真真 則返回 1 ,否則返回 0l 注意 = 與 = 的區(qū)別l 關(guān)系操作符能用來(lái)比較兩個(gè)同樣大小的數(shù)組,或用來(lái)比較一個(gè)數(shù)組和一個(gè)標(biāo)量,在后一種情況,標(biāo)量和數(shù)組中的每一個(gè)元素相比較,比較結(jié)果與數(shù)組大小一樣。q 關(guān)系關(guān)系運(yùn)算符運(yùn)算符& 與 (Elementwise AND)| 或 (Elementwise OR) 非xor(x,y) 異或邏輯運(yùn)算邏輯運(yùn)算q 邏輯運(yùn)算符邏輯運(yùn)算符A & B 等價(jià)于 and(A,B)A | B 等價(jià)于 or(A,B) A 等價(jià)于 not(A)例:例:A=

27、input(Please input A: )u 數(shù)據(jù)的輸入:inputA=input(提示信息提示信息)l 其中 提示信息 為字符串,l 該命令要求用戶輸入 A 的值 (可以是數(shù)或字符串)數(shù)據(jù)輸入數(shù)據(jù)輸入 inputA=input(提示信息提示信息, s)注:注:此時(shí)輸入的字符串不要加單引號(hào)!l 如果是輸入字符串,也可以使用下面的方法name=input(Whats your name? , s)例:例:disp(X)輸出變量 X 的值的值,可以是數(shù)值矩陣或字符串 B=1 2 3; 4 5 6; 7 8 9; disp(B)數(shù)據(jù)輸出數(shù)據(jù)輸出 dispu 數(shù)據(jù)的輸出:disp A=Hello,

28、Tom !; disp(A)例:例:l 單分支結(jié)構(gòu)if expression (條件)(條件) statements (語(yǔ)句組)(語(yǔ)句組)endif 條件語(yǔ)句條件語(yǔ)句if expression (條件)(條件) statements1(語(yǔ)句組(語(yǔ)句組1)else statements2(語(yǔ)句組(語(yǔ)句組2)endl 雙分支結(jié)構(gòu)數(shù)據(jù)輸出數(shù)據(jù)輸出 fprintffprintf(fid,format,variables)按指定的格式將變量的值輸出到指定的文件u 數(shù)據(jù)的輸出:fprintfl fid 為文件句柄,若缺省,則將變量的值輸出到屏幕上l format 用來(lái)指定數(shù)據(jù)輸出時(shí)采用的格式,常見(jiàn)的有 %

29、e ( 采用科學(xué)計(jì)算形式采用科學(xué)計(jì)算形式 ) %f ( 采用浮點(diǎn)數(shù)形式采用浮點(diǎn)數(shù)形式 ) %g ( 由系統(tǒng)自動(dòng)選取上述兩種格式之一由系統(tǒng)自動(dòng)選取上述兩種格式之一) %s ( 輸出字符串輸出字符串) l format 中還可以使用一些特殊格式,如:n ( 換行換行 ) t ( 制表符制表符 ) b ( 退格退格 ) ( 反斜桿反斜桿 ) % ( 百分號(hào)百分號(hào) ) function out1,out2,=函數(shù)名函數(shù)名(in1,in2,)% 注釋說(shuō)明部分注釋說(shuō)明部分(可選可選)函數(shù)體語(yǔ)句函數(shù)體語(yǔ)句(必須必須)u 第一行為第一行為引導(dǎo)行引導(dǎo)行,表示該,表示該 M文件是函數(shù)文件文件是函數(shù)文件u 函數(shù)名的

30、命名規(guī)則與變量名相同函數(shù)名的命名規(guī)則與變量名相同 ( 必須以字母開(kāi)頭必須以字母開(kāi)頭 )u 當(dāng)輸出行參多于一個(gè)時(shí),用當(dāng)輸出行參多于一個(gè)時(shí),用方括號(hào)方括號(hào)括起來(lái)括起來(lái)u 函數(shù)必須是一個(gè)函數(shù)必須是一個(gè)單獨(dú)的單獨(dú)的 M文件文件u 函數(shù)函數(shù)文件名必須與函數(shù)名一致文件名必須與函數(shù)名一致u 以以百分號(hào)百分號(hào)開(kāi)始的語(yǔ)句為開(kāi)始的語(yǔ)句為注釋語(yǔ)句注釋語(yǔ)句函數(shù)文件函數(shù)文件q 函數(shù)文件由函數(shù)文件由 function 語(yǔ)句引導(dǎo)語(yǔ)句引導(dǎo)函數(shù)文件舉例函數(shù)文件舉例myfun.mfunction x1,x2=myfun(a,b,c) temp=sqrt(b2-4*a*c); x1=(-b+temp)/2/a; x2=(-b-te

31、mp)/2/a;q 函數(shù)調(diào)用的一般格式函數(shù)調(diào)用的一般格式輸出實(shí)參列表輸出實(shí)參列表=函數(shù)名函數(shù)名(輸入實(shí)參列表輸入實(shí)參列表)函數(shù)調(diào)用函數(shù)調(diào)用子函數(shù)子函數(shù)function avg = fun(x) % 主函數(shù)主函數(shù) n = length(x);avg = mean(x, n);function a = mean(x, n) % 子函數(shù)子函數(shù)a = sum(x)/n;M文件的編輯文件的編輯q進(jìn)入進(jìn)入MATLAB的的Editor/Debugger窗口來(lái)編輯程序窗口來(lái)編輯程序q在編輯環(huán)境中,文字的不同顏色顯示表明文字的不在編輯環(huán)境中,文字的不同顏色顯示表明文字的不同屬性。同屬性。 綠色綠色:注解;:注解

32、;黑色黑色:程序主體;:程序主體;紅色紅色:屬性值的設(shè):屬性值的設(shè)定;定;藍(lán)色藍(lán)色:控制流程。:控制流程。程序設(shè)計(jì)技術(shù)程序設(shè)計(jì)技術(shù)q程序出錯(cuò)主要為兩類:程序出錯(cuò)主要為兩類:1)格式錯(cuò)誤,如缺格式錯(cuò)誤,如缺(或或)等,在運(yùn)行時(shí)等,在運(yùn)行時(shí)可檢測(cè)出大多數(shù)該類錯(cuò)誤,并指出錯(cuò)在哪一行。可檢測(cè)出大多數(shù)該類錯(cuò)誤,并指出錯(cuò)在哪一行。2)算法錯(cuò)誤,邏輯上的錯(cuò)誤,不易查找,遇到此算法錯(cuò)誤,邏輯上的錯(cuò)誤,不易查找,遇到此類錯(cuò)誤時(shí)需耐心。類錯(cuò)誤時(shí)需耐心。q 程序控制結(jié)構(gòu)有三種:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。任何復(fù)雜的程序都由這三種基本結(jié)構(gòu)組成。u 順序結(jié)構(gòu)M文件控制流文件控制流l 按排列順序依次執(zhí)行各條語(yǔ)句,直到程

33、序的最后。l 這是最簡(jiǎn)單的一種程序結(jié)構(gòu),一般涉及數(shù)據(jù)的輸入輸出、數(shù)據(jù)的計(jì)算或處理等。選擇結(jié)構(gòu)選擇結(jié)構(gòu) 是根據(jù)給定的條件成立或不成立,分別執(zhí)行不同的語(yǔ)句。Matlab 用于實(shí)現(xiàn)選擇結(jié)構(gòu)的語(yǔ)句有 if 語(yǔ)句和 switch 語(yǔ)句。選擇結(jié)構(gòu)選擇結(jié)構(gòu)if expression1 (條件1) statements1(語(yǔ)句組1)elseif expression2 (條件2) statements2(語(yǔ)句組2) . . elseif expressionm (條件m) statementsm(語(yǔ)句組m)else statements(語(yǔ)句組)endl 多分支結(jié)構(gòu)if 條件語(yǔ)句條件語(yǔ)句for variabl

34、e=expression statement(循環(huán)體)end循環(huán)變量循環(huán)變量循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)while expression (條件) statement(循環(huán)體)endfor循環(huán)循環(huán)【練習(xí)練習(xí)】一個(gè)三位整數(shù)各位數(shù)字的立方和一個(gè)三位整數(shù)各位數(shù)字的立方和等于該數(shù)本身則稱該數(shù)為水仙花數(shù)。輸出等于該數(shù)本身則稱該數(shù)為水仙花數(shù)。輸出全部水仙花數(shù)全部水仙花數(shù)。l 循環(huán)語(yǔ)句可以嵌套使用while 循環(huán)循環(huán)while expression (條件) statement(循環(huán)體)endl 不能在 for 循環(huán)體內(nèi)改變循環(huán)變量的值l 為了提高代碼的運(yùn)行效率,應(yīng)盡可能提高代碼的向量化程度,避免 for 循環(huán)的使用l

35、 如果預(yù)先就知道循環(huán)的次數(shù),則可以采用 for 循環(huán);否則,如果預(yù)先無(wú)法確定循環(huán)的次數(shù),則可以使用 while 循環(huán)。u break 和 continuel break 語(yǔ)句用于終止循環(huán)的執(zhí)行,即跳出最內(nèi)層循環(huán) l continue 語(yǔ)句用于結(jié)束本次循環(huán),進(jìn)行下一次循環(huán) l break 和 continue 一般與 if 語(yǔ)句配合使用其它流控制語(yǔ)句其它流控制語(yǔ)句u returnl return 語(yǔ)句用于退出正在運(yùn)行的腳本或函數(shù),通常用在函數(shù)文件中。l 根據(jù)表達(dá)式的不同取值,分別執(zhí)行不同的語(yǔ)句。switch expression (表達(dá)式)(表達(dá)式) case value1 (表達(dá)式(表達(dá)式1)

36、 statement1(語(yǔ)句組(語(yǔ)句組1) case value2 (表達(dá)式(表達(dá)式2) statement2(語(yǔ)句組(語(yǔ)句組2) . . case valuem (表達(dá)式(表達(dá)式m) statementm(語(yǔ)句組(語(yǔ)句組m) otherwise statement (語(yǔ)句組)(語(yǔ)句組)endswitch 語(yǔ)句語(yǔ)句首先由計(jì)算機(jī)隨機(jī)產(chǎn)生一個(gè)首先由計(jì)算機(jī)隨機(jī)產(chǎn)生一個(gè) 1,100 之間的一個(gè)整數(shù),之間的一個(gè)整數(shù),然后由用戶猜測(cè)所產(chǎn)生的這個(gè)數(shù)。根據(jù)用戶猜測(cè)的情況給然后由用戶猜測(cè)所產(chǎn)生的這個(gè)數(shù)。根據(jù)用戶猜測(cè)的情況給出不同的提示,如果猜測(cè)的數(shù)大于產(chǎn)生的數(shù),則顯示出不同的提示,如果猜測(cè)的數(shù)大于產(chǎn)生的數(shù),則顯

37、示 “High” ,小于則顯示,小于則顯示 “ Low ” ,等于則顯示,等于則顯示 “You won!”,同時(shí)退出游戲。用戶最多有,同時(shí)退出游戲。用戶最多有 7 次機(jī)會(huì)。次機(jī)會(huì)。上機(jī)作業(yè)上機(jī)作業(yè)u 猜數(shù)游戲猜數(shù)游戲Matlab 繪圖Matlab 二維作圖二維作圖u plot(x,y)q 基本形式基本形式 x, y 都是向量,則以都是向量,則以 x 中元素為橫坐標(biāo),中元素為橫坐標(biāo), y 中元素為中元素為縱坐標(biāo)作平面曲線。此時(shí)縱坐標(biāo)作平面曲線。此時(shí) x, y 必須具有必須具有相同長(zhǎng)度相同長(zhǎng)度。 x, y 都是矩陣,則將都是矩陣,則將 x 的列和的列和 y 中相應(yīng)的列相組合,中相應(yīng)的列相組合,繪制多條平面曲線。此時(shí)繪制多條平面曲線。此時(shí) x, y 必須具有必須具有相同的大小相同的大小。 x 是向量是向量, y 是矩陣,若是矩陣,若 x 的長(zhǎng)度與的長(zhǎng)度與 y 的行數(shù)相等,的行數(shù)相等,則將則將 x 與與 y 中的各列相對(duì)應(yīng),繪制多條平面曲線;否中的各列相對(duì)應(yīng),繪制多條平面曲線;否則,若則,若 x 的長(zhǎng)度與的長(zhǎng)度與 y 的列數(shù)相等,則將的列數(shù)相等,則將 x 與與 y 中的

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論