how to create cell array for time format elements in matlab
1 view (last 30 days)
Show older comments
Hi all, I want to create a cell array and increasing the rows at each loop, while the elements of my cell array are all in time format , for example 02:34:12.
Following is my code.
uuniq=unique(rad_index);
for i=1:length(uniq)
for j=1:length(rad_index)
if uniq(i)==rad_index(j)
dis(j,:)= diff(j,:);
end
end
MyArray{i}=dis;
end
where value of dis at i=1 and end of second loop will be:
dis=
00:02:11
00:03:47
00:03:46
now I want to create a cell array which keep these information as the first row and increase the row when i=2, i=3, .... I was thinking MyArray in above code should give me what I want but actually gives me the following error:
Cell contents assignment to a non-cell array object.
any idea is appreciated ...
0 Comments
Accepted Answer
Muthu Annamalai
on 28 Jun 2013
Your error message means that you are indexing the cell-array to get a subset of its elements as another cell-array.
i.e.
>> y = {1,2,3};
>> z = y(2); class(z) %z is a cell-array of 1 element
>> z = y{2}; class(z) %z is a double
so you want to change your code to use '{}' braces to access the underlying element, and use '()' paranthesis to access sub-cell-array.
HTH
4 Comments
Muthu Annamalai
on 1 Jul 2013
>> z = {1,2,3}
z =
[1] [2] [3]
>> z{1}
ans =
1
>> z{1} = z
z =
{1x3 cell} [2] [3]
>> z{1}{1}
ans =
1
>> z{1}{2}
ans =
More Answers (0)
See Also
Categories
Find more on Array Geometries and Analysis 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!