How do I make an entire row in a table NaN?

18 visualizzazioni (ultimi 30 giorni)
FsC
FsC il 27 Ott 2022
Commentato: FsC il 27 Ott 2022
I am trying to make all values in specific rows of a table NaN.
My table (T) contains 4 columns (time, x position, y position, pressure). I use the value of the pressure to determine when X and Y are 'on' or 'off'. I then want to set all values in rows where it is 'off' to NaN
% get on and off T data
isOn = find(T.Pressure >0);
isOff = find(T.Pressure==0);
I have tried the following:
T(isOff,:) = NaN;
as well as:
for i = 1:length(isOff)
T(i,:) = NaN
end
But both give the error: Right hand side of an assignment into a table must be another table or a cell array.
What is the issue? Is there a way to do this using vectorization without having an extensive loop?
Thank you for your help!

Risposta accettata

David Hill
David Hill il 27 Ott 2022
T(isOff,:) = {NaN};%does this work?

Più risposte (1)

Voss
Voss il 27 Ott 2022
T{isOff,:} = NaN; % use curly braces {}

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by