How can I remove rows in a matrix with a range of value that I do not want?

16 ビュー (過去 30 日間)
Daryna Butash
Daryna Butash 2020 年 1 月 12 日
回答済み: Walter Roberson 2020 年 1 月 12 日
Hi sorry if this is a simple question but I am struggling to work my script. I have a huge dataset with over 40 million points and 20 columns. One is for depth and I am trying to remove values above 6m and below 10m and only keep the rows which have a range of -10m to -6m in depth (depth is in column 4).
I have this so far but i am unsure what to do next and I am really struggling in trying to source a range of values.
clc
close all
Z=readmatrix('filename.txt');
%z = (Z>-6.0);
%z = (Z()<-10.0);
Z(Z(:,4)>-6.0) = NaN;
Z(Z(:,4)<-10.0) = NaN;
Z(any(isnan(Z),:20),:) = [];
Many thanks for any help.

採用された回答

Walter Roberson
Walter Roberson 2020 年 1 月 12 日
depth = Z(:, 4);
mask = depth >= -10 & depth <= -6;
Z = Z(mask, :);

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by