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

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

댓글을 달려면 로그인하십시오.

 채택된 답변

Paul
Paul 2025년 4월 8일

0 개 추천

T = table(["H";"L";"H";"L"],(1:4).','VariableNames',["Tide","Height"])
T = 4x2 table
Tide Height ____ ______ "H" 1 "L" 2 "H" 3 "L" 4
Thigh = T(T.Tide=="H",:)
Thigh = 2x2 table
Tide Height ____ ______ "H" 1 "H" 3
Tlow = T(T.Tide=="L",:)
Tlow = 2x2 table
Tide Height ____ ______ "L" 2 "L" 4
Or, if you want to duplicate the main table and then delete
Thigh = T;
Thigh(T.Tide=="L",:)=[]
Thigh = 2x2 table
Tide Height ____ ______ "H" 1 "H" 3

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

제품

질문:

2025년 4월 8일

댓글:

2025년 4월 8일

Community Treasure Hunt

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

Start Hunting!

Translated by