algorithm - 以行方式 reshape MATLAB 向量

标签 algorithm matlab

假设我有一个矩阵 a = [1 2 3 4 5 6];,例如,我如何以逐行方式 reshape 它 reshape(a, 2, 3) 产生

1 2 3 
4 5 6

而不是 MATLAB 生成的默认按列结果:

1 3 5 
2 4 6

我相信这是一个微不足道的任务,可能有一个内置的功能来实现这一点。我已经实现了一个完美地完成此任务的函数......但是,是否有更短、更整洁和更 MATLAB 的方式?谢谢。

function y = reshape2(x, m, n) 
  y = zeros(m, n);

  ix = 0; 
  for i = 1:m
     for j = 1:n
         ix = ix + 1;
         y(i, j) = x(ix);
     end 
  end 
end

最佳答案

这个怎么样?

reshape (a, 3, 2)'

关于algorithm - 以行方式 reshape MATLAB 向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16592386/

相关文章:

python - 在Python中,如何检查一个字符串以查看其中是否包含另一个字符串的任何组合?

c - 如何将数据从 C 导出到 MATLAB(在不同机器上)

将 .mat 文件转换为任何其他格式,例如 .txt 或 .plist

java - 请使用 "Hugo Elias"算法生成波形! java

java - 具有层次结构和多个过滤器的搜索算法

algorithm - 最大公约数 - 上限

algorithm - 这个2循环算法的时间复杂度

arrays - 字符可以用作索引吗?

matlab - 在 Matlab 中使用父类(super class)函数修改子类属性

image - 在 MATLAB 中使用霍夫曼编码进行灰度图像压缩