Help using logic to edit table
9 views (last 30 days)
Show older comments
Hi,
I have a table indicating when high and low tides occur. I am trying to split the table in two: creating a table with only high tide information, and another table with only low tide information. There is a column in my main table that has either the letter H or L indicating high or low tides. There might be a better way to do this, and if so please feel free to share — my approach is to duplicate the main table and delete the rows associated with either H or L. I wrote the following code, but it does not work.
for row = 1:height(high_tides) if high_tides.High_Low == "L" high_tides(:) = [] end end
Can someone tell me what I’m doing wrong? Or is there a better way to go about this?
Thank you!
1 Comment
VBBV
on 8 Apr 2025
if you want to delete the specfic rows that match "L" then you can use row index as below
for row = 1:height(high_tides)
if strcmp(high_tides.High_Low,"L") % strcmp
high_tides(row,:) = [];
end
end
high_tides
Accepted Answer
Paul
on 8 Apr 2025
T = table(["H";"L";"H";"L"],(1:4).','VariableNames',["Tide","Height"])
Thigh = T(T.Tide=="H",:)
Tlow = T(T.Tide=="L",:)
Or, if you want to duplicate the main table and then delete
Thigh = T;
Thigh(T.Tide=="L",:)=[]
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!