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

44 vues (au cours des 30 derniers jours)
FsC
FsC le 27 Oct 2022
Commenté : FsC le 27 Oct 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!

Réponse acceptée

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

Plus de réponses (1)

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

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by