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

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

11_3 高維數組處理和運算

filp, shiftdim, size, permute, ipermute

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

<font color=Red>filp</font>

  • 翻轉元素順序

<font color=Orange>語法</font>

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

<font color=Orange>說明</font>

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

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

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

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

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

<font color=Orange>翻轉字符向量</font>

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

<font color=Orange>翻轉列向量</font>

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

     3
     2
     1

<font color=Orange>翻轉矩陣</font>

在這裏插入圖片描述

<font color=Orange>翻轉元胞數組</font>

在這裏插入圖片描述

<font color=Orange>輸入參數</font>

在這裏插入圖片描述


<font color=Red>shiftdim</font>

  • 移動數組維度

<font color=Orange>語法</font>

  • B = shiftdim(A,n)3d

    • B = shiftdim(A,n) 將數組 A 的維度移動 n 個位置。當 n 爲正整數時,shiftdim 向左移動維度;當 n 爲負整數時,向右移動維度。例如,若是 A 是 2×3×4 數組,則 shiftdim(A,2) 返回 4×2×3 數組。
  • B = shiftdim(A)code

    • B = shiftdim(A) 返回數組,其元素與 A 相同,但刪除了前面的長度爲 1 的維度。
  • [B,m] = shiftdim(A)blog

    • [B,m] = shiftdim(A) 還返回刪除的長度爲 1 的維度的數量。

<font color=Orange>四維矩陣</font>

  • 建立一個 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

<font color=Orange>移動矩陣維度</font>

  • 計算 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

<font color=Red>size</font>

  • 獲取矩陣形狀大小

<font color=Red>permute</font>

  • 置換數組維度

<font color=Orange>語法</font>

  • B = permute(A,dimorder)

<font color=Orange>說明</font>

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

<font color=Orange>三維數組</font>

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

<font color=Red>ipermute</font>

  • 逆置換數組維度

<font color=Orange>語法</font>

  • A = ipermute(B,dimorder)

<font color=Orange>說明</font>

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

在這裏插入圖片描述

相關文章
相關標籤/搜索