Cell array indexing in matlab
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
fereshteh beygi ahmadvandi
le 14 Mar 2021
Commenté : Adam Danz
le 16 Mar 2021
hi
I have an empty cell array
Let call it W
At the output It must have a cell array with two columns and n rows
Each element of columns is an array with variable length
I wanna write at the end of arrays in columns
How can access the last element of that arrays in the cells
for example W(1,2) end+1 i.e At the end of an array at the second column of first row
0 commentaires
Réponse acceptée
fereshteh beygi ahmadvandi
le 16 Mar 2021
Modifié(e) : fereshteh beygi ahmadvandi
le 16 Mar 2021
4 commentaires
Adam Danz
le 16 Mar 2021
> I had found the solution myself
That's the best way to learn! Nicely done.
Plus de réponses (1)
Adam Danz
le 16 Mar 2021
Modifié(e) : Adam Danz
le 16 Mar 2021
To access the last element of an array stored in cell array C at location {m,n},
y = C{m,n}(end);
To access the last element of all cells stored in cell array C,
y = cellfun(@(x)x(end),C);
Update
To append a value to the end of the vector stored in cell array C at location {m,n},
C{m,n}(end+1) = x;
To append a value M(m,n) in matrix M to the end of the vector stored in cell C{m,n},
C = reshape(arrayfun(@(i){[C{i}, M(i)]},1:numel(C)),size(C));
Demo:
C = reshape(arrayfun(@(i){rand(1,randi(100))},1:100),50,2); % original values
M = reshape(1:100,50,2); % values to append
C2 = reshape(arrayfun(@(i){[C{i}, M(i)]},1:numel(C)),size(C));
0 commentaires
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!