How can my code, which collects bad data with 'cellfun' and 'try, catch', be improved?
Show older comments
My real situatoin is that I have a large number of files. Some I suspect are bad. I want to know the file names of all the bad files. So they will not go to the downstream workflow.
Here is a toy example I write to show the problem I have. I only want to keep the bad data. So from cellfun's output, I must remove the good data (coded as '0'). Is there any better way to do the whole thing? I appreciate any suggestion you have.
list = {'a', 'bc', 'defg'};
T = cellfun(@(x) func(x), list, 'UniformOutput',false)
function out = func(x)
try
x(4); % This would create error for a character vecctor shorter than 4.
out = 0;
catch ME
warning("--- error caused by bad data ---.\n")
out = x; % This is to collect the bad data.
disp(x)
disp(ME)
end
end
Accepted Answer
More Answers (0)
Categories
Find more on Programming in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!