cell array question finding minimums of intervals of time matrices

I have a cell array that is a 1:100 cell (cellarray1). each one of the contents of that cell is ALSO a cell. The contents of each of those cells is time data that is either a 1X20 double, 1:30 double, a 1X200 double or anywhere in between.
I want to loop through the whole cell array, take every matrix of time data in the cell array, then we will say that m= the length of any random array of time data in the cell array. For each of the arrays of time data, I want to take the (2:m)-(1:m-1). Then I will have the deltas between the time points for every cell array in the intire cell array.
Then I want to take the minimum number of each cell array and store that in an array.
(I can then use datestr(timearray1),'HH:MM:SS.FFF') to get all the minimum time intervals for every array in cellarray1.

3 Comments

What have you tried so far. A simple loop would solve your problem.
for k=1:length(cellarray1)
dt(k)={cellarray1{1,k}(2:length(cellarray1{1,k}))...
-cellarray1{1,k}(1:length(cellarray1{1,k})-1)};
end
If I do that, I get error: In an assignment A(:) = B, the number of elements in A and B must be the same.
But the output to that for loop woould point me in the right direction because all I would have to do is make a simple loop to go through all of the elements in dt and do the min of them, output that into timearray1, then do the datestr of that.
Also if I do this instead (change dt(k) to just dt), it gives me a 1X2 cell array of the first two subtracted cell arrays from cellarray1.
for k=1:length(cellarray1)
dt={cellarray1{1,k}(2:length(cellarray1{1,k}))...
-cellarray1{1,k}(1:length(cellarray1{1,k})-1)};
end

Sign in to comment.

 Accepted Answer

dt=cellfun(@diff,array,'uniformoutput',false);
mindt=cellfun(@min,dt);
doc cellfun % for the gory details...

More Answers (0)

Categories

Products

Asked:

on 23 Jul 2014

Commented:

on 24 Jul 2014

Community Treasure Hunt

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

Start Hunting!