function [extractedSoundsources] = extract(pSourcesToExtract, pSoundsources, pAsStruct) %EXTRACTSOUNDSOURCESFROMARRAY Summary of this function goes here % Detailed explanation goes here %% Parameter check if nargin == 2 pAsStruct = false; end %% Return as structure if requested if pAsStruct extractedSoundsources = createStruct(); return; end %% Initialize return variable extractedSoundsources = {}; %% Get all soundsources for i = 1:length(pSourcesToExtract) try extractedSoundsources{end + 1} = pSoundsources.(pSourcesToExtract{i}); catch end end function [extractedSoundsources] = createStruct() extractedSoundsources = struct(); for o = 1:length(pSourcesToExtract) if ~isfield(pSoundsources, pSourcesToExtract{o}) continue; end extractedSoundsources.(pSourcesToExtract{o}) = pSoundsources.(pSourcesToExtract{o}); end end end