First 2 rows contain the long/lat;third row contains the land/water values. I want to separate the files into land and water xyz files for bathymetry use therfore I need the negative values from the 3rd column and their respective rows. I would like to extract the whole row of data containing negative numbers in any of the columns. It has 9135x3 cells of data. Any idea how to do this?

 Réponse acceptée

KSSV
KSSV le 14 Juin 2021
Modifié(e) : KSSV le 14 Juin 2021
Let H be your third column.
idx = H<0 ; % get all negative values logical indices
lon1 = lon(idx) ;
lat1 = lat(idx) ;
H1 = H(idx) ;
If A is your data of size 9135x3.
iwant = A(A(:,3)<0,:) ;

7 commentaires

Gary Ong
Gary Ong le 14 Juin 2021
I am new to matlab so please pardon me.
I am getting this error,
Undefined operator '<' for input arguments of type 'table'.
KSSV
KSSV le 14 Juin 2021
Show us the whole code which gave you error.
idx = SG1<0 ;
lon1 = lon(idx) ;
lat1 = lat(idx) ;
h1 = h(idx) ;
Results = SG1(SG1(:,3)<0,:);
this is what I have right now
KSSV
KSSV le 14 Juin 2021
How you got SG1, lon, lat; thios is what matters for the error.
Gary Ong
Gary Ong le 14 Juin 2021
Modifié(e) : Gary Ong le 14 Juin 2021
H = SG1(:,3); % Land/Water Values
J = SG1(:,1); % Longitude
K = SG1(:,2); % Latitude
idx = H<0 ; <===Undefined operator '<' for input arguments of type 'table'.
lon1 = J(idx) ;
lat1 = K(idx) ;
h1 = H(idx) ;
Results = SG1(SG1(:,3)<0,:);
I am not sure if I am doing this right. Please guide me.
SG1 is my 9135x3 data which I imported as table. Do I need to convert it to an array?
H = SG1.(3); % Land/Water Values
J = SG1.(1); % Longitude
K = SG1.(2); % Latitude
idx = H<0 ;
lon1 = J(idx) ;
lat1 = K(idx) ;
h1 = H(idx) ;
Gary Ong
Gary Ong le 14 Juin 2021
It worked! Thank you for your patience and guidance! @KSSV

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB Support Package for USB Webcams dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by