Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matlab中被另一个矩阵索引的矩阵?_Matlab_Matrix_Indexing - Fatal编程技术网

matlab中被另一个矩阵索引的矩阵?

matlab中被另一个矩阵索引的矩阵?,matlab,matrix,indexing,Matlab,Matrix,Indexing,我有以下矩阵: A=zeros(2,4); D=[ 1 2; 3 4; 5 6; 7 8]; v=rand(1,8); 例如: v= [0.8147 0.9058 0.1270 0.9134 0.6324 0.0975 0.2785 0.5469] 现在当我运行A(D)=v时,A变成: A=[0.8147 0.9058 0.1270 0.9134; 0.6324 0.0975 0.2785

我有以下矩阵:

A=zeros(2,4);
D=[ 1 2;
    3 4;
    5 6;
    7 8];

v=rand(1,8);
例如:

v= [0.8147    0.9058    0.1270    0.9134    0.6324    0.0975    0.2785    0.5469]
现在当我运行
A(D)=v
时,
A
变成:

A=[0.8147    0.9058    0.1270    0.9134;
   0.6324    0.0975    0.2785    0.5469]
A=[0.5469    0.2785    0.0975    0.6324;
   0.9134    0.1270    0.9058    0.8147]
当我将
D
条目更改为另一个值时,我会得到
A
的不同配置,例如,如果我输入:

D=[ 8 7;
    6 5;
    4 3;
    2 1];
然后
A
变成:

A=[0.8147    0.9058    0.1270    0.9134;
   0.6324    0.0975    0.2785    0.5469]
A=[0.5469    0.2785    0.0975    0.6324;
   0.9134    0.1270    0.9058    0.8147]

有人知道这种索引是什么吗?

为了更清楚,让我们把你的
v
重新定义为

v = 10:10:80
(即
v=[102030050607080];

现在什么时候

 D=[8 7;
    6 5; 
    4 3; 
    2 1];
然后

A(D)=v

    A =

    80    70    60    50
    40    30    20    10
让我们看看它是如何工作的。因此,首先,当你用
D
索引
A
时,
D
变平,因此
A(D)=v
A(D(:)=v
(测试!)相同

所以我们要把它一个元素一个元素地分解成
A(D(1))=v(1)
,在替换
D(1)
v(1)
后,它是
A(8)=10,因此最后一个元素是10。让我们进一步看一些元素<代码>A(D(4))=v(4)
变成
A(2)=40
。但是哪个元素是
A(2)
?线性索引首先对行进行倒计时(列主顺序),即

因此
A(2)
处于
(2,1)
位置等。

它是线性索引: