I am trying to index from Cell array
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Kiran Isapure
le 9 Déc 2022
Modifié(e) : Imraan Ibrahim
le 16 Déc 2022
I have a nested cell array
pos{1X4}
>> {6830X1}{6824X1}{6834X1}{6826X1}{6842X1}{6840X1}{6836X1}{6844X1}{6837X1}{6833X1}
I am trying to index from cell array, but I am getting Unable to use a value of type cell as an index.
position_0{tr} = pos(time_0);
8 commentaires
Imraan Ibrahim
le 16 Déc 2022
Modifié(e) : Imraan Ibrahim
le 16 Déc 2022
I've just downloaded the raw data
pos =
1×11 cell array
{0×0 double} {6830×1 double} {6824×1 double} {6834×1 double} {6826×1 double} {6842×1 double} {6840×1 double} {6836×1 double} {6844×1 double} {6837×1 double} {6833×1 double}
time_0 =
1×11 cell array
{0×0 double} {[1002]} {[1002]} {[1002]} {[1002]} {[1002]} {[1002]} {[1002]} {[1002]} {[1002]} {[1002]}
Try the following:
position_0 = cellfun(@(p,t) p(t), pos, time_0, 'UniformOutput', false);
Bear in mind that the 1st index of position_0 will also be empty
position_0 =
1×11 cell array
{0×0 double} {[86.9711]} {[86.9943]} {[87.0181]} {[87.0761]} {[87.0062]} {[87.0405]} {[86.9515]} {[86.9467]} {[87.0836]} {[86.9525]}
Réponse acceptée
Imraan Ibrahim
le 9 Déc 2022
Modifié(e) : Imraan Ibrahim
le 9 Déc 2022
It sounds like time_0 is a cell.
time_0 should to be positive integers or logical values
I'm assuming that time_0 is a cell containing an array of indices.
If that is the case, you can try something like:
position_0{tr} = pos([time_0{:}]);
0 commentaires
Plus de réponses (0)
Voir également
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!