matlab - reshape 列向量

标签 matlab matrix vector reshape

你好,我正在使用 MATLAB,我有一个维度为 (9680 x 1) 的“z”列向量。我想 reshape 它以获得尺寸为 (44 x 220) 的数组“z”。我正在执行以下操作:

z=reshape(z,44,220);

我也试过:

z=reshape(z,[44,220]);

但是输出不对(至少第一行)。我可以通过比较输出矩阵和初始向量来看到它。

我只需要将列向量的第一个 220 个位置作为矩阵第一行的长度,然后将向量的接下来的 220 个位置作为矩阵的第二行,依此类推,直到获得 44 行。

我做错了什么?感谢您的帮助。

最佳答案

Matlab 以列主要格式存储矩阵值(这在整形期间很重要)。既然你想要行专业,你需要做

z = reshape(z, [220 44]).';

即之后转置。

关于matlab - reshape 列向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29876591/

相关文章:

javascript - 验证二维数组每行长度相同的最快/最优雅的方法?

c++ - 采用 OpenCV Mat<double> 并转换为 12 位值的数组。

c++ - 使用 scanf 和 while 循环与 vector push_back

c++ - operator+ 和 operator= 的运算符重载 C++

c++ - 什么是 C++17 中的 std::vector 推导指南?

matlab - Matlab 中 >=0 限制的累积和

python - Sympy 在求解方程时返回 ConditionSet 对象,而 matlab 在求解相同方程时返回单个 float

matlab - 如何在 MATLAB 中为矩阵的特定位置赋值?

python - 使用 Levenberg-Marquardt 的非线性最小二乘 : Reproducing Matlabs lsqnonlin with Scipy. optimize.least_squares

c - 使用无符号值对数组进行操作