26 lines
800 B
Matlab
26 lines
800 B
Matlab
function [pp2] = convert_particles_array_colmap(pp1,col1,col2)
|
|
% [pp2] = convert_particles_array_colmap(pp1,col1,col2)
|
|
% Converts particle array data with colmap 1 to array with colmap 2
|
|
% Input
|
|
% pp1 original particle data in 'array' format
|
|
% col1 column map of pp1
|
|
% col2 new column map
|
|
% Output
|
|
% pp2 particle data with column map col2
|
|
ncol2 = col2.Count;
|
|
np = size(pp1,2);
|
|
nt = size(pp1,3);
|
|
pp2 = zeros(ncol2,np,nt);
|
|
|
|
[colvals,idx] = sort(cell2mat(col2.values));
|
|
colkeys = col2.keys;
|
|
colkeys = {colkeys{idx}};
|
|
for it=1:nt
|
|
for icol=1:ncol2
|
|
key = colkeys{icol};
|
|
if col1.isKey(key)
|
|
pp2(icol,:,it) = pp1(col1(key),:,it);
|
|
end
|
|
end
|
|
end
|
|
end |