# How to find max,min,average values from a cell array?

70 ビュー (過去 30 日間)
Jung BC 2016 年 3 月 30 日

Hi, I have a cell array of size 1x316 which further contains multidimensional cell arrays.
Each cell array is of different sizes like 1xa, 1xb, 1xc and so on.All values inside the cell arrays are double numeric type.
I want to find max, min , average values from each cell array and finally save the output in 3 different
cell arrays of sizes 1x316 say max_pause_duration(1x316), min_pause_duration(1x316) and mean_pause_duration(1x316).
Initially i have stored cell array in s2 which is a 1x1 struct with one field ->pause_duration of size 1x316.
The cellfun function works very slow as its a big data.
max_pause_time =cell(size(s2.pause_duration));
min_pause_time = cell(size(s2.pause_duration));
average_pause_time = cell(size(s2.pause_duration));
for iter = 1:length(s2.pause_duration)
a=cell2mat(s2.pause_duration,);
max_pause_time{iter} = max(a(:));
min_pause_time{iter} = min(a(:));
average_pause_time{iter} = mean(a(:));
end

サインインしてコメントする。

### 採用された回答

Azzi Abdelmalek 2016 年 3 月 30 日

A={ num2cell(rand(1,4)) num2cell(rand(1,5))}
out1=cellfun(@(x) min(cell2mat(x)),A)
out2=cellfun(@(x) max(cell2mat(x)),A)
out3=cellfun(@(x) mean(cell2mat(x)),A)
##### 1 件のコメント-1 件の古いコメントを表示-1 件の古いコメントを非表示
Jung BC 2016 年 3 月 30 日
Thanks Azzi Abdelmalek.It worked well.

サインインしてコメントする。

### その他の回答 (1 件)

Venkat Ta 2019 年 7 月 23 日
Hi really nice function works fine but inside the cell 6*30double how i get the mean, max, and min?

サインインしてコメントする。

### カテゴリ

Help Center および File ExchangeStructures についてさらに検索

### Community Treasure Hunt

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

Start Hunting!

Translated by