Hello,
I ask for assistance with slicing a variable for use with "parfor".
The challenge is, I don't want to / don't need to iterate over the whole array, but I need to change the values of some segments of the array.
The segment size to be changed is determined before the loop (variable "indices" and "step").
So the loop variable ("ii") is not identical to the array index.
Best regards,
Dan
clear all;a = rand(20,1); % vector to be modified
b = a;indices = [2, 5, 9, 14]; %arbitrary start indices, for which the following n values should be changed
step = [1, 2, 2, 4]; % number of values to be changed
%% the for loop works
for ii = 1 : length(indices) start_index = indices(ii); end_index = start_index + step(ii); a(indices(ii) : indices(ii)+step(ii)-1) = nan(step(ii), 1);end%% parfor does not work
parfor ii = 1 : length(indices) start_index = indices(ii); end_index = start_index + step(ii); b(start_index : end_index) = nan(step(ii), 1);end
Best Answer