Find differences between 2 tables
Show older comments
I have to tables, an old one and a new one.
Is there a function or a way to check what the differences are between 2 tables based on checking rows?

So in this example, my output needs to be row 2 cause the other rows are identical.
Accepted Answer
More Answers (2)
If your tables are the same size and both contain all numeric data, then this would work:
% create some tables:
t1 = table([1;2;3],[4;5;6],[7;8;9])
t2 = table([1;2;3],[4;15;6],[7;8;9])
% find rows that are different:
row_different = find(~all(t1{:,:} == t2{:,:},2))
ix=(any(A{:,:}~=B{:,:},2)&all(isfinite([A{:,:} B{:,:}]),2))|(all(isnan(A{:,:})~=isnan(B{:,:}),2));
This is somewhat tricky because NaN compares as isequal() to nothing, including itself so it will always show up.
Categories
Find more on Tables in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!