Remove all zeros from a vector (preallocated unused spaces)

3 Ansichten (letzte 30 Tage)
fadams18
fadams18 am 22 Okt. 2018
Kommentiert: madhan ravi am 22 Okt. 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.

Akzeptierte Antwort

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

Weitere Antworten (1)

Stephan
Stephan am 22 Okt. 2018
Bearbeitet: Stephan am 22 Okt. 2018
Hi,
build an example:
A=zeros(1,20)
A(1:10) = rand()
remove zeros:
A(A==0) = []
Best regards
Stephan

Kategorien

Mehr zu Performance and Memory finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by