我正在尝试将 matlab 中的矩阵(矩阵1)的一部分复制到另一个零的矩阵(矩阵2),以便从矩阵1复制的部分具有相同的索引矩阵2,例如
Matrix 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
Matrix 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])
但当然它不起作用......任何有效方法的想法?我找不到另一个线程来帮助解决这个问题。
谢谢!
答案 0 :(得分:6)
确实有效。您只需要先创建mat2
:
mat2 = zeros(size(mat1));
mat2(2:4, 3:7) = mat1(2:4, 3:7);
请注意,您不需要这些范围上的方括号。
答案 1 :(得分:2)
这样做:
mat2 = zeros(size(mat1));
复制之前。