matlab中关于A(I)=B的理解

在matlab中help SUBSASGN(下标分配)即可了解关于A(I)=B的相关信息。

A(I) = B assigns the values of B into the elements of A specifed by
    the subscript vector I.  B must have the same number of elements as I
    or be a scalar. 


从这里可以看出,A,I,B都是矩阵(向量)。A(I)=B表示将矩阵B中的值赋值给A中用向量I中元素为下标的元素。这句话有点绕口,分解开来就是说,把B中的值赋值给A中的某些元素,而A中哪些元素可以被赋值呢?就是用向量I中的元素作为下标的那些A中元素可以被赋值。

eg:

A=zeros(5,1);

I=[5,3];

B=[12,15];

那么A(I)=B执行过后,A变成[0,0,15,0,12]' 。即A(5)=12 ,A(3)=15 。

 

在这里,B中元素的数量要和I中元素的数量相等。或者B为一个标量。(如果B为标量b,那么A中被赋值的元素全部赋为同一个值b。)

你可能感兴趣的:(matlab)