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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

David Hill
David Hill am 27 Okt. 2022

0 Stimmen

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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by