假设我们有一个矩阵 A1 和两个向量 v1 和 v2,如下所示:
A1=zeros(5, 5);
v1=[1 2 3];
v2=[5 5 4];
有没有办法用v1和v2作为索引来逐一替换A1中的元素?即在 A1(1, 5)、A1(2, 5) 和 A1(3, 4) 中插入一些元素。
以下执行 v1 和 v2 的所有组合。我只想要一件一件的。即 v1(1) 与 v2(1)、v1(2) 与 v2(2),依此类推。
A1(v1, v2)
基本上你有行和列信息,需要将它们转换为线性索引,以索引到A1
。为此,请使用sub2ind -
A1(sub2ind(size(A1),v1(1),v2(1))) = 12
A1(sub2ind(size(A1),v1(2),v2(2))) = 10
A1(sub2ind(size(A1),v1(3),v2(3))) = 9
Output -
A1 =
0 0 0 0 12
0 0 0 0 10
0 0 0 9 0
0 0 0 0 0
0 0 0 0 0
如果您将这些值存储在某个数组中,array1
,使用它可以获得与上面相同的结果 -
array1 = [12 10 9];
A1(sub2ind(size(A1),v1,v2)) = array1;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)