版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、MATLAB介紹MATLAB介紹導(dǎo)論MATLAB是一項資料分析與視覺化的工具,強(qiáng)力支援矩陣與矩陣運(yùn)算。MATLAB具有優(yōu)異的繪圖(2D、3D)能力,與獨(dú)特的程式語言能力。為何MATLAB會成為影像處理工具,其中一個理由便是具有影像處理相關(guān)處理程序所需之影像處理工具箱(IPT)。導(dǎo)論MATLAB是一項資料分析與視覺化的工具,強(qiáng)力支援矩陣與Matlab介面Matlab介面介面說明Workspace: 顯示目前工作環(huán)境內(nèi)定義的變數(shù) Command Window: 就如同一個文字操作介面,有 提示號,在提示號之後輸入指令 Command History 紀(jì)錄曾經(jīng)下過的指令 介面說明Workspace:
2、介面說明(cont.)Current Directory Window 預(yù)設(shè)路徑C:Users.DocumentsMATLAB 當(dāng)你的圖片檔案或M檔案至於此路徑時, 使用時只需呼叫檔名,不必給予檔案路徑。介面說明(cont.)Current Directory W指令操作在command window輸入指令按下 Enter 就執(zhí)行計算並且顯示答案Matlab不在乎空格 ex: 2*3-4 等同於 2 * 3 - 4變數(shù)分大小寫 ex: imre 不等同於 IMRE指令操作在command window輸入指令MATLAB基本用法基本運(yùn)算與函數(shù)在MATLAB下進(jìn)行基本數(shù)學(xué)運(yùn)算(+、-、*、/、
3、),只需將運(yùn)算式直接打入提示號()之後,並按入Enter鍵即可。例如: 2 + 2 ans = 4 若想改變輸出格式可使用format函數(shù)。例如: format long % 顯示格式可取至雙精度浮點(diǎn)數(shù) 11/7ans= 1.571428571428571format內(nèi)建基礎(chǔ)數(shù)學(xué)函數(shù)。例如: sqrt(2) sin(pi/8) log(10)MATLAB基本用法基本運(yùn)算與函數(shù)MATLAB常用的基本數(shù)學(xué)函數(shù) abs(x): 純量的絕對值或向量的長度 sqrt(x): 開平方 rround(x): 四捨五入至最近整數(shù) fix(x): 無論正負(fù),捨去小數(shù)至最近整數(shù) floor(x): 地板函數(shù),即捨
4、去正小數(shù)至最近整數(shù) ceil(x): 天花板函數(shù),即加入正小數(shù)至最近整數(shù) sign(x): 符號函數(shù) (Signum function)。 當(dāng)x0時,sign(x)=1。 rem(x,y): 求x除以y的餘數(shù) gcd(x,y): 整數(shù)x和y的最大公因數(shù) lcm(x,y): 整數(shù)x和y的最小公倍數(shù) exp(x): 自然指數(shù) pow2(x): 2的指數(shù) (2X) log(x): 以e為底的對數(shù),即自然對數(shù) log2(x): 以2為底的對數(shù) log10(x): 以10為底的對數(shù)MATLAB常用的基本數(shù)學(xué)函數(shù) abs(x): 純MATLAB常用的三角函數(shù)sin(x): 正弦函數(shù)cos(x): 餘弦函數(shù)
5、 tan(x): 正切函數(shù) asin(x): 反正弦函數(shù) acos(x): 反餘弦函數(shù) atan(x): 反正切函數(shù) atan2(x,y):四象限的反正切函數(shù) sinh(x): 雙曲線正弦函數(shù) cosh(x): 雙曲線餘弦函數(shù) tanh(x): 雙曲線正切函數(shù) asinh(x): 反雙曲線正弦函數(shù) acosh(x): 反雙曲線餘弦函數(shù)atanh(x): 反雙曲線正切函數(shù)MATLAB常用的三角函數(shù)sin(x): 正變數(shù)與工作空間變數(shù)命名的規(guī)則第一個字母必須是英文字母 其後可以是字母、數(shù)字、底線(_)任意組合,字母間不可留空格 。最多只能有63個字母,MATLAB會忽略多餘字母 例如: a = 5
6、 (7 /2)a = 279.5085變數(shù)與工作空間變數(shù)命名的規(guī)則變數(shù)與工作空間工作空間可列出目前所有定義了的變數(shù)、數(shù)據(jù)資料型態(tài)以及位元組大小。(View選單)另可在命令視窗使用whos函數(shù)取得相同資訊。變數(shù)與工作空間工作空間可列出目前所有定義了的變數(shù)、數(shù)據(jù)資料型純量、向量與矩陣MATLAB中有許多產(chǎn)生與處理矩陣的指令。在資料形式有時會稱之為純量、向量與矩陣,但MATLAB都會將其視為矩陣資料。純量為1X1陣列類型向量為一維陣列類型矩陣為二維或更高維度陣類型純量、向量與矩陣MATLAB中有許多產(chǎn)生與處理矩陣的指令。矩陣元素矩陣產(chǎn)生方式,首先可以將矩陣一列一列鍵入,使用空白或逗號分隔,分號用來隔
7、列。例如:a=4 -2 -4 7;1 5 -3 2;6 -8 -5 -6;-7 3 0 1 a = 4 -2 -4 7 1 5 -3 2 6 -8 -5 -6 -7 3 0 1矩陣元素矩陣產(chǎn)生方式,首先可以將矩陣一列一列鍵入,使用空白或矩陣元素矩陣元素存取-使用標(biāo)準(zhǔn)列,行的索引方式取得。例如: a(2,3) %取得第2列第3行的元素MATLAB也可使用單一索引數(shù)字求得矩陣元素。例如: a(10) %取得原矩陣a(2,3)之元素。一個r列c行的矩陣M,元素m(i,j)可對應(yīng)位置為m(i + r*(j-1)。矩陣元素矩陣元素存取-使用標(biāo)準(zhǔn)列,行的索引方式取得。例如矩陣元素使用單一索引一次存取好幾個
8、矩陣元素:a(1 6 11 16)MATLAB的冒號(:)運(yùn)算子,產(chǎn)生一整列的數(shù)值,稱之為數(shù)值向量。例如:a :b %可產(chǎn)生由a到b所有整數(shù)也可使用冒號(:)運(yùn)算子產(chǎn)生一等差數(shù)列。a : i:b %可產(chǎn)生由a增加i到b所有整數(shù)我們也可利用linspace來產(chǎn)生任意的等差數(shù)列: x = linspace(4, 10, 6) % 等差數(shù)列:首項為4,末項為10,項數(shù)為6 x = 4.0000 5.2000 6.4000 7.6000 8.8000 10.0000 矩陣元素使用單一索引一次存取好幾個矩陣元素:a(1 6 矩陣元素可將上面冒號運(yùn)用在矩陣元素存取。a(2,1:3) a(2:4,3) a(
9、2:3,3:4) a(3,:) a(:,2) a(:) % 鍵入冒號可將二維矩陣(依逐行方式)形成一行向量顯示矩陣元素可將上面冒號運(yùn)用在矩陣元素存取。a(2,1:3)矩陣元素end函數(shù)表示陣列元素索引之最大值。例如: v(end:1) %反轉(zhuǎn)向量值v(end:-2:1) %表示由最後一個元素開始顯示,每次遞減2 ,直到第一個元素停止。 a(end,end) a(end, end-2) a(2:end,end:-2:1)使用向量來當(dāng)一個矩陣的索引 E=a(1 3,2 3)矩陣元素end函數(shù)表示陣列元素索引之最大值。例如:矩陣運(yùn)算MATLAB支援所有標(biāo)準(zhǔn)矩陣運(yùn)算,矩陣可相加、相減、相乘或反轉(zhuǎn),也可
10、取矩陣的次方。b=2 4 -7 -4;5 6 3 -2;1 -8 -5 -3;0 -6 7 -1 b = 2 4 -7 -4 5 6 3 -2 1 -8 -5 -3 0 -6 7 -1 例如: 2*a 3*b矩陣運(yùn)算MATLAB支援所有標(biāo)準(zhǔn)矩陣運(yùn)算,矩陣可相加、相減、矩陣運(yùn)算Operator Name Comments and Examples + Array and matrix addition a + b, A + B, or a + A. Array and matrix subtraction a b, A B, A a,. . * Array multiplication Cv=
11、A.*B, C(I, J) = A(I, J)*B(I, J). * Matrix multiplication A*B, standard matrix multiplication. ./ Array right division C = A./B, C(I, J) = A(I, J)/B(I, J). . Array left division C = A.B, C(I, J) = B(I, J)/A(I, J). / Matrix right division A/B is the preferred way to compute A*inv(B).矩陣運(yùn)算Operator Name
12、矩陣運(yùn)算Operator Name Comments and Examples Matrix left division AB is the preferred way to compute inv(A)*B. . Array power If C = A.B, then C(I, J) = A(I, J)B(I, J). . matrix transpose A., standard matrix transpose. matrix transpose A, standard matrix transpose. + Unary plus +A is the same as 0 + A. Un
13、ary minus A is the same as 0 A or 1*A.矩陣運(yùn)算Operator Name 矩陣運(yùn)算反矩陣函數(shù)invinv(a)矩陣轉(zhuǎn)置a矩陣上下顛倒flipud及左右顛倒fliplrflipud(a)fliplr(a)若要重新安排矩陣的形狀,可用reshape命令:reshape(a, 2, 8)矩陣運(yùn)算反矩陣函數(shù)inv點(diǎn)運(yùn)算子點(diǎn)運(yùn)算子主要使矩陣運(yùn)算看成陣列之運(yùn)算 例如:a=1 2;3 4b=2 3;4 5a.*b %產(chǎn)生a與b對應(yīng)元素相乘ans = 2 6 12 20點(diǎn)運(yùn)算子點(diǎn)運(yùn)算子主要使矩陣運(yùn)算看成陣列之運(yùn)算建構(gòu)矩陣我們可以透過將所有元素列出的方式建構(gòu)矩陣。不過,有些
14、特殊矩陣可使用MATLAB內(nèi)部函數(shù)建立,如全部是0或 1的矩陣,可由zeros與ones產(chǎn)生。例如:zeros(n)zeros(m,n)zeros(a)亂數(shù)矩陣可以使用rand與randn產(chǎn)生。rand產(chǎn)生的區(qū)間為0, 1的平均分佈矩陣randn產(chǎn)生的平均值為0,標(biāo)準(zhǔn)差為1的常態(tài)分佈矩陣floor(10*rand(3)floor(100*randn(3,5)建構(gòu)矩陣我們可以透過將所有元素列出的方式建構(gòu)矩陣。不過,有些建構(gòu)矩陣函數(shù)meshgrid可以自動產(chǎn)生2D或3D笛卡兒空間rows cols=meshgrid(1:10,1:10)函數(shù)size可以求得矩陣維度的大小size(a)建構(gòu)矩陣函數(shù)m
15、eshgrid可以自動產(chǎn)生2D或3D笛卡兒空間If Else用法:if (True or False), 計算, end ex: if (isempty(t) t = 0; End用法: if (True_or_False), 計算, else, 計算, end If Else用法:if (True or False),switch用法:switch (switch_expr) case case_expr_1 statement1 otherwise statement1 end ex: switch (value) case 1 ,3 ,5 ,7 , 9 disp(the value is
16、 odd.); case 2 ,4 , 6, 8, 10 disp(the value is even.); otherwise disp(the value is out of range.); endswitch用法:switch (switch_expr) For loop用法:for 變數(shù) = 向量或序列, 計算, end ex: for i = 1:100, ex: for i=1:2:100 , y(i) =2; s = s+i; End end ex: for x = 0 1 5 3, disp(x); /印出 x end For loopWhile loop用法:while e
17、xpression , 計算, end ex: i=1; ex: i=1 while i = 100 while i 0向量化再舉一個例子,可以使用下列指令產(chǎn)生前10 個數(shù)字平方:繪圖折線圖plot(): 用法:plot(x,y),其中 x 和 y 是維度相同的序列或向量。 ex: x=0 :0.1: 2*pi; plot(x,sin(x) 畫出從 0到2 間隔0.1 數(shù)值的sin 圖形 plot(x,sin(x),.,x,cos(x),o)繪圖折線圖plot():MATLAB 程式編寫MATLAB的腳本(script) 腳本檔案只是一份執(zhí)行指令的清單,為了執(zhí)行方便將其存檔,命名為script.m,置於路徑上,然後再指令視窗打入script,則會執(zhí)行該檔案所有的指令。MATLAB的函數(shù)(function) MATLAB函數(shù)取得輸入(一個或數(shù)個變數(shù)) ,然後傳回一個或數(shù)個數(shù)值。例如: sum(a) % 會產(chǎn)生矩陣行的總和 sum(a0) % 會產(chǎn)生矩陣大於0行的總和 sum(a(:) 0) %會產(chǎn)生矩陣大於0的元素個數(shù)MATLAB 程式編寫MATLAB的腳本(scri
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024試用期接觸勞動合同范本
- 供應(yīng)合同-省級國家機(jī)關(guān)、事業(yè)單位和社會團(tuán)體計算機(jī)(或打印機(jī))協(xié)議供貨合同
- 廣東省七年級上學(xué)期語文期中考試試卷5套【附答案】
- 2024年車輛物流運(yùn)輸合同協(xié)議書
- 機(jī)械租賃合同模板集
- 展覽活動中的房產(chǎn)贈與合同
- 貨物倉儲出租協(xié)議
- 2024年詳細(xì)版租房協(xié)議書
- 手機(jī)銷售合同常見問題解答
- 2024版酒店經(jīng)營合作協(xié)議模板
- 護(hù)理核心制度督查表20179
- 紅色古色綠色文化教育活動策劃方案
- 《Monsters 怪獸》中英對照歌詞
- 《正交分解法》導(dǎo)學(xué)案
- 建筑材料知識點(diǎn)匯總
- 平面構(gòu)成作品欣賞
- 英語管道專業(yè)術(shù)語
- 淺談?wù)Z文課程內(nèi)容的橫向聯(lián)系
- 社會工作畢業(yè)論文(優(yōu)秀范文8篇)
- 五篇500字左右的短劇劇本
- 新形勢下如何加強(qiáng)醫(yī)院新聞宣傳工作
評論
0/150
提交評論