【发布时间】:2019-07-07 12:17:07
【问题描述】:
我有一个 3000x3000x70 的矩阵,我将它的一小部分与主矩阵分开处理。较小的矩阵为 250x250x70。如何替换主矩阵的相同索引?
这是我尝试过的:
combo_matrix = main_matrix(2750:end,2750:end,:)==small_matrix
感谢任何帮助!
【问题讨论】:
标签: matlab
我有一个 3000x3000x70 的矩阵,我将它的一小部分与主矩阵分开处理。较小的矩阵为 250x250x70。如何替换主矩阵的相同索引?
这是我尝试过的:
combo_matrix = main_matrix(2750:end,2750:end,:)==small_matrix
感谢任何帮助!
【问题讨论】:
标签: matlab
在您的问题中,您使用的是“==”,但这是为了测试是否相等,而不是执行分配。您可以将main_matrix 的副本创建为combo_matrix,并通过以下方式替换块。请注意,替换索引必须从 2751 而不是 2750 开始,因为您要替换最后的 250 个值。
% create matrices with random values for demonstration
main_matrix = rand(3000, 3000, 70);
small_matrix = rand(250, 250, 70);
% to create a copy of the original main_matrix:
combo_matrix = main_matrix;
combo_matrix(2751:end,2751:end,:) = small_matrix;
或者通过以下方式覆盖原main_matrix中的值:
% to replace values in original main_matrix:
main_matrix(2751:end,2751:end,:) = small_matrix;
【讨论】: