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)

Kategorien

Mehr zu Startup and Shutdown finden Sie in Hilfe-Center und File Exchange

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