Effacer les filtres
Effacer les filtres

how to create cell array for time format elements in matlab

1 vue (au cours des 30 derniers jours)
saharsahar
saharsahar le 28 Juin 2013
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 ...

Réponse acceptée

Muthu Annamalai
Muthu Annamalai le 28 Juin 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 commentaires
saharsahar
saharsahar le 28 Juin 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 le 1 Juil 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 =

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by