Matlab在parfor - slicing中为数组索引乘以迭代器

时间:2013-04-03 01:14:25

标签: arrays matlab indexing iterator parfor

是否可以切片3' rd line(tt)?此代码已简化,但问题类似。我在数组索引中使用乘法迭代器(3 * i),但它不起作用。也许有可能以某种方式改变它。

parfor i = 1 : NE      
   tmp = i * [1, -1; -1, 1];                 
   tt(3*i-1:3*i+1) = tmp([3,2,4]);          
   pp(i) = tmp(1,1,i);   
end;

谢谢:)

1 个答案:

答案 0 :(得分:0)

要成为sliced output variablett必须仅使用循环变量i以及其他常量字词(包括:)进行索引。也许你可以使tt成为矩形,并一次指定一个完整的列,然后重新整形,如下所示:

tt = zeros(3, 10);  
parfor ii = 1:10
  tt(:, ii) = [ii; ii; ii];
end
tt = reshape(tt, 1, numel(tt));