MATLAB cannot call or index into a temporary array in for loop

3 visualizaciones (últimos 30 días)
hello_world
hello_world el 17 de Mayo de 2016
Comentada: Walter Roberson el 17 de Jul. de 2018
Hello Friends,
Here is my code:
M = {'a', 'b', 'c'};
for i = length(M)
M(i) = M(i)(M(i)~=0);
end
In other words, I am trying to get for each vector 'a', 'b', and 'c' the following in for loop:
a = a(a~=0);
b = b(b~=0);
c = c(c~=0);
I get the following error: "cannot call or index into a temporary array"
I will appreciate any advice.

Respuestas (2)

Azzi Abdelmalek
Azzi Abdelmalek el 17 de Mayo de 2016
I don't know what you want, your example is not appropriate, comparing letters with 0!
A=[1 2 0 5 0 7]
B=A(A~=0)
  1 comentario
hello_world
hello_world el 17 de Mayo de 2016
Editada: hello_world el 17 de Mayo de 2016
I have a cell array, and I want to remove 0 entries from M. I want to do it for each 'a', 'b' and 'c' in for loop. In other words, it will be
a = a(a~=0);
b = b(b~=0);
c = c(c~=0);

Iniciar sesión para comentar.


Walter Roberson
Walter Roberson el 18 de Mayo de 2016

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by