matlab學習筆記11_1低維數組操做

一塊兒來學matlab-matlab學習筆記11

11_1 低維數組操做repmat函數,cat函數,diag函數

以爲有用的話,歡迎一塊兒討論相互學習~Follow Me

參考書籍
《matlab 程序設計與綜合應用》張德豐等著 感謝張老師的書籍,讓我領略到matlab的便捷
《MATLAB技術大全》葛超等編著 感謝葛老師的書籍,讓我領略到matlab的高效git

數組是MATLAB進行計算和處理的核心內容之一,出於快速計算的須要,MATLAB總把數組看做存儲和運算的基本單元,標量數據也被看做是1×1的數組。所以,數組的建立、尋址和操做就顯得很是重要。MATLAB提供了各類數組建立的方法和操做方法,使得MATLAB的數值計算和操做更加靈活和方便數組建立和操做是MATLAB運算和操做的基礎,針對不一樣維數的數組,MATLAB提供了各類不一樣的數據建立方法,甚至能夠經過建立低維數組來獲得高維數組github

一維數組的建立

(1)直接輸人法:此時,能夠直接經過空格、逗號和分號來分隔數組元素,在數組中輸人任意的元素,生成一維數組。
(2)步長生成法:x=a:inc:b,在使用這種方法建立一維數組時,a和b爲一維向量數組的起始數值和終止數值,inc爲數組的間隔步長;若是a和b爲整數時,省略inc能夠生成間隔爲1的數列。根據a和b的大小不一樣,inc能夠採用正數,也能夠採用負數來生成一維向量數組
(3)等間距線性生成方法:x=linspace(a,b,n),這種方法採用函數在a和b之間的區間內獲得n個線性採樣數據點。
(4)等間距對數生成方法:x=logspace(a,b,n),採用這種方法時,在設定採樣點總個數n的狀況下,採樣經常使用對數計算獲得n個採樣點數據值數組

一維數組的建立

  • 在這裏插入圖片描述

    一維數組訪問

  • 當建立數組後,對單個元素的訪問,能夠直接經過選擇元素的索引來加以訪問;若是訪問數組內的一塊數據,則能夠經過冒號方式來進行訪問;若是訪問其中的部分數值,則能夠經過構造訪問序列或經過構造向量列表來加以訪問。在訪問數組元素的過程當中,訪問的索引數組必須是正整數,不然,系統將會提示一條警告信息。
  • 在這裏插入圖片描述
  • 一維數組能夠是一個行向量,也能夠是一列多行的列向量在定義的過程當中,若是元素之間經過「;」分隔元素,那麼生成的向量是列向量;經過空格或逗號分隔的元素則爲行向量。固然列向量和行向量之間能夠經過轉置操做「'」來進行相互之間的轉化過程。但須要注意的是,若是一維數組的元素是複數,那麼通過轉置操做「'」後,獲得的是複數的共軛轉置結果,而採用點一共軛轉置操做時獲得的轉置數組,並不進行共軛操做編輯器

在這裏插入圖片描述

多維數組的建立

二維數組的建立

  • 二維數組(也就是矩陣)能夠經過如下幾種方法來建立。
    (1)直接輸人二維數組的元素來建立,此時,二維數組的行和列能夠經過一維數組的方式來進行建立,不一樣行之間的數據能夠經過分號進行分隔,同一行中的元素能夠經過逗號或空格來進行分隔
    (2)經過MATLAB的ArrayEditor來輸人二維數組。建立方法爲,單擊NewVariable建立圖標,此時系統在工做空間的變量列表中出現新的矩陣變量,用戶能夠改變變量的名稱。同時,在MATLAB的工做空間出現矩陣編輯器表格,能夠直接輸人矩陣的數據。
    (3)對於大規模的數據,能夠經過數據表格方式來輸人,此時能夠單擊選擇工做空間的ImportData圖標,選中已經編寫好的矩陣數據文件後,導人工做空間中。
    (4)能夠經過MATLAB所提供的其餘函數來生成二維數組。
    在這裏插入圖片描述函數

    三維數組的建立

  • 在建立二維數組的過程當中,須要嚴格保證所生成矩陣的行和列的數目相同。若是二者的數目不一樣,那麼系統將會出現錯誤提示。此外,在直接生成矩陣的過程當中,能夠經過按回車鍵來保證矩陣生成另外一行元素
  • 多維數組(n維數組),如在三維數組中存在行、列和頁這樣三維,即三維數組中的第三維成爲頁。在每一頁中,存在行和列。在MATLAB中,能夠建立更高維的n維數組。但實際上主要用到的仍是三維數組。三維數組的建立方法有如下幾種。
    (1)直接建立方法。在生成過程當中,能夠選擇使用MATLAB提供的一些內置函數來建立二維數組,如zeros、ones、rand、randn等
    (2)經過直接索引的方法進行建立
    (3)使用MATLAB的內置函數reshape和repmat將二維數組轉換爲三維數組。
    (4)使用cat函數將低維數組轉化爲高維數組。學習

    repmat函數和cat函數

  • repmat(A,m,n)函數將矩陣A重複擺放m*n次後擺放成爲新的矩陣
  • cat(dim,A,B)按dim來聯結A和B兩個數組
    在這裏插入圖片描述spa

數組的運算

  • 數組的運算包括數組和標量之間的運算,以及數組和數組之間的運算。對於數組和標量之間的運算,是標量和數組的元素之間直接進行數學運算,比較簡單。對於數組和數組之間的運算關係,尤爲是對於乘除運算和乘方運算,若是採用點方式進行計算,代表是數組的元素之間的運算關係,而若是是直接進行乘、除、乘方運算,那麼則是向量或矩陣之間的運算關係。二者的意義徹底不一樣。
  • 此外,還須要注意的是,對於向量的除法運算,左除()和右除(/)的意義不一樣。二者之間除數和被除數是不一樣的。

在這裏插入圖片描述

經常使用的標準數組

在這裏插入圖片描述

diag函數

在這裏插入圖片描述

低維數組的尋址和搜索

尋址

在這裏插入圖片描述
在這裏插入圖片描述

數組的排序

  • MATLAB中使用sort函數進行排序,一維數組排序時,默認使用升序排列,若是須要降序排列,能夠在sort函數的第二個參數使用descend來代替。
    在這裏插入圖片描述
  • 在二維數組進行排序時,sort函數只對數組的列進行排序,若是隻對行進行排序,則須要爲sort函數提供第二個參數2
    在這裏插入圖片描述設計

    數組搜索

  • MATLAB中,子數組搜索功能能夠經過系統提供的find函數進行搜索,返回符合條件的數組的索引數值,對於二維數組能夠返回兩個下標數值。
    在這裏插入圖片描述blog

    最大值和最小值

  • 若是搜索最大值和最小值那麼可使用max和min函數來進行搜索,若是搜索的是二維數組,那麼這兩個函數返回每一列的最大值和最小值
    在這裏插入圖片描述排序

    低維數組處理函數

    在這裏插入圖片描述
    在這裏插入圖片描述
  • 在對角元素和上下三角矩陣時,所定義的第二個參數是以對角線k=0的起始對角線,向上三角方向移動時,k的數值增長,而向下三角方向移動時,k的數值減少。此外,對於非方陣的矩陣,對角線以過第一個元素的方陣的對角線爲對角線的起始位置

    kronecker乘法

  • 對於kron函數執行的是kronecker的張量乘法運算,即將第一個參數數組的每個元素和第二個參數數組相乘,造成一個分塊矩陣,張量乘法不具備可交換性。
    在這裏插入圖片描述

相關文章
相關標籤/搜索