Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

Use of max iteratively on a cell

1 visualizzazione (ultimi 30 giorni)
Isma_gp
Isma_gp il 28 Set 2016
Chiuso: MATLAB Answer Bot il 20 Ago 2021
Hi, I have a 1x4cell (seekeddata_s) with 4 8x7 cells like the attached one (sl_ts). All of them 8x7 but each of them could have a different size of the singles inside. I would like to get 4 8x7 cells with the maximum value from each cell and store the results on a structure.
I have tried the structure like this, but the max function is not working properly:
if true
% code
end
%%%%%%%%%%%%%%%%%%%%%%%%%
sl_data = [] ;
%
% for every file
for ii = 1:4
file_data = seekeddata_s{1,ii} ;
t = C_t{1,ii};
for jj = 1:8
for kk =1: 7
sl_ts = file_data (:,:);
[mo,to] = max(sl_ts{jj,kk}) ;
sl_data = setfield(sl_data,['file_' num2str(ii)],'max_sl',{jj,kk},mo);
sl_data = setfield(sl_data,['file_' num2str(ii)],'sl_ts',{':',':'},sl_ts);
sl_data = setfield(sl_data,['file_' num2str(ii)],'time_ts',{1,':'},t);
end
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  4 Commenti
KSSV
KSSV il 28 Set 2016
Each cell has a column vector....
Isma_gp
Isma_gp il 28 Set 2016
I'm trying to store the resulting cells with the maximums on the structure above, where I also store other data.

Risposte (1)

Thorsten
Thorsten il 28 Set 2016
Modificato: Thorsten il 28 Set 2016
I think that a main problem is who to compute the max values.
You can compute the max of each cell as follows:
M = cellfun(@(c) double(max(c)), slamming_ts, 'Uni', false);
Find the empty cells and replace with NaN
E = cell2mat(cellfun(@isempty, M, 'Uni', false));
M(E) = {NaN};
Convert 8 x 7 cell to 8 x 7 matrix:
M = cell2mat(M);

Questa domanda è chiusa.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by