Filter löschen
Filter löschen

how to change zero in series number

1 Ansicht (letzte 30 Tage)
Trop Trader
Trop Trader am 22 Jan. 2024
Kommentiert: Trop Trader am 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

Akzeptierte Antwort

Matt J
Matt J am 22 Jan. 2024
Bearbeitet: Matt J am 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

Weitere Antworten (1)

Dyuman Joshi
Dyuman Joshi am 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

Kategorien

Mehr zu Time Series 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