matlab學習筆記11_3高維數組操做 filp, shiftdim, size, permute, ipermute

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

11_3 高維數組處理和運算

filp, shiftdim, size, permute, ipermute

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

filp

  • 翻轉元素順序git

    語法

    B = flip(A)
    B = flip(A,dim)github

    說明

    B = flip(A) 返回的數組 B 具備與 A 相同的大小,但元素順序已反轉。B 中從新排序的維度取決於 A 的形狀:數組

若是 A 爲向量,flip(A) 將沿向量的長度方向反轉元素順序。函數

若是 A 爲矩陣,flip(A) 將反轉每列元素的順序。學習

若是 A 爲 N 維數組,flip(A) 將按 A 的大小值不等於 1 的首個維度上進行運算。code

B = flip(A,dim) 沿維度 dim 反轉 A 中元素的順序。例如,若是 A 爲矩陣,flip(A,1) 將反轉每一列中的元素,flip(A,2) 將反轉每一行中的元素。blog

翻轉字符向量

A = 'no word, no bond, row on.';
B = flip(A)
B =
'.no wor ,dnob on ,drow on'

翻轉列向量

A = [1;2;3];
B = flip(A)
B = 3×1

     3
     2
     1

翻轉矩陣

在這裏插入圖片描述

翻轉元胞數組

在這裏插入圖片描述

輸入參數

在這裏插入圖片描述


shiftdim

  • 移動數組維度排序

    語法

  • B = shiftdim(A,n)
    • B = shiftdim(A,n) 將數組 A 的維度移動 n 個位置。當 n 爲正整數時,shiftdim 向左移動維度;當 n 爲負整數時,向右移動維度。例如,若是 A 是 2×3×4 數組,則 shiftdim(A,2) 返回 4×2×3 數組。
  • B = shiftdim(A)
    • B = shiftdim(A) 返回數組,其元素與 A 相同,但刪除了前面的長度爲 1 的維度。
  • [B,m] = shiftdim(A)
    • [B,m] = shiftdim(A) 還返回刪除的長度爲 1 的維度的數量。

四維矩陣

  • 建立一個 4×2×3×5 數組。將維度向左移動 2 個位置,使前兩個維度長度繞回到最後兩個維度。
A = rand(4,2,3,5);
B = shiftdim(A,2);
size(B)
ans = 1×4

     3     5     4     2
  • 將維度向右移動 2 個位置,使前面 2 個維度的長度爲 1。 向右移動不會將維度長度繞回。
C = shiftdim(A,-2);
size(C)
ans = 1×6

     1     1     4     2     3     5

移動矩陣維度

  • 計算 5 維數組 A,並刪除前面的長度爲 1 的維度。shiftdim 函數將移動 2 個維度,並返回三維數組 B。
A = rand(1,1,3,2,4);
[B,nshifts] = shiftdim(A);
nshifts
nshifts = 2 % 表示被刪除的維度的個數
size(B)
ans = 1×3 % 表示被刪除的維度的值

     3     2     4

將 B 的維度向左移動兩次。

C = shiftdim(B,2);
size(C)
ans = 1×3

     4     3     2

將 C 的維度向右移動一次。

D = shiftdim(C,-1);
size(D)
ans = 1×4

     1     4     3     2

size

  • 獲取矩陣形狀大小

permute

  • 置換數組維度圖片

    語法

  • B = permute(A,dimorder)ip

    說明

  • B = permute(A,dimorder) 按照向量 dimorder 指定的順序從新排列數組的維度。例如,permute(A,[2 1]) 交換矩陣 A 的行和列維度。由於在矩陣中第一維度是行數,第二個維度是列數

    三維數組

  • 建立一個342數組並對其進行置換,交換第一個維度和第三個維度,從而獲得243數組
    在這裏插入圖片描述


ipermute

  • 逆置換數組維度

    語法

  • A = ipermute(B,dimorder)

    說明

    A = ipermute(B,dimorder) 按照向量 dimorder 指定的順序從新排列數組 B 的維度,使得 B = permute(A,dimorder)。 逆置換 A 是知足以下條件的數組:當您使用相同的維度順序對其進行置換時,結果等於原始數組 B。
    即A置換成爲B,B經過逆置換返回A

在這裏插入圖片描述

相關文章
相關標籤/搜索