matlab - 在 Matlab 中将 2-D 向量转换为 4-D 向量

标签 matlab matrix vector

是否可以在 matlab 中将二维向量转换为四维向量?

我可以创建二维向量,例如:

A = [[1 2];[3 4]] -->(code segment_1)

和像

这样的 4-D 向量
A = ones(2,3,4,8)  -->(code segment_2)

是否可以像我们使用 code_segment_1 创建 2-D 向量那样创建 4-D 向量? (让我说得更清楚一点,A=[[[1 2],[3 4]],[[5 6],[7 8]],[[9 10],[11 12]]] 正在创建一个 1x12 矩阵)

我还看到我们使用 reshape 函数将 k 维矩阵转换为 l 维矩阵,其中 k > l。这基本上是缩小尺寸,但我们可以放大尺寸吗?

最佳答案

只要不改变元素的数量,您就可以 reshape 您的 2D 矩阵 为 4D 数组:

 oneD = 1:12; %// creare 1D vector
 twoD = reshape( oneD, [6 2] ); %// reshape into a 2D matrix
 threeD = reshape( oneD, [2 3 2] ); %// now you have a 3D array
 fourD = reshape( oneD, [1 2 3 2] ); %// 4D with a leading singleton dimension

从你的问题来看,你似乎对 numpy 有一些经验。 Matlab 没有为 n>2 直接创建 n-d 数组的命令行,但可以直接将任何 2D 或 3D 数组 reshape 转换为更高维数组.

关于matlab - 在 Matlab 中将 2-D 向量转换为 4-D 向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29754236/

相关文章:

c++ - 运行时错误:将 .push_back() 与 std::vector 一起使用时出现访问冲突?

c++ - 从 C++ vector 中推送和检索值的意外输出

c++ - vector 元素大小

matlab - 如何在 MATLAB 中创建自定义 "Probability Distribution Object"

matlab - 如何在条形图上添加图例?

matlab - 显示 3D 散点图/颜色取决于数据

c++ - 如何在 OpenCV 中访问多维 Mat 中的二维矩阵

python - 使用 Cholesky 分解在 numpy 中反转矩阵的效率

matrix - Prolog - 从列表列表中获取元素

Matlab:找到没有循环的NaN的相邻实例