How to extract data meet specified condition from a matrix?

4 views (last 30 days)
Hello everyone, I have a text file which looks like below
DLS: 16-24-48-26W4 747.88 746 Sandstone
DLS: 16-24-48-26W4 746 744.88 Sandstone
DLS: 16-24-48-26W4 744.88 744.19 Sandstone
DLS: 16-24-48-26W4 744.19 741.63 Siltstone
DLS: 16-24-48-26W4 741.63 741.33 Mudstone
DLS: 16-24-48-26W4 741.33 740.96 Sandstone
DLS: 16-24-48-26W4 740.96 740.77 Mudstone
DLS: 16-24-48-26W4 740.77 739.74 Coal
DLS: 16-24-48-26W4 739.74 739.64 Mudstone and siltstone
DLS: 16-24-48-26W4 739.64 738.92 Sandstone
DLS: 16-24-48-26W4 738.92 738.74 Siltstone
DLS: 16-24-48-26W4 738.74 738.64 Coal
DLS: 16-24-48-26W4 738.64 738.55 Mudstone
DLS: 16-24-48-26W4 738.55 738.37 Coal
DLS: 16-24-48-26W4 738.37 737.87 Siltstone
DLS: 16-24-48-26W4 737.87 737.45 Siltstone
DLS: 16-24-48-26W4 737.45 737.23 Mudstone
DLS: 16-24-48-26W4 737.23 737.13 Siltstone
DLS: 16-24-48-26W4 737.13 737.08 Mudstone
DLS: 16-24-48-26W4 737.08 736.62 Coal
DLS: 16-24-48-26W4 736.62 735.89 Sandstone
DLS: 16-24-48-26W4 735.89 735.09 Sandstone
DLS: 16-24-48-26W4 735.09 734.48 Sandstone
DLS: 16-24-48-26W4 734.48 733.62 Sandstone
I wanna extract depth information for different types of rocks such as sandstone, claystone,coal etc. The depths are the third and fourth columns.I think there should be some ways to write a loop to extract these data, but I dont know how to do it. Please let me know if anyboday know how to do it or advice. Thanks.
  4 Comments
Lei
Lei on 26 Apr 2012
Hi Krishna,
I have no problem to import this data.I can use textscan. If I use textscan, the results would be in a cell.The thing is that I dont know how to use string variables.I will take a look at the strcmp one. Thanks for your help!

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 26 Apr 2012
You say "I am not importing these data into matlab." Have you considered Excel? It will be able to handle this, plus do sorting by rock type, various kinds of plotting, or whatever.
  4 Comments
Lei
Lei on 26 Apr 2012
B=arrayfun(@(x) strcmp(x,'sanstone'),{A{:,5}});
the returned result is zero. I guess the reason is that after I use textscan. My A{:,5} is not string cauz i looked at these data. they dont have quotaion marks

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by