1. 程式人生 > >MATLAB中reshape的使用方法整理

MATLAB中reshape的使用方法整理

1、語法
(1)     B = reshape(A,m,n)  將矩陣A的元素返回到一個m×n的矩陣B。如果A中沒有m×n個元素則返回一個錯誤。  

(2)     B = reshape(A,m,n,p,...) or B =reshape(A,[m n p ...]) 把A中元素進行重塑成m×n×p×…的矩陣,特別地,指定的維數m×n×p×…的積必須與prod(size(A))相同。  

(3)     B = reshape(A,...,[],...)  指定某維數後,剩餘的維數長度值用佔位符[]來表示,使得維數的乘積等於prod(size(A))。prod(size(A))的值必須被指定維數的乘積平分。prod(size)的數目必須和prod(size(A))相同。

2、示例
已知矩陣A: A = 1 4 7 10 ;2 5 8 11; 3 6 9 12  

1).就是變換成特定維數的矩陣

2).按照列的順序進行轉換的,也就是第一列讀完,讀第二列,按列存放,下面請看具體例子:

>> A = [1 4 7 10 ;2 5 8 11; 3 6 9 12 ]
A =
     1     4     7    10
     2     5     8    11

     3     6     9    12

>> B=reshape(A,2,6)
B =
     1     3     5     7     9    11
     2     4     6     8    10    12

>> B=reshape(A,2,[])
B =
     1     3     5     7     9    11
     2     4     6     8    10    12

 

PS:

n = numel(A)  //返回陣列A中元素個數。

 

之後可能會更新alhpha-shape相關演算法。