我遇到了一个相当复杂的循环操作问题。
我有一个巨大的条目列表,其中包含一个车辆的多个条目,需要建立一个“地图”,告诉我哪个条目适用于哪个车辆。
所以我建立了一个for循环:
vehicle_list = unique(Data(1:max,vehicle_column));
for i_vehicle = 1:length(vehicle_list)
% Retrieve the actual vehicle from the list
vehicle = vehicle_list{i_vehicle};
% Find all elements with the actual vehicle
flag_vehicle = strncmp( vehicle, ...
Data(1:end,vehicle_column), length(vehicle));
% Set all elements with the current index (corresponding to the current
% vehicle in the list)
vehicle.map(flag_vehicle) = i_vehicle;
end;
你可以想象,这需要很长时间。我尝试了使用ismember和cellfun的解决方案,但这只会让它变得更糟。
我知道数组函数比for循环要快很多但是我很难找到将这个函数转换为数组操作的方法。
有人提出改善表现的想法吗?
谢谢!