Attualmente sto provando a convertire qualche codice Python in C++. Un problema "piccolo" sta cambiando le dimensioni di una matrice. È possibile rimodellare una matrice in C++ simile alla funzione Python reshape
?Come rimodellare una matrice?
Ad esempio, in Python posso facilmente creare un array con numpy
e rimodellare facilmente le dimensioni.
a = np.array([[1,2,3],[4,5,6]])
>>> a.reshape(3,2)
array([[1, 2],
[3, 4],
[5, 6]])
Come ho potuto farlo in C++? Forse questa è una domanda semplice ma sono completamente incapace di farlo. Ho visto questo all'interno della libreria OpenCV con la classe Mat
here, tuttavia sta dimostrando di essere faticosamente difficile da funzionare correttamente con MinGW, per non parlare di un'aggiunta molto grande per una singola funzione. Sarebbe l'ideale se ciò fosse possibile con le funzioni di "base".
Questa è in realtà una domanda molto complessa. In NumPy è facile perché gli array NumPy tengono traccia dei loro passi e della loro forma; [questo articolo] (http://arxiv.org/pdf/1102.1523) descrive la struttura e può fornire ispirazione anche per i programmi C++. –