Remove zero padding in the vector which has element 0

I have vector A=[1 36 28 95 64 125 44 96 93 21 67 126 59 25 117 0 84 9 6] and then padded with zero until the length multiple of 3. So the newA=[1 36 28 95 64 125 44 96 93 21 67 126 59 25 117 0 84 9 6 0 0]. It is possible to remove zero padding? Because if i used nonzeros, the element 0 of A removed too. The number of elements A vector can not be ascertained

 Akzeptierte Antwort

Stephen23
Stephen23 am 4 Feb. 2017
You can use find for this:
>> newA = [1,36,28,95,64,125,44,96,93,21,67,126,59,25,117,0,84,9,6,0,0]
newA =
1 36 28 95 64 125 44 96 93 21 67 126 59 25 117 0 84 9 6 0 0
>> B = newA(1:find(newA,1,'last'))
B =
1 36 28 95 64 125 44 96 93 21 67 126 59 25 117 0 84 9 6

1 Kommentar

Tan
Tan am 5 Feb. 2017
Bearbeitet: Tan am 5 Feb. 2017
It worked! Thank you Stephen for telling me:)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Star Strider
Star Strider am 4 Feb. 2017
Using eps (or some other small number) to replace either your original zero or the padded zeros will work also, and not interfere with your calculations with them:
A=[1 36 28 95 64 125 44 96 93 21 67 126 59 25 117 0 84 9 6];
newA=[1 36 28 95 64 125 44 96 93 21 67 126 59 25 117 0 84 9 6 eps eps];
OriginalA = newA(A ~= eps)

2 Kommentare

Tan
Tan am 5 Feb. 2017
I just know there is a padding such as that. I've tried and it worked. Thank you Star Strider for telling me:)
My pleasure!

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Operators and Elementary Operations finden Sie in Hilfe-Center und File Exchange

Gefragt:

Tan
am 4 Feb. 2017

Kommentiert:

am 5 Feb. 2017

Community Treasure Hunt

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

Start Hunting!

Translated by