How can I assign values to elements with same index from multiple cells?
Mostrar comentarios más antiguos
I have a cell array with the same-size matrix in each cell, say,
a = cell(2);
[a{:}]=deal(rand(2));
and I want to change the first element of the matrix in each cell to values 1,2,3 and 4 respectively. Something equivalent to
a{:}(1,1) = 1:4;
would be ideal however this syntax doesn't work. Is there any other way?
2 comentarios
Walter Roberson
el 7 de En. de 2016
I don't think this can be done with this kind of syntax.
Stephen23
el 7 de En. de 2016
The best solution is to avoid cell arrays and use multi-dimensional numeric arrays. then this task is trivial to achieve. See Guillaume's answer for an example of how to do this.
Respuesta aceptada
Más respuestas (2)
Stalin Samuel
el 7 de En. de 2016
[r c] = size(a);
val = 0;
for n1 = 1:r
for n2 = 1:c
val = val+1;
a{n1,n2}(1,1) = val;
end
end
Hamid Arbabi
el 7 de En. de 2016
0 votos
Categorías
Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!