how to create cell array for time format elements in matlab
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
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
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 =
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Array Geometries and Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!