matlab - 将 NxN 矩阵复制到 NxNxN 矩阵的页面中
问题描述
简单得可笑的问题,但我想把它做对:在 MATLAB 中工作,我试图获取一个 NxN 矩阵并将其复制 N 次以填充一个 NxNxN 矩阵。我的代码执行,但变量“threeD”在循环结束后保持不变。另外,我认为循环不是做到这一点的最佳方式,尽管原则上我没有任何反对意见。提前致谢!
reps = 64;
gradient = (1:reps);
pattern = repmat(gradient,reps,1);
threeD = zeros(reps,reps,reps);
for c = reps
threeD(:,:,c) = pattern;
end
解决方案
方法 1:使用循环
循环所需的 for 循环由1
指示。reps
1:reps
reps = 64;
gradient = (1:reps);
pattern = repmat(gradient,reps,1);
threeD = zeros(reps,reps,reps);
for Layer = 1: reps
threeD(:,:,Layer) = pattern;
end
方法二:使用 Repmat 沿三维复制
中的第二个参数,数组 [1 1 reps] 表示沿/维度repmat()
复制数组的 mnay 次。[row column layer]
[x y z]
reps = 64;
gradient = (1:reps);
pattern = repmat(gradient,reps,1);
threeD = repmat(pattern,[1 1 reps]);
使用 MATLAB 版本:R2019b
推荐阅读
- typescript - 从泛型返回值时使用提取
- excel - Excel - 将表格转换为不同的格式
- r - 如何解决 Rscript 解析错误:过早的 EOF?
- ios - TabBar 的背景颜色没有使用 ESTabBarController 改变
- reactjs - 使用 mapDispatchToProps 将文本输入值从一个屏幕传递到另一个屏幕
- php - 基于通配符子域获取动态内容
- zend-framework3 - 如何呈现电子邮件正文
- php - 通过 PostgreSQL 数据库的 PhP 表单更改用户和密码问题
- scala - 将序列插入返回 NullPointerException 的数据帧
- c - Macbook上的Xcode 10-如何使用键盘快捷键评论/ * * /?