matlab中以向量为指标的完备矩阵

matlab中以向量为指标的完备矩阵,matlab,vector,matrix,Matlab,Vector,Matrix,假设我们有一个矩阵A1和两个向量v1和v2,如下所示: A1=zeros(5, 5); v1=[1 2 3]; v2=[5 5 4]; 有没有办法用v1和v2作为索引逐个替换A1的元素?i、 例如,在A1(1,5)、A1(2,5)和A1(3,4)中插入一些元素 以下是v1和v2的所有组合。我只想要一个接一个。i、 例如,v1(1)与v2(1),v1(2)与v2(2),依此类推 A1(v1, v2) 基本上,您有行和列信息,需要将它们转换为线性索引,以便将索引转换为A1。为此,请使用- 输出

假设我们有一个矩阵A1和两个向量v1和v2,如下所示:

A1=zeros(5, 5);
v1=[1 2 3];
v2=[5 5 4];
有没有办法用v1和v2作为索引逐个替换A1的元素?i、 例如,在A1(1,5)、A1(2,5)和A1(3,4)中插入一些元素

以下是v1和v2的所有组合。我只想要一个接一个。i、 例如,v1(1)与v2(1),v1(2)与v2(2),依此类推

A1(v1, v2) 

基本上,您有行和列信息,需要将它们转换为线性索引,以便将索引转换为
A1
。为此,请使用-

输出-

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;

将向量转换为线性索引:

A1=zeros(5, 5);
v1=[1 2 3];
v2=[5 5 4];

ind=sub2ind(size(A1), v1, v2);
A1(ind(1))=1

A1 =

     0     0     0     0     1
     0     0     0     0     0
     0     0     0     0     0
     0     0     0     0     0
     0     0     0     0     0
等等

A1=zeros(5, 5);
v1=[1 2 3];
v2=[5 5 4];

ind=sub2ind(size(A1), v1, v2);
A1(ind(1))=1

A1 =

     0     0     0     0     1
     0     0     0     0     0
     0     0     0     0     0
     0     0     0     0     0
     0     0     0     0     0