Remove all zeros from a vector (preallocated unused spaces)

3 visualizaciones (últimos 30 días)
fadams18
fadams18 el 22 de Oct. de 2018
Comentada: madhan ravi el 22 de Oct. de 2018
So i am saving frobenius norm of an algorithm. Before that i made my preallocation as
RRE=zeros(1,5000);
After saving my RRE values for total simulation of 20, I get an array of this nature
[0.9808 0.488 0.0819 0.11491 0 0 0 0 0 0 0 ] up to 5000
I want to plot only last values so I do this
Last_RRE= RRE(end);
So instead of returning 0.11491 it returns 0. How to i make sure these zeroes are removed. I have to do this for 5 other alogrithms. so i cant make a loop to go through to the length and if statement to remove zeroes. looks tiring for all these methods. since the RRE's are unique for each algorithm and have different names. NB, the zeroes are not zero value RRE they are just 'unused' or null. i dont know how to call them.

Respuesta aceptada

madhan ravi
madhan ravi el 22 de Oct. de 2018
RE = [0.9808 0.488 0.0819 0.11491 0 0 0 0 0 0 0 ]
nonzeros(RE) %removes zeros

Más respuestas (1)

Stephan
Stephan el 22 de Oct. de 2018
Editada: Stephan el 22 de Oct. de 2018
Hi,
build an example:
A=zeros(1,20)
A(1:10) = rand()
remove zeros:
A(A==0) = []
Best regards
Stephan

Categorías

Más información sobre Performance and Memory en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by