Extracting values from one column by specifying range for two other columns
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Venkatesh M Deshpande
am 26 Feb. 2014
Kommentiert: Venkatesh M Deshpande
am 27 Feb. 2014
Hi, I have a 556*4 matrix. I want to extract/display values from column 1 when -32.5<=x<=40 and 54.5<=y<=62.5 where x and y are 3rd and 4th column values of the same matrix. How can I do this? Other than using for and if loop, is there any other way?
If this is very basic question, then please tell which tutorial or manual should I refer to?
0 Kommentare
Akzeptierte Antwort
David Young
am 26 Feb. 2014
Using A to refer to your matrix, try
x = A(:, 3);
y = A(:, 4);
ok = -32.5 <= x & x <= 40 & 54.5 <= y & y <= 62.5;
results = A(ok, 1);
For documentation, give the command
doc
and in the help window look at MATLAB > Language Fundamentals > Matrices and Arrays
3 Kommentare
David Young
am 27 Feb. 2014
Yes, ok is logical. It has a true value in every row where the inequalities are all satisfied, and a false value in the other rows. When used as an index, only the rows with true values in ok are selected.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical 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!