Matlab 教學 Speaker :陳珮妮 Date : 2013/03/14 1. Outline  MATLAB 簡介  算術邏輯運算  Matlab 陣列  Matlab 矩陣 2.

Slides:



Advertisements
Similar presentations
实验安排 本周六和下周六上机时间: 上午: 8 : 30~10 : 00 第一组 上午: 11 : 00~11 : 30 第二组 下午: 14 : 30~16 : 00 第三组.
Advertisements

發現生命的力量 — 陳樹菊阿嬤,來了 … 《不凡的慷慨》書籍賞析. 你所知道的陳樹菊  2010 《富比世》雜誌亞洲慈善英雄! 2010 美國《時代》雜誌最具影響力百大人物! 《讀者文摘》亞洲英雄!  導演李安﹕「她的生活稱不上富裕,仍然陸續捐贈 了將近一千萬台幣幫助數個不同的單位 … 」
第 5 章 中國的都市.
2011级高考地理复习(第一轮) 第三篇 中国地理 第一章 中国地理概况 第五节 河流和湖泊.
《北國性騷擾》 電影欣賞 帶領者 李佩娟 諮商心理師 元培科大學輔中心輔導員(現任) 高雄師範大學輔導與諮商研究所(學經歷)
高职人才培养评估核查 与状态数据采集平台建设工作 说 明 广东水利电力职业技术学院 曾志军
統 計 程 式 語 言.
营 改 增 政 策 交 流 烟台市国家税务局.
第4章 线性代数 4.1 矩阵的生成 通过元素列表榆入 通过外部数据加载 在M文件中创建矩阵
黃聰明 臺灣師範大學數學系 MATLAB 基本功能介紹 黃聰明 臺灣師範大學數學系.
劳动社会保障法学 吴 斌 四川理工学院 法学教授.
MATLAB小结、 经典迭代法、CG.
古文閱讀 – 像虎伏獸 明 劉基 組員: 5號江依倫 6號江若薇 12號張珉芫 32號蔡燕如.
Introduction to Matlab
Matlab教學 Speaker:林昱志 Date:2012/10/18.
張智星 清大資工系 多媒體檢索實驗室 MATLAB小傳與外觀 張智星 清大資工系 多媒體檢索實驗室.
1-1 MATLAB 小傳(1) 由MathWorks公司於1984年推出的 數學軟體。 名稱是由「矩陣實驗室﹙MATrix
1012 MATLAB 教學 彭奕翔 2013/02/27.
第一次世界大战的时候,一位法国飞行员在2 000 m高空飞行的时候,发现脸旁有一个小玩意儿在游动着,飞行员以为这是一只小昆虫,敏捷地把它一把抓了过来,令他吃惊的是,他发现他抓到的竟是一颗德国子弹!     问题:大家都知道,子弹的飞行速度是相当快的,这名法国飞行员为什么会有这么大的本领呢?为什么飞行员能抓到子弹?
数值计算的工具—MATLAB 电子计算机技术为应用数学解决实际问题创造了物质条件 。
第4章 种群和群落 第3节 群落的结构 自主学习案   合作探究案 课后练习案. 第4章 种群和群落 第3节 群落的结构 自主学习案   合作探究案 课后练习案.
2010年桂林理工大学数学建模竞赛暑期培训班 MATLAB编程入门培训课程
全球工程師共同的語言 MathWorks 台灣總代理鈦思科技 指導老師 : 郭艷光教授 報告者 : 吳育驊
Matlab及其应用 鲍文 哈尔滨工业大学 先进动力控制与可靠性研究所
成才之路 · 语文 人教版 · 必修2 路漫漫其修远兮 吾将上下而求索.
第1章 MATLAB概述 1.1 MATLAB 7.x简介 是Matrix Laboratory的缩写,它将计算、可视化和编程功能于一身,是一个开放的基于矩阵的交互式开发系统。主要用于数学计算、系统建模与仿真、数据分析与可视化等。(Mathworks始创于1984) MATLAB的系统结构.
Chap.1 簡介與入門使用 方煒 台大生機系 彙整.
第一章 概 述 1.1 MATLAB产品族简介 1.2 MATLAB的桌面环境 1.3 Command Windows和MATLAB指令
MATLAB介紹.
第3章 矩阵、数组和符号运算 一、矩阵和数组运算 要求内容: ( 1)熟练掌握矩阵的创建。 ( 2)掌握矩阵运算和数组运算。
張智星 清大資工系 補充內容:方煒 台大生機系 小幅修改:吳俊仲 長庚機械系
張智星 清大資工系 補充內容:方煒 台大生機系
范洪源 臺灣師範大學數學系 MATLAB 基本功能介紹 范洪源 臺灣師範大學數學系.
Matlab教學 Speaker:林昱志 Date:2012/10/25.
第2章 MATLAB矩阵及其运算 2. 1 变量和数据操作 2. 2 MATLAB矩阵 2. 3 MATLAB运算 2. 4 矩阵分析 2
例1.设 求AB..
數學與電腦 的初相識 汪群超 個人網址: 變有不可者三,有不可不變者三: 能力未至不可變也、 學識未敷不得變也、 功侯未到不能變也。
Z Mathematical Model ‡ ' MATLAB简介.
第1章 MATLAB概述 编者.
MATLAB、CTEX简介 及其 在教学中的应用
第一讲 MATLAB简介 1.1 MATLAB与通信仿真 1.1.1 通信电路与系统仿真 1.1.2 MATLAB的发展史
Application of Matlab Language
University of Electronic Science and Technology, China
張智星 清大資工系 多媒體檢索實驗室 第九章: 矩陣的處理與運算 張智星 清大資工系 多媒體檢索實驗室.
張智星 (Roger Jang) 台大資工系 多媒體檢索實驗室
黃聰明 國立臺灣師範大學數學系 MATLAB 基本功能介紹 黃聰明 國立臺灣師範大學數學系
張智星 清大資工系 多媒體檢索實驗室 MATLAB小傳與外觀 張智星 清大資工系 多媒體檢索實驗室.
引 言.
Introduction to MATLAB
第九章: 矩陣的處理與運算 張智星 (Roger Jang)
授課教授:張寶基 助教:梁凱雯 郭千豪 音視訊處理實驗室 2014 / 9 / 30
第1章 MATLAB操作基础 1.1 绪论 1.2 MATLAB概述 1.3 MATLAB的运行环境与安装 1.4 MATLAB集成环境 1.5 MATLAB帮助系统.
MATLAB 程式設計入門篇 初探MATLAB
MATLAB 程序设计语言 任课教师:刘毅 西安电子科技大学 ISN国家重点实验室.
第2章 MATLAB程序设计 编者.
MATLAB 入门教程.
数学实验与MATLAB简介  课程的背景和基本要求 MATLAB 使用简介 MATLAB 常用函数介绍 宝石切割问题实验.
MATLAB 程式設計入門篇 初探MATLAB
學這些有什麼好處呢? 為了把資料作更客觀之總結描述或比較多組資料。總而言之,就是要找出一個數能代表整組數據。
張智星 (Roger Jang) 清大資工系 多媒體檢索實驗室
实验教学 MATLAB在行列式和矩阵中的应用 授课教师:杨梦云.
MATLAB 程式設計入門篇 初探MATLAB
第一单元 第1课 Matlab概述 1.MATLAB 2.工具箱 3.高效数值计算功能 4.完备的计算结果和编程可视化功能
西南科技大学网络教育系列课程 数学软件 数学软件 第3讲 MATLAB数组与运算 主讲教师: 鲜大权 副教授 西南科技大学理学院数学系.
Introduction to Matlab
第1章 MATLAB操作基础 1. 1 MATLAB概述 1. 2 MATLAB的运行环境与安装 1. 3 MATLAB集成环境 1
第7章 MATLAB工程计算.
MATLAB 实用教程.
知识点5---向量组的最大无关组 1. 最大线性无关组的定义 2. 向量组秩的定义及求法 向量组的秩和对应矩阵秩的关系 3.
原版:清大資工系 張智星 新增版:方煒 台大生機系
Presentation transcript:

Matlab 教學 Speaker :陳珮妮 Date : 2013/03/14 1

Outline  MATLAB 簡介  算術邏輯運算  Matlab 陣列  Matlab 矩陣 2

MATLAB 簡介  MATLAB 名稱是由「矩陣實驗室」﹙ MATrix LABoratory )所合 成,是由 MathWorks 公司於 1984 年推出的數學軟體。  MATLAB 為各種動態系統模擬、數位訊號處理、科學計算、 科學目視等領域的標準程式語言。  MATLAB 的許多的核心計算技術原先是源自於 EISPACK 及 LINPACK ,目前則是以最新的 LAPACK 為計算基礎。EISPACK LINPACK LAPACK 3

MATLAB 簡介  MATLAB 早在 1978 年即已現身,當時是用 Fortran 撰 寫的免費軟體,其作者是當時任教於新墨西哥大學的 Cleve Moler 教授。  The Origins of MATLAB The Origins of MATLAB The authors of LINPACK: Jack Dongarra, Cleve Moler, Pete Stewart, and Jim Bunch in Cleve Moler

MATLAB 簡介  Jack Little (又稱為 John Little )將 MATLAB 以 C 語言重 寫,並於 1984 年成立 MathWorks 公司,首次推出 MATLAB 商用版。  MathWorks 在 Newsgroup 上進行對使用者的技術指導, 在 WWW 興起之後,就提供各項技術支援與搜尋功能, 並在內聯網( Intranet )方面,以 Web 與資料庫的整 合來進行軟體 bug 的追蹤、修復與管理。 Jack Little

MATLAB 簡介  MATLAB 早期以矩陣運算為主,第 4 版推出握把式圖形 ( Handle Graphics ),第 5 版中允許使用者建立許多不同的 資料型態,(如多維陣列、結構陣列、異質陣列等)。  MATLAB 是一個計算核心,圍繞著這個計算核心,有許多針 對不同應用所開發的應用程式,稱為工具箱( Toolboxes )。

Simulink 及 Stateflow  Simulink 專用於連續或離散時間的動態系統模擬。 Simulink 是一個模擬核心,圍繞著這個核心所開發的應用程式稱為 方塊集( Blocksets )。  Stateflow 則用於模擬有限狀態機( Finite State Machines )或 事件驅動系統( Event-driven Systems )。

MATLAB 、 Simulink 及 Stateflow  MATLAB 、 Simulink 及 Stateflow 三者的關係:  由現有 Simulink 與 Stateflow 的 C 程式碼自動產生功能,以 及定點運算方塊集( Fixed-point Blockset )與 C 程式碼至 VHDL 的自動轉換功能,可看出「高階的系統模擬」或「低 階的晶片演算法設計」,都可用 MATLAB/Simulink/Stateflow 及相關的工具箱來達成。 8 MATLAB ToolboxesCompiler Simulink Stateflow Blocksets RTW Coder

9 現階段的目錄 ( Current Folder ) 指令視窗 ( Command Window ) 工作空間變數列表 ( Workspace Window ) 指令歷史列表 ( Command History )

10 現在工作目錄 ( Current Directory ) 新的 M 檔案 ( New M-file ) 0 Command Window: 開啟或關閉「指令視窗」 1 Command History: 開啟或關閉「指令歷史列」 2 Current Folder : 開啟或關閉「 MATLAB 瀏覽器」 3 Workspace Browser: 開啟或關閉「工作空間瀏覽器」 Product Help : 開啟或關閉「線上支援瀏覽器」 Function Brower: 開啟或關閉「函數瀏覽器」

Getting Help  Menu Help > Product Help to open the Help Browser  Ctrl+F1 for the Function Hint  F1 to get the Help on Selection  Shift+F1 for the Function Browser 11

算術邏輯運算  一般數學符號運算  在 Matlab 命令視窗 (Command Window) 內的提示符號 (>>) 之後輸入運算式,並按入 Enter 鍵即可。例如: >> (5*2+3.5)/5 ans =  若不想讓 Matlab 每次都顯示運算結果,只需在運算式最 後加上分號 (;) 即可,例如: >> (5*2+3.5)/5; 12

算術邏輯運算  算術運算 13 符號運算 Matlab 形式 ^ 幂次運算: a b a^b * 乘法: a × b a * b / 右除法: a ÷ b a / b \ 左除法: b ÷ a a \ b + 加法: a + b a + b - 減法: a - b a - b

算術邏輯運算  優先順序 14 優先權運算 第一括號,從內部開始運算。 第二幂次運算,由左到右。 第三乘法與除法,兩者優先全相同,由左到右。 第四加法與減法,兩者優先全相同,由左到右。

變數設定與命名規則  變數名稱小於等於變數名稱小於等於 19 字元  第一字元不能為數字  字元大小寫表示不同意義  Ex1: c123 ( o ) 4c123 ( X ) c_123 ( o ) c-123 ( X )  Matlab 在使用變數時,不需預先經過變數宣告 (Variable Declaration) 的程序,而且所有數值變數均以預設的 double 資 料型式儲存。 15

隨堂演練  五隻雞和二隻兔,共幾隻腳? >>chicken=5; >>rabbit=2; >>legs=chicken*2+rabbit*4  執行結果 legs = 18 16

隨堂演練  使用 Matlab 進行下列算式的運算。 17

Workspace Window  Workspace Window 之變數 18 變數類型變數名稱陣列大小

Working with Workspace 19

Matlab 所提供之資料型態  Matlab 所提供之資料型態 20 陣列 數值形態 一般數值 DoubleSingle n-bit 數值 int8, uint8 int16, uint16 int32, uint32 int64, uint64 字元 Char 邏輯 Logical 多值 Cell 結構 Structure Function handle

工作區的對話指令 21 指令說明 clc 清除命令視窗。 clear 清除工作區內所有的變數。 clear var 清除工作區內的變數 var 。 exist(‘name’) 決定是否有任一個檔案或者變數以 name 存在。 who 查詢於目前的工作區內,有哪些變數在使用。 whos 同 who ,但會列出每一個變數詳細的資料。 whos var 查詢變數 var 的詳細資訊。 : 冒號 : 產生固定間隔的陣列。, 逗號:分開矩陣中的元素。 ; 分號:制止螢幕得顯示;同時也用於顯示新的一列。 … 省略符號:接續成同一行。

變數的設定與命名規則  Matlab 定義了一些常數,以方便輸入特定的數值,這些常 數稱為永久常數 (permanent constant) 。 22 永久常數說明 ans 儲存最近一次答案的暫存變數。 pi 圓周率, π= 。 Inf 或 INF 無限大 (∞) 。 i, j 虛數 (imaginary numbers) 。 NAN 或 nan 不存在的數。 realmax 系統所能表示得最大的數。 realmin 系統所能表示得最小的數。

常用數學函數  MATLAB 是一個科學計算軟體,因此可以支援很多常用到的 數學函數  y = abs(x)  取 x 的絕對值  y = sin(x)  取 x 的正弦值  y = exp(x)  自然指數 exp(x)  y = log(x)  自然對數 ln(x)  MATLAB 也支援複數運算,通常以 i 或 j 代表單位虛數

輔助函數  Matlab 之輔助函數 24 指令說明 lookfor topic 其對應的敘述中具有特定關鍵字 topic 的所有函數,顯 示函簡短敘述與命令視窗中。 help 顯示所有函數的目錄清單,以及各函數類別所代表之 意義。 help function 在命令視窗中顯示特定函數 function 之敘述。 doc 於輔助瀏覽器中顯示說明文件之起始頁。 doc function 顯示 Matlab 函數 function 的文件。 想要找到一個求平均值的函數 使用方法的查詢 更詳盡的使用方法 lookfor mean → → help mean doc mean

隨堂演練 25

Matlab 陣列  定義  純量:單一數值。 Scalar = 4 ;  向量:一維之陣列,包含行向列以及列向量。 Cvector = [4;5;6] ; Rvector = [7,8,9] ;  矩陣:二維之陣列,陣列中最常使用到之形式。 Matrix = [5 6 ; 7 8] ;  多維陣列:對於維度 (Dimensions) 超過 1 的陣列稱之。  陣列包含上敘之純量、向量以及矩陣。 26

向量  向量格式 >>x=[1 2 3]  執行結果 x = >>x=[pi/2 sqrt(2) 2]  執行結果 x =

向量之給法  x=[1 2 3] %1×3 向量  x=1:1:3 or x=1:3 % 增量為 1  x= 起始值 : 增量 : 終值  Ex1 : 0~π 取十點 >>x=0:pi/9:pi  執行結果 x =

向量  如何取出向量各位置之值 >>x=[1 2 sqrt(2)]; >>x(3) ans =  向量運算 >>x=[1 2 3]; >> y=cos(x) % note: y= 向量 y =

隨堂練習 30

隨堂練習  向量合併 >>x=[ ]; >>y=[4 5]; >>a=[x y]  執行結果 a = >>b=[a(1:2:5) 1 0 1] a( 起始值 : 增量 : 終值 )  執行結果 b =

向量相關指令函數  查詢陣列相關資訊函數 >> size(Vector3) >> length(Vector3) >> ndims(Vector3) >> numel(Vector3) 32 函數說明 size(m) 查詢矩陣 m 之維度 (dimensions) 。 length(m) 查詢矩陣 m 的行數。 ndims(m) 查詢矩陣 m 的維數。 (number of dimensions) numel(m) 查詢矩陣 m 的元數個數。 (number of elements)

向量相關指令函數  基本向量處理函數 33 函數說明 sum(v) 計算向量 v 之總和。 prod(v) 計算向量 v 之乘積。 max(v) 計算向量 v 之最大值。 min(v) 計算向量 v 之最小值。 sort(v) 將向量 v 裡的元素由小到大排列。 sort(v, ’descend’) 將向量 v 裡的元素由大到小排列。 cumsum(v) 計算向量 v 的累加 (cumulative sum) 。 cumprod(v) 計算向量 v 的累乘 (cumulative product) 。

Matlab 矩陣  產生各種特殊用途矩陣之指令 : 34 指令說明 zeros(m,n) 產生維度為 m×n ,構成元素全為 0 的矩陣 。 ones(m,n) 產生維度為 m×n ,構成元素全為 1 的矩陣。 eye(n) 產生維度為 n×n ,對角線的各元素全為 1 ,其他各元素全為 0 的單位矩陣。 pascal(m,n) 產生維度為 m×n 的 Pascal 矩陣。 vander(m,n) 產生維度為 m×n 的 Vandermonde 矩陣。 hilb(n) 產生維度為 n×n 的 Hilbert 矩陣。 rand(m,n) 產生 [0, 1] 均勻分佈的亂數矩陣,其維度為 m×n 。 randn(m,n) 產生 µ =0,σ=1 的正規分佈亂數矩陣,其維度為 m×n 。 magic(n) 產生維度為 n×n 的魔方陣,其各個直行、橫列及兩對角線的 元素和都相等。

Matlab 矩陣運算  矩陣的數學運算 35 矩陣運算說明 A+B 矩陣 A 加上矩陣 B A-B 矩陣 A 減去矩陣 B A*B 矩陣 A 乘上矩陣 B A^n 矩陣 A 的 n 次方,即矩陣 A 連乘 n 次,其中 A 必須為方陣。 A’ 矩陣 A 的共軛轉置。 A\B A 左除 B ,相當於把 A 的反矩陣乘以 B ,即 A -1 B 。 inv(A) 計算矩陣 A 的反函數 (inverse) 。 det(A) 計算矩陣 A 的行列式值 (determinate) 。

Matlab 矩陣運算  陣列的點運算 36 指令說明 A.*B 將矩陣 A 內的元素乘上矩陣 B 內相同位置得元素。 A.^n 將矩陣 A 內的每個元素同乘以其 n 次方。 A.’ 計算矩陣 A 的轉置 (transpose) 。 A./B 將矩陣 A 裡面的每一個元素除以 B 裡面每一個相對應的元素。 A.\B 將矩陣 B 裡面的每一個元素除以 A 裡面每一個相對應的元素。

矩陣  如何輸入一個矩陣  法一 >>A=[ ]  法二 >>A=[1 2 3 ; ; 7 8 9] 37

矩陣的索引或下標 38

矩陣的索引或下標  可以使用矩陣下標來進行矩陣的索引( Indexing )  A(4:5,2:3) - 取出矩陣 A 的 第四、五 橫列與 二、三 直行所形成的部份矩 陣  A([9 14; 10 15]) - 用一維下標的方式來達到同樣目的  用冒號( : ), 取出一整列或一整行  A(:, 5) - 取出矩陣 A 的第五個直行  用 end 這個保留字來代表某一維度的最大值  A(:, end) - 矩陣 A 的最後一個直行  可以直接刪除矩陣的某一整個橫列或直行  A(2, :) = [] – 刪除 A 矩陣的第二列  A(:, [2 4 5]) = [] - 刪除 A 矩陣的第二、四、五直行

矩陣的索引或下標  可把矩陣 A 和其倒數「並排」起來,得到新矩陣 B  B = [A 1./A] % 1./A 是矩陣 A 每個元素的倒數  用 diag 指令取出矩陣的對角線各元素  D = diag(B)% 取出矩陣 B 的對角線元素  D = diag(v)% 產生以向量 v 為主對角線的方陣  E = A*diag(v)% 將矩陣 A 的每個行向量乘上向量 v 的元素  E = diag(v)*A% 將矩陣 A 的每個列向量乘上向量 v 的元素  用 reshape 指令來改變一個矩陣的維度  B = B(1:4, 1:4);  C = reshape(B, 2, 8)% 將矩陣 B 排成 2×8 的新矩陣 C  MATLAB 會先將矩陣 B 排成一個行向量(即 MATLAB 內部的矩陣表示 法),再將此行向量塞成 2×8 的新矩陣

隨堂練習 >>a=[1 2 ;3 4]; >>a(3,3)=1; % a 在 (3,3) 位置值是 1 >>a  執行結果 a =

矩陣  如何從矩陣中取值或舉出一個子矩陣 >>A=[1 2 3;4 5 6;7 8 9] >>X=A(3,2) %X=A(row, column) >>B=A(1:2,1:2) >>C=A( :,1:2) %C=A (全取, 第一行至第二行) >>D=A(2:3, : ) >>E=A(1:2,[1 3]) 42

隨堂練習  矩陣相加 A = [ ]; B = [ ]; C = A + B  執行結果 C =

隨堂練習  矩陣相乘 A = [1; 2]; B = [3, 4, 5]; C = A*B  執行結果 C =

三維陣列  將兩個矩陣疊在一起,就形成第三個維度,此第三個維度可稱為「頁」 ( Page ),圖示如下: (1,1)(1,2)(1,3)(1,4) (2,1)(2,2)(2,3)(2,4) (3,4) (1,1)(1,2)(1,3)(1,4) (2,1)(2,2)(2,3)(2,4) (3,1)(3,2)(3,3)(3,4) 頁 行 頁 列

三維陣列  三維陣列可對應至一個 X - Y - Z 三維立體座標,圖示如下: Z( 頁 ) Y( 行 ) X( 列 )

三維陣列  三維陣列定址,可以 ( 列, 行, 頁 ) 定之。  以維度為 3×4×2 的三維陣列為例,其定址方式可圖示如下:  陣列 A 是三維陣列,其中 A( :, :,1) 代表第一頁的二維陣列, A( :, :,2) 代表第二頁的二維陣列。

四維陣列  四維陣列的第四個維度可視為「箱」( Box ),而每個箱是由一 個三維陣列所組成,其定址方式為 ( 列, 行, 頁, 箱 ) 。  例如:一個 2×2×3×5 的四維陣列,可表示成 5 個箱,每個箱都由一個 2×2×3 的三維陣列所組成,圖示如下:  依此可類推至 n 維陣列, n 為任意自然數。