Remove elements in Matrix

3 Ansichten (letzte 30 Tage)
Daniel
Daniel am 12 Okt. 2011
I plotted Position vs Time data. The user is then able to click and select points that are bad(noise). No problem so far. What is the best way to remove the selected points from the Position and Time matrices? I have a list of the indices for the points being removed.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 12 Okt. 2011
Position(TheIndices) = [];
Time(TheIndices) = [];
  4 Kommentare
Daniel
Daniel am 13 Okt. 2011
"Removing individual points from a matrix or array is usually more trouble than it is worth."
I am interested in removing individual points from a matrix.
I have no problem finding, selecting and removing the points... but I can't remove the points and maintain the shape of the matrix. I was I could delete a value and shift the column up... like in Excel! Just fill the missing value at the end with a zero or something.
My best solution so far is to replace the bad value with NaN. Matlab will not plot NaN... resulting in a gap in the graph. I can omit them when processing the data later in the program.
Any other ideas?
Walter Roberson
Walter Roberson am 18 Okt. 2011
if ~isempty(TheIndices)
sz = size(Position);
Position(TheIndices) = [];
Time(TheIndices) = [];
Position(prod(sz)) = 0; %0 fill
Time(prod(sz)) = 0; %0 fill
Position = reshape(Position,sz);
Time = reshape(Time,sz);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Line Plots 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