MATLAB: How to find the percentage of smaller than X in a specific column in all tables in a cell

cell arraysMATLAB

Hello everyone
I have a cell with four "360×5 tables" inside it. I want to understand the percentages of smaller than 0.5 in the all fifth columns of all tables (together) across this cell.
What I need as output is just one 360×1.
for example,
I attached my cell.
Thank you

Best Answer

clc
load CELL.mat
% Extract all 5th columns
newMat = zeros(360, 1);
for idx = 1:length(CELL)
newMat(:, idx) = CELL{1}.col5;
end
% Calculate percentage of smaller than 0.5
result = zeros(360, 1);
for idx = 1:length(newMat)
smallerThn = nnz(newMat(idx, :) < 0.5);
result(idx, 1) = (smallerThn / numel(newMat(idx, :))) * 100;
end
% Convert the result into Table
T = array2table([newMat, result],...
'VariableNames', {'5th column of first table',...
'5th column of second table',...
'5th column of third table',...
'5th column of fourth table',...
'Percentage of smaller than 0.5'});
disp(T)