ucftools/matlab/convert_particles_array2str...

22 lines
728 B
Matlab

function [ppstruct] = convert_particles_array2struct(pp,col)
% [ppstruct] = convert_particles_array2struct(pp,col)
% Converts MATLAB particle data from 'array' format to 'struct'
% Input
% pp particle data in 'array' format
% col column map
% Output
% ppstruct particle data in 'struct' format
% Convert map to (cell) arrays and sort by ascending array indices
[colvals,idx] = sort(cell2mat(col.values));
colkeys = col.keys;
colkeys = {colkeys{idx}};
nkeys = col.Count;
nstep = size(pp,3);
for istep=nstep:-1:1
for ikey=1:nkeys
ppstruct(istep).(colkeys{ikey}) = pp(colvals(ikey),:,istep);
end
end
end