MATLAB介紹.

Slides:



Advertisements
Similar presentations
發現生命的力量 — 陳樹菊阿嬤,來了 … 《不凡的慷慨》書籍賞析. 你所知道的陳樹菊  2010 《富比世》雜誌亞洲慈善英雄! 2010 美國《時代》雜誌最具影響力百大人物! 《讀者文摘》亞洲英雄!  導演李安﹕「她的生活稱不上富裕,仍然陸續捐贈 了將近一千萬台幣幫助數個不同的單位 … 」
Advertisements

Matlab 教學 Speaker :陳珮妮 Date : 2013/03/14 1. Outline  MATLAB 簡介  算術邏輯運算  Matlab 陣列  Matlab 矩陣 2.
第 5 章 中國的都市.
第十五章 控制方法.
SCILAB第二章 二維平面繪圖 撰文者: 1.中央大氣科學系 楊善文 2. (如對本文有貢獻者,記得在此留名)
黃聰明 臺灣師範大學數學系 MATLAB 基本功能介紹 黃聰明 臺灣師範大學數學系.
引導者的角色 組別:第5組 4A1I0003 劉芷媛 4A1I0004 陳安琪 4A1I0014 陳佳瑩 4A1I0046 葉倢茹
MATLAB小结、 经典迭代法、CG.
古文閱讀 – 像虎伏獸 明 劉基 組員: 5號江依倫 6號江若薇 12號張珉芫 32號蔡燕如.
Introduction to Matlab
Matlab教學 Speaker:林昱志 Date:2012/10/18.
1-1 MATLAB 小傳(1) 由MathWorks公司於1984年推出的 數學軟體。 名稱是由「矩陣實驗室﹙MATrix
1012 MATLAB 教學 彭奕翔 2013/02/27.
性別透視鏡 鳳鳴電台 高宜君老師.
数值计算的工具—MATLAB 电子计算机技术为应用数学解决实际问题创造了物质条件 。
2010年桂林理工大学数学建模竞赛暑期培训班 MATLAB编程入门培训课程
第七讲 matlab的程序设计 —— matlab语言称为第四代编程语言,程序简洁、可读性很强而且调试十分容易。
Matlab及其应用 鲍文 哈尔滨工业大学 先进动力控制与可靠性研究所
第1章 MATLAB概述 1.1 MATLAB 7.x简介 是Matrix Laboratory的缩写,它将计算、可视化和编程功能于一身,是一个开放的基于矩阵的交互式开发系统。主要用于数学计算、系统建模与仿真、数据分析与可视化等。(Mathworks始创于1984) MATLAB的系统结构.
微積分 第三次上機 Matlab 教學 2007/12/04 朱育正.
張智星 (Roger Jang) 清大資工系 多媒體檢索實驗室
張智星 清大資工系 補充內容:方煒 台大生機系 小幅修改:吳俊仲 長庚機械系
張智星 清大資工系 補充內容:方煒 台大生機系
范洪源 臺灣師範大學數學系 MATLAB 基本功能介紹 范洪源 臺灣師範大學數學系.
C 程式設計— 控制敘述 台大資訊工程學系 資訊系統訓練班.
Matlab M檔案 方煒 台大生機系.
師大資工所助教 羅安鈞 Matlab with DIP 教學 師大資工所助教 羅安鈞
第2章 MATLAB矩阵及其运算 2. 1 变量和数据操作 2. 2 MATLAB矩阵 2. 3 MATLAB运算 2. 4 矩阵分析 2
數學與電腦 的初相識 汪群超 個人網址: 變有不可者三,有不可不變者三: 能力未至不可變也、 學識未敷不得變也、 功侯未到不能變也。
Z Mathematical Model ‡ ' MATLAB简介.
第一讲 MATLAB简介 1.1 MATLAB与通信仿真 1.1.1 通信电路与系统仿真 1.1.2 MATLAB的发展史
Application of Matlab Language
張智星 清大資工系 多媒體檢索實驗室 第九章: 矩陣的處理與運算 張智星 清大資工系 多媒體檢索實驗室.
程式流程控制 方煒 台大生機系.
Matlab基础介绍 Matlab 简介 Matlab 的安装与启动 Matlab 编程基础 Matlab 在数字信号处理课程中的应用.
黃聰明 國立臺灣師範大學數學系 MATLAB 基本功能介紹 黃聰明 國立臺灣師範大學數學系
本章中將會更詳細地考慮有關重複的概念,並且會 介紹for和do…while等兩種用來控制重複的敘述 式。 也將會介紹switch多重選擇敘述式。 我們會討論直接和迅速離開某種控制敘述式的 break敘述式,以及用來跳過重複敘述式本體剩餘 部份的continue敘述式。 本章會討論用來組合控制條件的邏輯運算子,最後.
引 言.
Introduction to MATLAB
算法与程序设计 周少品.
范洪源 臺灣師範大學數學系 分支宣告與程式設計 范洪源 臺灣師範大學數學系.
授課教授:張寶基 助教:梁凱雯 郭千豪 音視訊處理實驗室 2014 / 9 / 30
第1章 MATLAB操作基础 1.1 绪论 1.2 MATLAB概述 1.3 MATLAB的运行环境与安装 1.4 MATLAB集成环境 1.5 MATLAB帮助系统.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
MATLAB 程式設計入門篇 初探MATLAB
MATLAB介绍 Matlab基本命令介绍 Matlab矩阵运算 Matlab控制流 Matlab图像处理工具箱 实习题讲解.
1.3 矩阵与数组 MATLAB中矩阵的生成 MATLAB矩阵操作 数组创建与运算.
数学建模 江西财经大学 数学与管理决策系 制作:华长生 华长生制作.
第6章 常用内部过程 作为一门古老而又年轻的高级计算机语言,Fortran提供了大量的内部过程供程序员在编程过程中使用。并且随着新标准的推出,Fortran语言的内部过程还在继续扩展,能够提供更多的常用功能,大大减轻了程序员的重复性劳动。本节主要介绍常用内部过程的基本知识。
MATLAB 入门教程.
数学实验与MATLAB简介  课程的背景和基本要求 MATLAB 使用简介 MATLAB 常用函数介绍 宝石切割问题实验.
MATLAB 程式設計入門篇 初探MATLAB
MATLAB 程式設計入門篇 二維平面繪圖 改自張智星講義
學這些有什麼好處呢? 為了把資料作更客觀之總結描述或比較多組資料。總而言之,就是要找出一個數能代表整組數據。
張智星 (Roger Jang) 清大資工系 多媒體檢索實驗室
本章學習目標 認識陣列裡元素的結構 學習多維陣列的建立 學習編修矩陣的內容 學習基本的矩陣數學運算
实验教学 MATLAB在行列式和矩阵中的应用 授课教师:杨梦云.
MATLAB 程式設計入門篇 初探MATLAB
程式的時間與空間 Time and Space in Programming
第一单元 第1课 Matlab概述 1.MATLAB 2.工具箱 3.高效数值计算功能 4.完备的计算结果和编程可视化功能
西南科技大学网络教育系列课程 数学软件 数学软件 第3讲 MATLAB数组与运算 主讲教师: 鲜大权 副教授 西南科技大学理学院数学系.
挑戰C++程式語言 ──第9章 函數.
统计软件应用 2 主讲人 陶育纯 SPSS 统计软件应用 2 主讲人 陶育纯 教案.
Introduction to Matlab
第1章 MATLAB操作基础 1. 1 MATLAB概述 1. 2 MATLAB的运行环境与安装 1. 3 MATLAB集成环境 1
第7章 MATLAB工程计算.
MATLAB 实用教程.
MATLAB 結構化財務程式之撰寫 MATLAB財務程式實作應用研習 主題五 資管所 陳竑廷
第二单元 第3课 Matlab命令执行方式 1.Matlab命令执行方式 2.程序调试.
数学是知识的工具,亦是其它知识工具的泉源。 ——勒内·笛卡尔
Presentation transcript:

MATLAB介紹

導論 MATLAB是一項資料分析與視覺化的工具,強力支援矩陣與矩陣運算。 MATLAB具有優異的繪圖(2D、3D)能力,與獨特的程式語言能力。 為何MATLAB會成為影像處理工具,其中一個理由便是具有影像處理相關處理程序所需之影像處理工具箱(IPT)。

Matlab介面

介面說明 Workspace: 顯示目前工作環境內定義的變數 Command Window: 就如同一個文字操作介面,有 >> 提示號,在提示號之後輸入指令 Command History 紀錄曾經下過的指令

介面說明(cont.) Current Directory Window 預設路徑C:\Users\..\Documents\MATLAB 使用時只需呼叫檔名,不必給予檔案路徑。

指令操作 在command window輸入指令 按下 [Enter] 就執行計算並且顯示答案 Matlab不在乎空格 ex: 2*3-4 等同於 2 * 3 - 4 變數分大小寫 ex: imre 不等同於 IMRE

MATLAB基本用法 基本運算與函數 在MATLAB下進行基本數學運算(+、-、*、/、^),只需將運算式直接打入提示號(>>)之後,並按入Enter鍵即可。例如: >> 2 + 2 ans = 4 若想改變輸出格式可使用format函數。例如: >> format long % 顯示格式可取至雙精度浮點數 >> 11/7 ans= 1.571428571428571 >>format 內建基礎數學函數。例如: >> sqrt(2) >> sin(pi/8) >> log(10)

MATLAB常用的基本數學函數 abs(x): 純量的絕對值或向量的長度 sqrt(x): 開平方 r round(x): 四捨五入至最近整數 fix(x): 無論正負,捨去小數至最近整數 floor(x): 地板函數,即捨去正小數至最近整數 ceil(x): 天花板函數,即加入正小數至最近整數 sign(x): 符號函數 (Signum function)。 當x<0時,sign(x)=-1; 當x=0時,sign(x)=0; 當x>0時,sign(x)=1。 rem(x,y): 求x除以y的餘數 gcd(x,y): 整數x和y的最大公因數 lcm(x,y): 整數x和y的最小公倍數 exp(x): 自然指數 pow2(x): 2的指數 (2X) log(x): 以e為底的對數,即自然對數 log2(x): 以2為底的對數 log10(x): 以10為底的對數

MATLAB常用的三角函數 sin(x): 正弦函數 cos(x): 餘弦函數 tan(x): 正切函數 asin(x): 反正弦函數 acos(x): 反餘弦函數 atan(x): 反正切函數 atan2(x,y):四象限的反正切函數 sinh(x): 雙曲線正弦函數 cosh(x): 雙曲線餘弦函數 tanh(x): 雙曲線正切函數 asinh(x): 反雙曲線正弦函數 acosh(x): 反雙曲線餘弦函數 atanh(x): 反雙曲線正切函數

變數與工作空間 變數命名的規則 第一個字母必須是英文字母 其後可以是字母、數字、底線(_)任意組合,字母間不可留空格 。 最多只能有63個字母,MATLAB會忽略多餘字母 例如: a = 5 ^ (7 /2) a = 279.5085

變數與工作空間 工作空間可列出目前所有定義了的變數、數據資料型態以及位元組大小。(View選單) 另可在命令視窗使用whos函數取得相同資訊。

純量、向量與矩陣 MATLAB中有許多產生與處理矩陣的指令。 在資料形式有時會稱之為純量、向量與矩陣,但MATLAB都會將其視為矩陣資料。 純量為1X1陣列類型 向量為一維陣列類型 矩陣為二維或更高維度陣類型

矩陣元素 矩陣產生方式,首先可以將矩陣一列一列鍵入,使用空白或逗號分隔,分號用來隔列。例如: 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

矩陣元素 矩陣元素存取---使用標準列,行的索引方式取得。例如: a(2,3) %取得第2列第3行的元素 MATLAB也可使用單一索引數字求得矩陣元素。例如: a(10) %取得原矩陣a(2,3)之元素。 一個r列c行的矩陣M,元素m(i,j)可對應位置為m(i + r*(j-1))。

矩陣元素 使用單一索引一次存取好幾個矩陣元素: a([1 6 11 16]) MATLAB的冒號(:)運算子,產生一整列的數值,稱之為數值向量。例如: a :b %可產生由a到b所有整數 也可使用冒號(:)運算子產生一等差數列。 a : i:b %可產生由a增加i到b所有整數 我們也可利用linspace來產生任意的等差數列: x = linspace(4, 10, 6) % 等差數列:首項為4,末項為10,項數為6 x = 4.0000 5.2000 6.4000 7.6000 8.8000 10.0000

矩陣元素 可將上面冒號運用在矩陣元素存取。 a(2,1:3) a(2:4,3) a(2:3,3:4) a(3,:) a(:,2)

矩陣元素 end函數表示陣列元素索引之最大值。例如: 使用向量來當一個矩陣的索引 v(end:1) %反轉向量值 v(end:-2:1) %表示由最後一個元素開始顯示,每次遞減2 ,直到第一個元素停止。 a(end,end) a(end, end-2) a(2:end,end:-2:1) 使用向量來當一個矩陣的索引 E=a([1 3],[2 3])

矩陣運算 MATLAB支援所有標準矩陣運算,矩陣可相加、相減、相乘或反轉,也可取矩陣的次方。 2 4 -7 -4 5 6 3 -2 1 -8 -5 -3 0 -6 7 -1 例如: 2*a – 3*b

矩陣運算 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= 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).

矩陣運算 Operator Name Comments and Examples \ Matrix left division A\B 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. − Unary minus −A is the same as 0 − A or −1*A.

矩陣運算 反矩陣函數inv 矩陣轉置 矩陣上下顛倒flipud及左右顛倒fliplr 若要重新安排矩陣的形狀,可用reshape命令: inv(a) 矩陣轉置 a’ 矩陣上下顛倒flipud及左右顛倒fliplr flipud(a) fliplr(a) 若要重新安排矩陣的形狀,可用reshape命令: reshape(a, 2, 8)

點運算子 點運算子主要使矩陣運算看成陣列之運算 例如: a=[1 2;3 4] b=[2 3;4 5] a.*b %產生a與b對應元素相乘 ans = 2 6 12 20

建構矩陣 我們可以透過將所有元素列出的方式建構矩陣。不過,有些特殊矩陣可使用MATLAB內部函數建立,如全部是0或 1的矩陣,可由zeros與ones產生。例如: zeros(n) zeros(m,n) zeros(a) 亂數矩陣可以使用rand與randn產生。 rand產生的區間為[0, 1]的平均分佈矩陣 randn產生的平均值為0,標準差為1的常態分佈矩陣 floor(10*rand(3)) floor(100*randn(3,5))

建構矩陣 函數meshgrid可以自動產生2D或3D笛卡兒空間 函數size可以求得矩陣維度的大小 [rows cols]=meshgrid(1:10,1:10) 函數size可以求得矩陣維度的大小 size(a)

If Else 用法:if (True or False), 計算, end ex: if (isempty(t)) t = 0; End 用法: if (True_or_False), 計算, else, 計算, end

switch 用法:switch (switch_expr) case case_expr_1 statement1 otherwise end ex: switch (value) case {1 ,3 ,5 ,7 , 9} disp(‘the value is odd.’); case {2 ,4 , 6, 8, 10} disp(‘the value is even.’); disp(‘the value is out of range.’);

For loop 用法:for 變數 = 向量或序列, 計算, 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

While loop 用法:while expression , 計算, end ex: i=1; ex: i=1 while i <= 100 while i <= 100 y(i) =2; s = s+i; i=i+1; i=i+2; end end

向量化 向量化代表要將整個矩陣或向量進行一項運算,例如:大部分程式語言,要將一個陣列元素帶入某項運算,必須使用迴圈來完成。MATLAB的向量化允許我們在大多數情況可以不用迴圈,是非常有效率的替代方案。例如: for i=1:10^6 ; sin(i); end %可用下一列指令取代 i=1:10^6;sin(i);

向量化 再舉一個例子,可以使用下列指令產生前10 個數字平方: 向量化也可使用邏輯運算子進行使用下列指令求 矩陣a所有正元素: [1:10].^2 向量化也可使用邏輯運算子進行使用下列指令求 矩陣a所有正元素: a>0

繪圖 折線圖plot(): 用法:plot(x,y),其中 x 和 y 是維度相同的序列或向量。 ex: x=[0 :0.1: 2*pi]; plot(x,sin(x)) 畫出從 0到2 π間隔0.1 數值的sin 圖形 plot(x,sin(x),’.’,x,cos(x),’o’)

MATLAB 程式編寫 MATLAB的腳本(script) MATLAB的函數(function) 腳本檔案只是一份執行指令的清單,為了執行方便將其存檔,命名為script.m,置於路徑上,然後再指令視窗打入script,則會執行該檔案所有的指令。 MATLAB的函數(function) MATLAB函數取得輸入(一個或數個變數) ,然後傳回一個或數個數值。例如: sum(a) % 會產生矩陣行的總和 sum(a>0) % 會產生矩陣大於0行的總和 sum(a(:) > 0) %會產生矩陣大於0的元素個數

MATLAB 程式編寫 函數語法---函數檔案會以 function開頭 第一行定義函數名稱(lookfor),接下來幾行是說明檔(help),最後是指令碼 。如下所示: function num=countpos(a) % countpos finds the number of positive % elementsin a matrix. % usage: % n=countpos(a) num=sum(a(: )>0);

参考網站 http://libai.math.ncu.edu.tw/bcc16/B/matlab/index.shtml