如果这个问题是重复的,或者如果这个问题的解决方案在Matlab中非常简单,则事先道歉。我有一个M×N矩阵A
,1个M矢量ind
,以及另一个矢量val
。例如,Matlab:基于索引向量化矩阵中值的赋值
A = zeros(6,5);
ind = [3 4 2 4 2 3];
val = [1 2 3];
我想向量化以下代码:
for i = 1 : size(A,1)
A(i, ind(i)-1 : ind(i)+1) = val;
end
>> A
A =
0 1 2 3 0
0 0 1 2 3
1 2 3 0 0
0 0 1 2 3
1 2 3 0 0
0 1 2 3 0
也就是说,对于第i A
行,我要插入载体val
在一定的位置,通过如specificied ind
的第i个条目。在没有for循环的情况下,在Matlab中执行此操作的最佳方法是什么?
问得好... – robertevansanders