I am trying to plot a data that is streamed. It is saved in my logger only when particular value is changed.
For example:
loggedData = [1 NaN NaN 2 NaN NaN NaN 10 NaN NaN NaN];
actualData = [1 1 1 2 2 2 2 10 10 10 10];
time = [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10];
plot(time, loggedData)
plot(time, actualData)
I would like to plot(time, loggedData) but it would not work similar to plot(time, actualData). Changing from loggedData to actualData would increase the storage unnecessarily but only option I know as of now.
If I do a scatter plot, it would not connect with lines inbetween as I wanted.
Is there any solution?

 Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 19 Mai 2020
Bearbeitet: Ameer Hamza am 19 Mai 2020

0 Stimmen

loggedData = [1 NaN NaN 2 NaN NaN NaN 10 NaN NaN NaN];
time = [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10];
plot(time, fillmissing(loggedData, 'previous'))

2 Kommentare

Thanks. It works.
Ameer Hamza
Ameer Hamza am 20 Mai 2020
I am glad to be of help!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte

Version

R2019b

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by