Matlab 一種超簡單的二維矩陣降維方法

2021-10-09 01:14:23 字數 1242 閱讀 4446

matlab裡影象處理時,經常會把一維陣列轉二維陣列,二維陣列轉一維,如下圖所示:

一般經常使用的函式是reshape,可以在不同維度之間進行轉換,不過需要事先計算陣列每個維度的長度,針對二維轉一維的情況,就顯得有點麻煩。所以本部落格推薦一種極為方便的二維陣列轉一維的方法,可以減少寫**時的脫髮量。

以二維和一維之間相互轉化為例,對比兩種方法

方法一:reshape

a =(1

:9)b =

reshape

(a,[3,

3])c =

reshape

(b,[1,9])

方法二:yaoyee

a =(1

:9)b =

reshape

(a,[3,

3])c =b(

:)d =c(:

)'

方法一:reshape

方法二:yaoyee

本部落格提出的方法二yaoyee中第三行**,可以直接實現將二維矩陣轉為一維矩陣,而不用去考慮一維矩陣長度,可以便利**編寫。但是其輸出的矩陣預設為豎向(n×1),對於求矩陣矩陣、方差等統計量無影響,如有特殊需求可以對其進行轉置操作,同時方法二也無法實現將一維陣列自動轉為二維陣列,此步驟可依舊採用reshape

猜你喜歡:??

⭐【matlab】乙個超簡單的生成順序陣列的方法

⭐matlab去掉陣列中0

matlab練習程式(7個二維不變矩)

數字影象處理 書上說這7個矩是旋轉 縮放 平移不變的,因此用這7個矩就可以代表乙個影象了。我只試驗了縮放的,這幾個數幾乎是不變的,也許做影象檢索的時候可以用到。影象的各階矩 mm zeros 4,4 for y 1 m for x 1 n for q 1 4 for p 1 4 mm q,p mm ...

matlab練習程式(7個二維不變矩)

數字影象處理 書上說這7個矩是旋轉 縮放 平移不變的,因此用這7個矩就可以代表乙個影象了。我只試驗了縮放的,這幾個數幾乎是不變的,也許做影象檢索的時候可以用到。影象的各階矩 mm zeros 4,4 for y 1 m for x 1 n for q 1 4 for p 1 4 mm q,p mm ...

一種將二維表轉換為一維表的方法

計算聚類演算法相關係數的時候,如果開始不知道聚簇和節點數量,如下表所示 k1k2 v1 v2.這時候可以把每個係數看做乙個物件 public class thet 這樣就可以在類中建立乙個一維表,不用考慮v和k的數量了 缺點就是這樣查詢起來可能會慢一點,以後看看有沒有更好的辦法 我是分割線 前面想到...