Introduction to Matlab

Slides:



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

國立成功大學工程科學系 Department of Engineering Science -National Cheng Kung University 控制與訊號處理實驗室 Control & Signal Processing Lab MATLAB/Simulink 教學.
Matlab 教學 Speaker :陳珮妮 Date : 2013/03/14 1. Outline  MATLAB 簡介  算術邏輯運算  Matlab 陣列  Matlab 矩陣 2.
第八章 互换的运用.
《北國性騷擾》 電影欣賞 帶領者 李佩娟 諮商心理師 元培科大學輔中心輔導員(現任) 高雄師範大學輔導與諮商研究所(學經歷)
高职人才培养评估核查 与状态数据采集平台建设工作 说 明 广东水利电力职业技术学院 曾志军
統 計 程 式 語 言.
黃聰明 臺灣師範大學數學系 MATLAB 基本功能介紹 黃聰明 臺灣師範大學數學系.
劳动社会保障法学 吴 斌 四川理工学院 法学教授.
工作會議暨入口網教育訓練 夥伴團隊雲林科技大學
MATLAB小结、 经典迭代法、CG.
Introduction to Matlab
Matlab教學 Speaker:林昱志 Date:2012/10/18.
1-1 MATLAB 小傳(1) 由MathWorks公司於1984年推出的 數學軟體。 名稱是由「矩陣實驗室﹙MATrix
1012 MATLAB 教學 彭奕翔 2013/02/27.
数值计算的工具—MATLAB 电子计算机技术为应用数学解决实际问题创造了物质条件 。
第四章 地理資訊與地理資訊系統.
2010年桂林理工大学数学建模竞赛暑期培训班 MATLAB编程入门培训课程
XI. Hilbert Huang Transform (HHT)
第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介紹.
張智星 清大資工系 補充內容:方煒 台大生機系 小幅修改:吳俊仲 長庚機械系
張智星 清大資工系 補充內容:方煒 台大生機系
范洪源 臺灣師範大學數學系 MATLAB 基本功能介紹 范洪源 臺灣師範大學數學系.
Matlab M檔案 方煒 台大生機系.
數學與電腦 的初相識 汪群超 個人網址: 變有不可者三,有不可不變者三: 能力未至不可變也、 學識未敷不得變也、 功侯未到不能變也。
敘述統計-資料的特性 Properties of Variable
第1章 MATLAB概述 编者.
第一讲 MATLAB简介 1.1 MATLAB与通信仿真 1.1.1 通信电路与系统仿真 1.1.2 MATLAB的发展史
Application of Matlab Language
Simulink建模与仿真.
Simulink模擬基礎 主要內容 Simulink簡介 Simulink模組庫 Simulink的基本操作 S-函數.
張智星 清大資工系 多媒體檢索實驗室 第九章: 矩陣的處理與運算 張智星 清大資工系 多媒體檢索實驗室.
Matlab基础介绍 Matlab 简介 Matlab 的安装与启动 Matlab 编程基础 Matlab 在数字信号处理课程中的应用.
黃聰明 國立臺灣師範大學數學系 MATLAB 基本功能介紹 黃聰明 國立臺灣師範大學數學系
VI. Brief Introduction for Acoustics
何清波 博士 副教授 中国科学技术大学 精密机械与精密仪器系 安徽合肥 电话:
引 言.
Introduction to MATLAB
第6章 FIR数字滤波器设计 6.1 FIR数字滤波器原理 6.2 使用DSP Builder设计FIR数字滤波器
第九章: 矩陣的處理與運算 張智星 (Roger Jang)
数学建模与数学实验 MATLAB作图.
范洪源 臺灣師範大學數學系 分支宣告與程式設計 范洪源 臺灣師範大學數學系.
授課教授:張寶基 助教:梁凱雯 郭千豪 音視訊處理實驗室 2014 / 9 / 30
第1章 MATLAB操作基础 1.1 绪论 1.2 MATLAB概述 1.3 MATLAB的运行环境与安装 1.4 MATLAB集成环境 1.5 MATLAB帮助系统.
§ 9.1常用数学软件简介及MATLAB基础知识
Chapter 2 聯立線性方程式與矩陣 授課教師:李金鳳(Amy Lee)
MATLAB 程式設計入門篇 初探MATLAB
MATLAB 程序设计语言 任课教师:刘毅 西安电子科技大学 ISN国家重点实验室.
1.3 矩阵与数组 MATLAB中矩阵的生成 MATLAB矩阵操作 数组创建与运算.
XIV. Orthogonal Transform and Multiplexing
MATLAB 入门教程.
MATLAB 程式設計入門篇 初探MATLAB
MATLAB 程式設計入門篇 二維平面繪圖 改自張智星講義
MATLAB 程式設計入門篇 三維立體繪圖 (part1)
三維繪圖 Helix t = 0:pi/50:10*pi; % linspace(0,10*pi,500); figure plot3(sin(t),cos(t),t) grid on axis square Remark: zlabel, view, surf.
实验教学 MATLAB在行列式和矩阵中的应用 授课教师:杨梦云.
MATLAB 程式設計入門篇 初探MATLAB
第二章 MATLAB编程与作图 2.1 程序设计 2.2 作图 2.3 在线帮助和文件管理 2.4 习题 2019年4月23日
第二节 MATLAB 图形处理 内容: §1 二维图形显示 §2 图形可视编辑工具 §3 三维图形显示 §4 视角变换与三视图
第一单元 第1课 Matlab概述 1.MATLAB 2.工具箱 3.高效数值计算功能 4.完备的计算结果和编程可视化功能
第二章 次數分配表與統計圖 第一節 次數分配表的製作 第二節 統計圖的製作 第三節 次數分配的形狀和性質 第四節 電腦習作.
统计软件应用 2 主讲人 陶育纯 SPSS 统计软件应用 2 主讲人 陶育纯 教案.
Introduction to Matlab
第1章 MATLAB操作基础 1. 1 MATLAB概述 1. 2 MATLAB的运行环境与安装 1. 3 MATLAB集成环境 1
MATLAB 实用教程.
群聚分析操作介紹 -以SOM和K-means為例
原版:清大資工系 張智星 新增版:方煒 台大生機系
Presentation transcript:

Introduction to Matlab 吳家揚 VLSI Signal Processing Lab, NCTU 3/1, 2014 *source: “張智星, Matlab 程式設計與應用, 清蔚科技出版”

Outline Introduction Basic operations Graphics Filter design On-line resources

Introduction Matlab = MATrix LABoratory 特色 應用 作者:Cleve Moler 由 MathWorks 於1984年推出 特色 強力數值運算能力(超強計算機) 完整矩陣運算指令 豐富的toolbox以及函式庫 應用 動態系統模擬 數位訊號處理 … (各種科學計算)

Environment Command window Workspace window Current directory Command history

Outline Introduction Basic operations Graphics Filter design On-line resources

基本運算 一般數學符號運算 常見運算元 Note: ‘%’ 代表後面的敘述為註解 在MATLAB 命令視窗(Command Window)內的提示符號(>>)之後輸入運算式,並按入 Enter 鍵即可。例如: >> x = (5*2+3.5)/5 x = 2.7000 若不想讓 MATLAB 每次都顯示運算結果,只需在運算式最後加上分號(;)即可,例如: >> x = (5*2+3.5)/5; 若要顯示 x 的值,直接在command line 輸入 x >> x 常見運算元 +, -, *, /, ^(指數) Note: ‘%’ 代表後面的敘述為註解

查詢命令 help – 查詢命令用法 (單機,簡易版) doc – 網路查詢命令用法 (通常有較詳細說明) >> help sin SIN Sine of argument in radians. SIN(X) is the sine of the elements of X ... doc – 網路查詢命令用法 (通常有較詳細說明) >> doc sin ... (請自己試試看) lookfor – 尋找指令的 keyword (列出所有相關結果)

變數使用與命名規則 第一個字母必需是英文字母。 字母間不可留空格。 最多只能有 31 個字母,MATLAB 會忽略多餘字母(在 MATLAB 第 4 版,則是 19 個字母)。  MATLAB 在使用變數時,不需預先經過變數宣告(Variable Declaration)的程序,而且所有數值變數均以預設的 double precision floating-point資料型式儲存。

向量及矩陣 MATLAB 中的變數還可用來儲存向量及矩陣以進行各種運算,例如: N 維向量 (row vector) >> s = [1 3 5 2];% 注意 [ ] 的使用,及各數字間的空白(或逗號’,’)間隔 >> t = 2*s+1 t = 3 7 11 5 Column vector >> s = [1; 3; 5; 2] % 以分號 ‘;’ 間隔 s = 1 2 3 4 N-by-M矩陣 A = [1 2 3 4; 5 6 7 8; 9 10 11 12]; % 建立 3×4 的矩陣 A

矩陣索引 索引 範圍索引 矩陣 A 中,位於第 i 橫列、第 j 直行的元素可表示為 A(i, j) i 與 j 即是此元素的下標(Subscript)或索引(Index) MATLAB 中,所有矩陣的內部表示法都是以直行為主的一維向量 A(i, j) 和 A(i+(j-1)*m) 是完全一樣的~m為矩陣A的列數 我們可以使用一維或二維下標來存取矩陣 範圍索引 冒號 (colon) ‘:’ 代表所有元素 A(1, :) – 第一列的 row vector 選取範圍 A(1, 3:5) 3:5 (代表 3, 4, 5)

矩陣索引及下標

矩陣運算 矩陣的加減與一般純量(Scalar)的加減類似 相加或相減的矩陣必需具有相同的維度 >>B = [1 3 2 4]; >>C = A + B; %C = 13 37 58 24 矩陣與純量可以直接進行加減,MATLAB 會直接將加減應用到每一個元素 >> A = [1 2 3 2 1] + 5 A = 6 7 8 7 6

矩陣運算 (cont’d) 純量對矩陣的乘或除,可比照一般寫法 >> A = [123 , 442]; >> C = A/3; % C = 41.0000 147.3333 >> B = 2*A; % B = 246 884 欲進行矩陣相乘,必需確認第一個矩陣的直行數目( Column Dimension) 必需等於第二個矩陣的橫列數目(Row Dimension) A = [1; 2]; B = [3, 4, 5]; C = A*B; % C = 3 4 5 6 8 10 矩陣的除法,常藉由反矩陣或解線性方程式來達成

矩陣運算 (cont’d) Operator 之前加上一個句點,MATLAB 將會執行矩陣內「元素對元素」(Element-by-element) 的運算 只適用相同大小的矩陣或純量(scalar)運算 >> A = [1, 2]; >> B = [3, 4]; >> A .* B ans = 3 8 與正常矩陣乘法比較 >> A * B’ 11

常用之運算函式 MATLAB 是一個科學計算軟體,因此可以支援很多常用到的數學函數 >> y = abs(x) % 取 x 的絕對值 >> y = sin(x) % 取 x 的正弦值 >> y = exp(x) % 自然指數 exp(x) >> y = log(x) % 自然對數 ln(x) MATLAB 也支援複數運算,通常以 i 或 j 代表單位虛數 有一些函數是特別針對向量而設計 >> y = min(x) % 向量 x 的極小值 >> y = max(x) % 向量 x 的極大值 >> y = mean(x)% 向量 x 的平均值 >> y = sum(x) % 向量 x 的總和 >> y = sort(x) % 向量 x 的排序

特殊矩陣 指令 說明 zeros(m, n) 產生維度為m x n,構成元素全為0的矩陣 ones(m, n) eye(n) 產生維度為n x n,主對角線為1,其餘元素全為0的單位矩陣 pascal(n) 產生維度為n x n的Pascal矩陣 vander(1:n) 產生維度為n x n的Vandermore矩陣 hilb(n) 產生維度為n x n的hilbert矩陣 rand(m, n) 產生維度為m x n的亂數矩陣,亂數值[0, 1],uniform distribution randn(m, n) 產生維度為m x n的亂數矩陣,μ=0, σ=1, normal distribution magic(n) 產生維度為n x n的矩陣,其任一行、列、對角的和均相等 Hint: 請善用 help, doc 查詢

Outline Introduction Basic operations Graphics Filter design On-line resources

Plot Data >> x = 0 : 0.1 : 2*pi; % x = 0, 0.1, 0.2, ... , 6.2 >> y = sin(x); PLOT plot(y)

Plot plot(x, y) 指定x軸的數值

Plot plot(x, y, S); plot(x, y, ‘r*;’); S 顏色 b 藍 g 綠 r 紅 etc ... ... 數值樣式 o x + etc... 連線 - 實線 : 細虛線 -. 實線、點 -- 粗虛線 plot(x, y, ‘r*;’);

Multi-Data Plot Method I: Method II: plot(x1, y1, x2, y2, ...) e.g. >> y = sin(x); >> z = sin(x + pi/4); >> plot(x, y, x, z); Method II: >> plot(x, y, ‘b’); >> hold; % 維持目前輸出圖形不變 >> plot(x, z, ‘g’);

圖形標示 title(‘title: sine wave’) xlabel(‘水平軸’) ylabel(‘垂直軸’) axis([xmin xmax ymin ymax])

繪圖指令整理 plot 一般二維繪圖 loglog x-y對數圖 semilogx 半對數圖(x軸為對數) semilogy stem Discrete sequence pie 二維圓餅圖 mesh 三維網狀圖 surf 三維表面圖 title 標題 xlabel X軸標題 ylabel Y軸標題 hold 維持圖形 axis 設定座標軸範圍 text 在圖上座標填入文字

Outline Introduction Environment Basic operations Graphics Filter design On-line resources

Filter Representation in Matlab Digital filter representation B(ejw) b(1) + b(2)e-jw + .... + b(m+1)e-jmw H(ejw) = --------- = ------------------------------------------ A(ejw) a(1) + a(2)e-jw + .... + a(n+1)e-jnw A filter is specified by the two vector a and b

Filter Response Analysis [H, W] = freqz(b, a, N) returns the N-point complex frequency response vector H and the N-point frequency vector W in radians/sample of the filter Use plot command to plot the frequency response Plot( w/pi, db(abs(H)) ) Axis([0 1 -150 10])

Filter Response Analysis (cont’d) freqz(B,A,...) with no output arguments plots the response

FDATool Type fdatool in the command window Choose filter type Set constraints Design filter File > export

Example 2.1 A=1; n_max = 11; n = -n_max:1:n_max; X = zeros(size(n)); I = find(n==1); II = find (n==-1); III = find(mod(n,2)==0); X(I) = -j*A/4; X(II) = j*A/4; X(III) = A./(pi*(1.-n(III).^2)); [arg_X, mag_X] = cart2pol(real(X), imag(X)); stem(n, mag_X); stem(n, arg_X);

On-line Resources MATLAB 程式設計與應用(網路版), 張智星 MATLAB程式設計入門篇, 張智星 http://www.cs.nthu.edu.tw/~jang/mlbook/ MATLAB程式設計入門篇, 張智星 http://mirlab.org/jang/books/matlabProgramming4beginner/slide/ Matlab線上教材 http://libai.math.ncu.edu.tw/bcc16/B/matlab/ Matlab 簡介, 馮丁樹 http://ecaaser5.ecaa.ntu.edu.tw/weifang/matlab/index-matlab.htm