将矩阵的一部分复制到具有相同索引的另一个空矩阵

use*_*828 3 indexing matlab matrix

我试图将matlab中矩阵(矩阵1)的一部分复制到另一个零的矩阵(矩阵2),这样我从矩阵1复制的部分在矩阵2中具有相同的索引,例如

矩阵1(mat1):

0 3 0 0 2 4 1 2 6
1 3 4 2 0 0 0 2 0 
0 2 6 1 3 6 6 1 1
0 0 0 2 1 3 3 1 0
1 4 5 2 3 3 0 0 1
Run Code Online (Sandbox Code Playgroud)

矩阵2(mat2)所需的输出:

0 0 0 0 0 0 0 0 0
0 0 4 2 0 0 0 0 0
0 0 6 1 3 6 6 0 0
0 0 0 2 1 3 3 0 0
0 0 0 0 0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)

我尝试过类似的东西

mat2([2:4],[3:7]) = mat1([2:4],[3:7]) 
Run Code Online (Sandbox Code Playgroud)

但当然它不起作用......任何有效方法的想法吗?我找不到另一个线程来帮助解决这个问题.

谢谢!

pad*_*ddy 6

它确实有效.你只需mat2要先创建:

mat2 = zeros(size(mat1));
mat2(2:4, 3:7) = mat1(2:4, 3:7);
Run Code Online (Sandbox Code Playgroud)

请注意,您不需要这些范围上的方括号.