如何将一个小的矩阵复制并粘贴到一个没有for循环的更大的矩阵中

问题描述 投票:0回答:1

例如,我们有一个小的矩阵

B = [5 2, 
     3 4]

和更大的那个

A = [1 0 0 0 0
     0 1 0 0 0
     0 0 1 0 0
     0 0 0 1 0
     0 0 0 0 1]

现在我想将B粘贴到A中以使A看起来像

A = [1 0 0 0 0
     0 1 0 0 0
     0 0 1 0 0
     0 0 0 5 2
     0 0 0 3 4]

这表示右下角A的值已被替换。我想这样做而不使用for循环。那怎么可能?

PS:

  1. A始终是eye(n)矩阵(n是常数)。
  2. B是一个方矩阵,并且具有可变大小,但始终小于或等于A
arrays matlab matrix copy paste
1个回答
0
投票

找到A的相关行和列下标,并将B放在此处。

A(end-size(B,1)+1:end, end-size(B,2)+1:end)=B

即使B不是方矩阵也可以。

© www.soinside.com 2019 - 2024. All rights reserved.