В настоящее время я пытаюсь преобразовать код Python в C++. Одна «маленькая» проблема заключается в изменении размеров матрицы. Можно ли изменить матрицу на C++, аналогичную функции Python reshape
?Как изменить форму матрицы?
Например, в Python я могу легко создать массив с numpy
и легко изменить размеры.
a = np.array([[1,2,3],[4,5,6]])
>>> a.reshape(3,2)
array([[1, 2],
[3, 4],
[5, 6]])
Как я могу это сделать на C++? Возможно, это простой вопрос, но я совершенно неспособен сделать это. Я видел это в библиотеке OpenCV с классом Mat
here, однако с MinGW очень сложно нормально работать, не говоря уже о очень большом дополнении для одной функции. Было бы идеально, если бы это было возможно с «базовыми» функциями.
Это на самом деле очень сложный вопрос. В NumPy это легко, потому что массивы NumPy действительно отслеживают свои успехи и форму; [эта статья] (http://arxiv.org/pdf/1102.1523) описывает структуру и может обеспечить вдохновение даже для программ на C++. –