Matlab 如何用另一个较小的矩阵替换矩阵的一部分?
我有一个3000x300x70矩阵,我处理了它的一小部分,与主矩阵分开。较小的矩阵为250x250x70。如何替换主矩阵的相同索引 以下是我尝试过的:Matlab 如何用另一个较小的矩阵替换矩阵的一部分?,matlab,Matlab,我有一个3000x300x70矩阵,我处理了它的一小部分,与主矩阵分开。较小的矩阵为250x250x70。如何替换主矩阵的相同索引 以下是我尝试过的: combo_matrix = main_matrix(2750:end,2750:end,:)==small_matrix 感谢您的帮助 在您的问题中,您使用的是“==”,但这是为了测试相等性,而不是执行赋值。您可以将main_矩阵的副本创建为combo_矩阵,并通过以下方法替换块。请注意,替换的索引必须从2751开始,而不是2750,因为您要
combo_matrix = main_matrix(2750:end,2750:end,:)==small_matrix
感谢您的帮助 在您的问题中,您使用的是“==”,但这是为了测试相等性,而不是执行赋值。您可以将
main_矩阵
的副本创建为combo_矩阵
,并通过以下方法替换块。请注意,替换的索引必须从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;
或通过以下方式覆盖原始主矩阵中的值:
% to replace values in original main_matrix:
main_matrix(2751:end,2751:end,:) = small_matrix;