Change certain values in an array to a word

Hello, I have a certain array, 72221x1 (called time), and I want to configure it so if time/ every row does not have a value equal to -2,-10,-30,2,10,30, and another variable at which PP does not equal 0, the time array would output "outlier" at these locations, and replace the value that does not meet the condition.

1 commentaire

Jan
Jan le 27 Oct 2022
What does "at which PP does not equal 0" mean? Is the time array a double vector? Then whar does 'output "outlier"' mean?

Connectez-vous pour commenter.

 Réponse acceptée

David Hill
David Hill le 27 Oct 2022
Not sure why you want a mixed array of numbers and strings (not a good idea).
idx=~ismember(T,[-2 -10 -30 2 10 30])&PP~=0;%logical of time array meeting condition, logical true == "outlier"

5 commentaires

How would I make 'outlier' pop up on the time array for rows that met the condition?
You could use a number flag like nan==not a number rather that a char array 'outlier' which is not compatible with matrices of numbers.
l=[-2 -10 -30 2 10 30,randi(50,1,10)];
T=[];
for k=1:10
T=[T,l(randperm(16,10))];%sample T
end
PP=randi(2,1,100)-1%sample PP
PP = 1×100
0 0 0 1 0 1 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 1 0 1 0 0 1
T
T = 1×100
26 -10 26 15 -30 10 30 -2 26 36 -2 10 10 26 -30 -10 30 15 2 36 10 -2 2 30 -30 26 26 -10 10 17
idx=~ismember(T,[-2 -10 -30 2 10 30])&PP~=0;
T(idx)=nan
T = 1×100
26 -10 26 NaN -30 10 30 -2 26 36 -2 10 10 26 -30 -10 30 15 2 36 10 -2 2 30 -30 26 NaN -10 10 NaN
Im using NaN for points at which PP=0, is there any other thing simiilar to nan i could use
A number flag like inf or -inf
a=[1 2 -inf 3 5 inf]
a = 1×6
1 2 -Inf 3 5 Inf
Thank you very much, it looks good now

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by