2017-08-08 97 views
0

使用Armadillo,當我僅指定一個尺寸大小時,如何重塑矩陣?C++犰狳重塑僅有一個尺寸大小的矩陣

Matlab documentation,存在的這樣的功能的例子:

重塑一個6×6的幻方矩陣成僅具有3 列的矩陣。爲第一個尺寸指定[]以使重塑 自動計算適當的行數。

A = magic(6); 
B = reshape(A,[],3); 

的結果是一個12×3矩陣,其維持相同數量的元件 (36)作爲原始6×6矩陣的。 B中的元素也 保持其從A列的順序。

如何用Armadillo完成?

+1

我想我就必須做使用第一矩陣的大小/形狀和尺寸的所述第二矩陣的已知大小的計算。 –

回答

2

您可以使用.size()來獲取矩陣元素的總數並自己計算尺寸。 實施例:

B = reshape(A, A.size()/3, 3);