Matlab PARFOR循环中重复项的不必要覆盖
在MATLAB中,下面的第一组循环说明了重复项,但第二组循环(使用PARFOR)则没有。它们将覆盖上一个值。我们如何解决这个问题 For循环:Matlab PARFOR循环中重复项的不必要覆盖,matlab,Matlab,在MATLAB中,下面的第一组循环说明了重复项,但第二组循环(使用PARFOR)则没有。它们将覆盖上一个值。我们如何解决这个问题 For循环: for d = 1:length(set), for k = 1:length(dset), if strcmp(pset(k),set(d)), t(h,p) = dset(k); h = h+1; end end end PARFOR循环: parfor d = 1:length(set), fo
for d = 1:length(set),
for k = 1:length(dset),
if strcmp(pset(k),set(d)),
t(h,p) = dset(k);
h = h+1;
end
end
end
PARFOR循环:
parfor d = 1:length(set),
for k = 1:length(dset),
if strcmp(pset(k),set(d)),
t(d) = dset(k);
end
end
end
有几点
t(h) = dset(k);
h = h+1;
t(d) = dset(k);
用我上面写的两行t = dset(ismember(pset,set));
或者,如果pset实际上应该是dset:
t = dset(ismember(dset,set));
另外,命名一个变量集也不是一个好主意,因为已经有一个内置函数调用了:t(h) = dset(k);
h = h+1;
t(d) = dset(k);
用我上面写的两行t = dset(ismember(pset,set));
或者,如果pset实际上应该是dset:
t = dset(ismember(dset,set));
另外,命名一个变量集也不是一个好主意,因为已经有一个内置函数调用了: