How do I slice a matrix by the values in a certain column?

10 vues (au cours des 30 derniers jours)
Heidi Hirsh
Heidi Hirsh le 12 Avr 2019
I have a large "master" table that I read in as a matrix. I wanted to create new matrices for each "height" value (there are 5: S, 1T, 10B, 4B, and 1B). Right now I have done this the "dumb" way by just sorting by height and creating new csv tables to read in but that is not a good solution at all. Is there a way to loop through the matrix and save all the rows for appropriate heights? (or another parameter that I want to group/sort by).
I have attached a screenshot of the table I am working with.
I hope you can understand my question. I am having a hard time putting what I want to do into words...
This is how I am reading in data so far...
weekly = readtable('MasterSampleLog_weekly_v1_withNO3.csv');
samples.SampleID = weekly.Sample_ID;
samples.TA = weekly.TA;
samples.DIC = weekly.DIC;
samples.Temp = weekly.Temperature;
samples.Sal = weekly.SAL;
samples.Height = weekly.height;
samples.PH = weekly.ph;
  1 commentaire
darova
darova le 12 Avr 2019
Look for strcmp(), regexp(). Use curly braces to select data in table (weekly{:,1})

Connectez-vous pour commenter.

Réponses (1)

Oluwafemi
Oluwafemi le 11 Mar 2024
B = [0.02,4.88,-3.21,2;0.56,3.9,-2.7,2;0.91,2.2,0.13,1;1.43,0.41,-1.02,3;0.00,1.9,-3.4,2;2.7,0.5,-4.0,3]
% to get the matrix where 4th column == 2
B(B(:,4)==2,:)

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by