Matlab中的矩阵创建和赋值

时间:2018-01-27 07:24:30

标签: matlab variable-assignment matrix-indexing replicate

我有两个矩阵固定大小,B迭代增长。如何创建与A大小相等的矩阵B,但要根据向量' j进行放大/操作。 案例1)规模B<尺寸A,2)尺寸B =尺寸A,3)尺寸B>大小A.第一种情况至关重要。

A=rand(10,3)
B=rand(3,3)
i=1:10  % Order of rows in A
j=[2 1 3 1 1 3 2 1 3 1] % always random ordered by another subprogram
A(i,:)=B(j,:)

1 个答案:

答案 0 :(得分:1)

我认为这就是你要找的东西:

A=zeros(10,3)
B=rand(3,3)
i=1:10  % Order of rows in A
j=[2 1 3 1 1 3 2 1 3 1] % always random ordered by another subprogram
%A(i,:)=B(j,:)
for i:1:10
    A(i,:) = B(j(i),:)
end

只要A和B中的列数相同,这就有效。但是j中的值应该只有1和2,因为B中只有2行。