how to create cell array for time format elements in matlab

1 Ansicht (letzte 30 Tage)
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 ...

Akzeptierte Antwort

Muthu Annamalai
Muthu Annamalai am 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 Kommentare
saharsahar
saharsahar am 28 Jun. 2013
ok let me ask my question in a simple way : how we can assign a cell array as first row of another cell array and how we can acces the data?
Thanks
Muthu Annamalai
Muthu Annamalai am 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 =

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by