MATLAB 程式設計 第 11 章 多維陣列. 11-1 多維陣列的定義 在 MATLAB 的資料型態中,向量可視為 一維陣列,矩陣可視二維陣列,對於維 度 (Dimensions) 超過 1 的陣列則均可視 為「多維陣列」 (Multidimesional Arrays , 簡稱 N-D Arrays)

Slides:



Advertisements
Similar presentations
6-1 指標簡介 6-2 指標與陣列 6-3 動態配置記憶體 6-4 本章綜合練習
Advertisements

布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
第七章 抽樣與抽樣分配 蒐集統計資料最常見的方式是抽查。這 牽涉到兩個問題: 抽出的樣本是否具有代表性?是否能反應出母體的特徵?
: A-Sequence 星級 : ★★☆☆☆ 題組: Online-judge.uva.es PROBLEM SET Volume CIX 題號: Problem D : A-Sequence 解題者:薛祖淵 解題日期: 2006 年 2 月 21 日 題意:一開始先輸入一個.
Section 1.2 Describing Distributions with Numbers 用數字描述分配.
第二章 太陽能電池的基本原理 及其結構 2-1 太陽能電池的基本原理 2-2 太陽能電池的基本結構 2-3 太陽能電池的製作.
指導教授:陳淑媛 學生:李宗叡 李卿輔.  利用下列三種方法 (Edge Detection 、 Local Binary Pattern 、 Structured Local Edge Pattern) 來判斷是否為場景變換,以方便使用者來 找出所要的片段。
1.1 線性方程式系統簡介 1.2 高斯消去法與高斯-喬登消去法 1.3 線性方程式系統的應用(-Skip-)
: Boxes ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11003: Boxes 解題者:蔡欣燁 解題日期: 2007 年 3 月 19 日.
第四章 評價股票選擇權的數值方法 蒙地卡羅模擬與二項式模型 財務工程 呂瑞秋著.
:New Land ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11871: New Land 解題者:施博修 解題日期: 2011 年 6 月 8 日 題意:國王有一個懶兒子,為了勞動兒子,他想了一個 辦法,令他在某天早上開始走路,直到太陽下山前,靠.
: ShellSort ★★☆☆☆ 題組: Problem D 題號: 10152: ShellSort 解題者:林一帆 解題日期: 2006 年 4 月 10 日 題意:烏龜王國的烏龜總是一隻一隻疊在一起。唯一改變烏龜位置 的方法為:一隻烏龜爬出他原來的位置,然後往上爬到最上方。給 你一堆烏龜原來排列的順序,以及我們想要的烏龜的排列順序,你.
Chapter 2 聯立線性方程式與矩陣 緒言 線性方程式組 (systems of linear equations) 出現 在多數線性模式 (linear model) 中。根據以往解 題的經驗,讀者們也許已發現方程式的解僅與 該方程式的係數有關,求解的過程也僅與係數 的運算有關,只要係數間的相關位置不改變,
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
: Matrix Decompressing ★★★★☆ 題組: Contest Volumes with Online Judge 題號: 11082: Matrix Decompressing 解題者:蔡權昱、劉洙愷 解題日期: 2008 年 4 月 18 日 題意:假設有一矩陣 R*C,
5.1 Rn上之長度與點積 5.2 內積空間 5.3 單範正交基底:Gram-Schmidt過程 5.4 數學模型與最小平方分析
JAVA 程式設計與資料結構 第十四章 Linked List. Introduction Linked List 的結構就是將物件排成一列, 有點像是 Array ,但是我們卻無法直接經 由 index 得到其中的物件 在 Linked List 中,每一個點我們稱之為 node ,第一個 node.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Monte Carlo Simulation Part.2 Metropolis Algorithm Dept. Phys. Tunghai Univ. Numerical Methods C. T. Shih.
第一章 演算法:效率、分析與量級 1.1演算法 1.2發展有效率演算法的重要性 1.3演算法的分析 1.4量級(Order)
JAVA 程式設計與資料結構 第十章 GUI Introdution III. File Chooser  File Chooser 是一個選擇檔案的圖形介面, 無論我們是要存檔還是要開啟檔案,使 用這個物件都會讓我們覺得容易且舒適。
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
:Problem D: Bit-wise Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10232: Problem D: Bit-wise Sequence 解題者:李濟宇 解題日期: 2006 年 4 月 16.
: The largest Clique ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11324: The largest Clique 解題者:李重儀 解題日期: 2008 年 11 月 24 日 題意: 簡單來說,給你一個 directed.
: Tight words ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: : Tight Words 解題者:鐘緯駿、林一帆 解題日期: 2006 年 03 月 14 日 題意: 給定數字 k 與 n (0 ≦ k.
第二章 供給與需求 中興大學會計學系 授課老師:簡立賢.
: Happy Number ★ ? 題組: Problem Set Archive with Online Judge 題號: 10591: Happy Number 解題者:陳瀅文 解題日期: 2006 年 6 月 6 日 題意:判斷一個正整數 N 是否為 Happy Number.
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
Digital Signal Processing with Examples in M ATLAB ® Chap 1 Introduction Ming-Hong Shih, Aug 25, 2003.
3.1 矩陣的行列式 3.2 使用基本運算求行列式 3.3 行列式的性質 3.4 特徵值介紹 3.5 行列式的應用
第三章 自動再裝載運用篇 使用時機:裝載計劃完成時,尚有剩餘空 間的情形,維持已固定計劃而繼續做裝載 最佳化。以支持次日裝載計劃而提前調整 作業模式。 裝載物品設定和裝載容器設定如前兩章介 紹,於此不再重複此動作,直接從裝載計 劃設定開始,直接從系統內定的物品和容 器選取所需.
: Ahoy, Pirates! ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11402: Ahoy, Pirates! 解題者:李重儀 解題日期: 2008 年 8 月 26 日 題意:有一個海盜島有 N 個海盜,他們的編號 (id)
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
公司加入市場的決定. 定義  平均成本 = 總成本 ÷ 生產數量 = 每一單位產量所耗的成本  平均固定成本 = 總固定成本 ÷ 生產數量  平均變動成本 = 總變動成本 ÷ 生產數量.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
資料結構實習-一 參數傳遞.
6-2 認識元件庫與內建元件庫 Flash 的元件庫分兩種, 一種是每個動畫專 屬的元件庫 (Library) ;另一種則是內建元 件庫 (Common Libraries), 兩者皆可透過 『視窗』功能表來開啟, 以下即為您說明。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
4 堆疊與佇列 4.1 前言 四種基本的資料結構 (可儲存資料的容器) 陣列 (Array)、串列(List): 最基本
觀測量的權 權的觀念與計算.
: Beautiful Numbers ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11472: Beautiful Numbers 解題者:邱經達 解題日期: 2011 年 5 月 5 日 題意: 若一個 N 進位的數用到該.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
函式 Function Part.2 東海大學物理系‧資訊教育 施奇廷. 遞迴( Recursion ) 函式可以「呼叫自己」,這種動作稱為 「遞迴」 此程式的執行結果相當於陷入無窮迴圈, 無法停止(只能按 Ctrl-C ) 這給我們一個暗示:函式的遞迴呼叫可以 達到部分迴圈的效果.
JAVA 程式設計與資料結構 第二十章 Searching. Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Chapter 10 m-way 搜尋樹與B-Tree
: Function Overloading ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11032:Function Overloading 解題者:許智祺 解題日期: 2007 年 5 月 8 日 題意:判對輸入之數字是否為.
JAVA 程式設計與資料結構 第十六章 Hash Tables. Introduction Hash Tables 結構為一個 Array ,稱之為 Bucket array 。 如果想要新增一個物件,要根據這個物件的特性 將其加入 Hash Table 內。 Bucket Array 用 A 來代替,其.
Probability Distribution 機率分配 汪群超 12/12. 目的:產生具均等分配的數值 (Data) ,並以 『直方圖』的功能計算出數值在不同範圍內出現 的頻率,及繪製數值的分配圖,以反應出該 機率分配的特性。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
連續隨機變數 連續變數:時間、分數、重量、……
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/30 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH7.1~CH /12/26.
Visual C++重點複習.
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2008.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
: SAM I AM ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11419: SAM I AM 解題者:李重儀 解題日期: 2008 年 9 月 11 日 題意: 簡單的說,就是一個長方形的廟裡面有敵人,然 後可以橫的方向開砲或縱向開砲,每次開砲可以.
Microsoft Excel.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
:Problem E.Stone Game ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10165: Problem E.Stone Game 解題者:李濟宇 解題日期: 2006 年 3 月 26 日 題意: Jack 與 Jim.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
結構學 ( 一 ) 第八次作業 97/05/22. 題目一 題目一 (a) 先決定放鬆哪個束制,成為靜定結構 以支承 C 之水平反力為贅力,則 C 點滾支 承變成自由端,即形成靜定基元結構 C 點滿足變位諧和  Δ CH =0.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
1 柱體與錐體 1. 找出柱體與錐體的規則 2. 柱體的命名與特性 3. 柱體的展開圖 4. 錐體的命名與特性 5. 錐體的展開圖
Presentation transcript:

MATLAB 程式設計 第 11 章 多維陣列

11-1 多維陣列的定義 在 MATLAB 的資料型態中,向量可視為 一維陣列,矩陣可視二維陣列,對於維 度 (Dimensions) 超過 1 的陣列則均可視 為「多維陣列」 (Multidimesional Arrays , 簡稱 N-D Arrays) 。

二維陣列 (I) 二維陣列又簡稱矩陣,具有兩個維度 (Dimensions) 「橫列」 (Row) 「直行」 (Column) (1,1)(1,2)(1,3)(1,4) (2,1)(2,2)(2,3)(2,4) (3,1)(3,2)(3,3)(3,4) 直行

二維陣列 (II) 二維陣列,可對應至一個 X - Y 二維平面 座標,圖示如下: Y( 行 ) X( 列 )

三維陣列 (I) 將兩個二維陣列疊在一起,就形成第三 個維度,此第三個維度稱為「頁」 (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) 頁 行 頁 列

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

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

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

11-2 多維陣列的建立 建立一個簡單的多維陣列,可直接由 MATLAB 指令視窗內輸入 範例 11-1 : mDim01.m mDim01.m A = [ ; ; ]; A(:, :, 2) = [ ; ; ] A(:,:,1) = A(:,:,2) =

多維陣列直接設定 範例 11-2(I) 上例是先建立一個二維陣列 A ,再輸入 第二頁的二維陣列 A( :, :,2) ,逐頁輸 入二維陣列的內容,即可建立三維陣列。 如果直接設定某一個新頁的一個元素值, 此時 MATLAB 會將此頁其他未指定之元 素直接設定為 0 ,範例如下:

多維陣列直接設定 範例 11-2(II) 範例 11-2 : mDim02.m mDim02.m A = [ ; ; ]; A(:, :, 2) = [ ; ; ]; A(2, 1, 3) = 5 A(:,:,1) = A(:,:,2) = A(:,:,3) =

純量展開功能 (Scalar Expansion)(I) MATLAB 第五版新增純量展開 (Scalar Expansion) 功能,直接設定一個純量給 多維陣列的一頁。 承接上述範例,若要將陣列 A 的第二頁 所有元素設為 7 ,可輸入: >> A(:,:,2) = 7

純量展開功能 (Scalar Expansion)(II) >> A(:,:,2) = 7 A(:,:,1) = A(:,:,2) = A(:,:,3) =

垂直並排多維陣列 範例 11-3(I) 對於較複雜的多維陣列,可用 cat 指令 來建立,其功能為「並排」數個陣列, 並可指定「並排」時所用的維度 其指令格式如下: Z = cat(dim, A, B, C…) A 、 B 、 C 為陣列 dim 是將 A 、 B 、 C… 合併時所用到的維度。

垂直並排多維陣列 範例 11-3(II) 欲將矩陣 A 與 B 上下 ( 垂直 ) 並排 範例 11-3 : cat01.m cat01.m A = [1 2; 3 4]; B = [1 0; 0 1]; Z = cat(1, A, B) % 數字 1 表示將陣列 A 與 B 上下垂直並排 Z =

水平並排多維陣列 範例 11-4 欲將陣列 A 與 B 左右 ( 水平 ) 並排 範例 11-4 : cat02.m cat02.m A = [1 2; 3 4]; B = [1 0; 0 1]; Z = cat(2, A, B) % 數字 2 表示將陣列 A 與 B 左右水平並排 Z =

陣列堆疊 – 範例 11-5 將陣列 A 與 B 疊起來,得到一個三維陣列 範例 11-5 : cat03.m cat03.m A = [1 2; 3 4]; B = [1 0; 0 1]; Z = cat(3, A, B)% 數字 3 表示將陣列 A 與 B 重疊排成三維陣列 Z(:,:,1) = Z(:,:,2) =

cat 自動補齊維度 – 範例 11-6 所設定的 dim 值比陣列 A 、 B 、 C… 的各自原先的「維 度數」 (Dimensionality) 還要超出 2 或更多, MATLAB 會自動補上大小為 1 的維度 此時陣列 Z 的維度變為 2×2×1×2 範例 11-6 : cat04.m cat04.m A = [1 2; 3 4]; B = [1 0; 0 1]; Z = cat(3, A, B)% 數字 4 表示將陣列 A 與 B 放在相鄰的兩「箱」 Z(:,:,1,1) = Z(:,:,1,2) =

亂數陣列 (I) MATLAB 可產生特殊用途的多維陣列 要產生一個維度是 2×3×5 的亂數陣列,可用 rand 指令 >> A = rand(2, 3, 5) A(:,:,1) = A(:,:,2) =

亂數陣列 (II) 類似的指令,詳見本書第九章「矩陣的處理與運算」的第二節 「特殊用途矩陣」 A(:,:,3) = A(:,:,4) = A(:,:,5) =

11-3 多維陣列的數學運算 許多用於向量和矩陣的數學運算,例如 sum 、 max 、 min 、 mean 等,也都可以 用在多維陣列。 在使用這些指令時,我們必須指定這些 指令的操作是在哪一個維度。

多維陣列運算 維度指定 範例 11-7 (I) 範例 11-7 : sum01.m sum01.m A = [ ; ; ]; B = [ ; ; ]; Z = cat(3, A, B);% 將矩陣 A, B 疊成一個三維陣列 S = sum(Z, 1)% 根據第一維度來對元素進行相加 S(:,:,1) = S(:,:,2) = ans = 1 4 2

多維陣列運算 維度指定 範例 11-7 (II) 上述範例,矩陣 Z 的大小是 3×4×2 , sum(Z, 1) 是根據第一個維度來進行相加, 因此第一個維度值就會被被壓成是 1 , 因此 size(S) 所傳回的值是 [1, 4, 2] , 代表矩陣 S 的大小是 1×4×2 sum(Z) 的預設相加維度即是 1 ,因此 sum(Z) 和 sum(Z, 1) 所得到的結果是一 樣的。

多維陣列運算 維度指定 範例 11-8 (I) 對第二個維度進行相加,可見下列範例。 範例 11-8 : sum02.m A = [ ; ; ]; B = [ ; ; ]; Z = cat(3, A, B);% 將矩陣 A, B 疊成一個三維陣列 S = sum(Z, 2)% 根據第二維度來對元素進行相加 S(:,:,1) =

多維陣列運算 維度指定 範例 11-8 (II) 在上述範例中, sum(Z, 2) 是對第二個維 度進行相加運算,因此所傳回的矩陣 S 的維度是 3×1×2 。 S(:,:,2) = ans = 3 1 2

sum 的累加 – 範例 11-9(I) 如果所要相加的維度只有單一維度,那 麼 sum 指令會對下一個維度進行相加的 動作, sum(sum(Z)) 將會得到三維陣列 Z 的每 一頁的總和。

sum 的累加 – 範例 11-9(II) 範例 11-9 : sumSum01.m 與 sum 類似的指令還有 max 、 min 、 mean 、 median 、 mode 、 std 、 diff 、 sort 等,可以參考第九章的第三小 節「矩陣的數學運算」。 A = [ ; ; ]; B = [ ; ; ]; Z = cat(3, A, B);% 將矩陣 A, B 疊成一個三維陣列 S = sum(sum(Z)) S(:,:,1) = 24 S(:,:,2) = 14