【发布时间】:2019-07-06 01:33:16
【问题描述】:
我知道如何在 MATLAB 中使用 toeplitz 函数来创建一维向量的循环矩阵。但是,我正在尝试创建一个循环块
例如,我有 3 个大小为 (2,2,3) 的矩阵,其中第三维是 R、G、B: 下面我展示了每个矩阵的行和列的样本值。 第一个矩阵:
# 01 02
# 03 04
第二个矩阵:
# 05 06
# 07 08
第三矩阵:
# 09 10
# 11 12
现在我想创建一个像这样的循环矩阵
# 01 02 05 06 09 10
# 03 04 07 08 11 12
# 09 10 01 02 05 06
# 11 12 03 04 07 08
# 03 04 09 10 01 02
# 05 06 11 12 03 04
注意,我希望能够将矩阵的整个块在后续行中向右移动,而不仅仅是矩阵的第一行。请注意,我想保留这些矩阵 w 的第三维(其中包含颜色维)
谁能告诉我如何继续它?我想制作一个数组我已经有一个3D矩阵,不知道如何在这里制作一个数组的数组,如果它有帮助的话。
参考资料:
- MATLAB 中的 Toeplitz 命令:https://www.mathworks.com/help/matlab/ref/toeplitz.html
- 我试图理解但无法理解的 Stackoverflow:Matlab: How to convert a matrix into a Toeplitz matrix(不确定我是否回答了我的问题)
【问题讨论】:
标签: arrays matlab matrix toeplitz