Why does inequality give different values even though its evaluating the exact same matrix ??
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
HabenG
am 11 Dez. 2021
Kommentiert: Walter Roberson
am 11 Dez. 2021
Howcome these two yield different values ??
load td
version1 = sort(td(td(:,5) < 11.29))
t = (td(:,5));
version2 = sort(t(t < 11.29))
version1 - version2
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 11 Dez. 2021
sort(td(td(:,5) < 11.29))
td is a 2D array with multiple columns. You construct a mask from one of the columns, and you use it to index the entire td array -- which by linear indexing is going to effectively have it operate on the first column.
t = (td(:,5));
sort(t(t < 11.29))
but here you extract the column and your linear indexing is against the extracted version that only contains the one column.
2 Kommentare
Walter Roberson
am 11 Dez. 2021
version3 = sort(td(td(:,5) < 11.29, 5))
is a possible way. But your second version with a temporary variable works well and is easier to read.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!