how to change zero in series number

2 vues (au cours des 30 derniers jours)
Trop Trader
Trop Trader le 22 Jan 2024
Commenté : Trop Trader le 22 Jan 2024
0 ====>2
2 ====>2
3 ====>3
5 ====>5
1 ====>1
6 ====>6
0 ====>3
0 ====>3
3 ====>3
4 ====>4
7 ====>7
2 ====>2
0 ====>6
6 ====>6
2 ====>2
0 2 3 5 1 6 0 0 3 4 7 2 0 6 2
convert in :
2 2 3 5 1 6 3 3 3 4 7 2 6 6 2
rule: I start from the bottom and look for zeros... I assign each zero equal to the NonzeroPrevious value

Réponse acceptée

Matt J
Matt J le 22 Jan 2024
Modifié(e) : Matt J le 22 Jan 2024
y=[0 2 3 5 1 6 0 0 3 4 7 2 0 6 2 ]
y = 1×15
0 2 3 5 1 6 0 0 3 4 7 2 0 6 2
y(y==0)=nan;
out=fillmissing(y,'next')
out = 1×15
2 2 3 5 1 6 3 3 3 4 7 2 6 6 2
  1 commentaire
Trop Trader
Trop Trader le 22 Jan 2024
yes.it better..thx

Connectez-vous pour commenter.

Plus de réponses (1)

Dyuman Joshi
Dyuman Joshi le 22 Jan 2024
Assuming the last element is not zero -
in = [0 2 3 5 1 6 0 0 3 4 7 2 0 6 2].';
idx = in==0;
while any(idx)
in(idx) = in([false; idx(1:end-1)]);
idx = in==0;
end
disp(in)
2 2 3 5 1 6 3 3 3 4 7 2 6 6 2

Community Treasure Hunt

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

Start Hunting!

Translated by