Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何用另一个较小的矩阵替换矩阵的一部分?_Matlab - Fatal编程技术网

Matlab 如何用另一个较小的矩阵替换矩阵的一部分?

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

我有一个3000x300x70矩阵,我处理了它的一小部分,与主矩阵分开。较小的矩阵为250x250x70。如何替换主矩阵的相同索引

以下是我尝试过的:

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;