Please how can I unstack a column of negative and positive values into 2 columns of positive and negative values respectively?

2 visualizzazioni (ultimi 30 giorni)
sr=[-34;45;28;-10;-9]. s=sign(sr). I want to obtain sr1=[-34;-10;-9] and sr2=[45;28]

Risposta accettata

dpb
dpb il 7 Lug 2016
p=sr(sr>0); % positive only
n=sr(sr<0); % negative only, you'll have to decide where zero goes if it exists...
or,
ix=sr>0; % logical vector
p=sr(ix);
n=sr(~ix); % eliminate the test once at expense of temporary variable

Più risposte (1)

Jan Orwat
Jan Orwat il 7 Lug 2016
You can compare your data with zero. This will classify your data and you can use it to get what you want.
Example based on your example data:
sr = [-34;45;28;-10;-9];
positive = (sr >= 0);
sr1 = sr(~positive); % ~ in Matlab represents negation
sr2 = sr(positive);

Categorie

Scopri di più su Tables in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by