3

我正在尝试将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

矩阵 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

我试过类似的东西

mat2([2:4],[3:7]) = mat1([2:4],[3:7]) 

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

谢谢!

4

2 回答 2

6

它确实有效。您只需mat2要先创建:

mat2 = zeros(size(mat1));
mat2(2:4, 3:7) = mat1(2:4, 3:7);

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

于 2013-06-27T21:42:59.450 回答
2

做这个:

mat2 = zeros(size(mat1));

在复制过来之前。

于 2013-06-27T21:42:20.310 回答