How can I find everything between two values?

1 Ansicht (letzte 30 Tage)
Yunming Zhang
Yunming Zhang am 8 Jun. 2017
Kommentiert: Image Analyst am 10 Jun. 2017
let's say I have the array and I was given another 2 X N array for the location of a value in the array
  • a b c d
  • e f g h
  • i j k l
  • how do I find values between two values using for loop, for example: how to I find 'e' if I was given the location of a&i, and find'b c' with the location of a and d. The two known values will always be in the same row or column.

Akzeptierte Antwort

Image Analyst
Image Analyst am 8 Jun. 2017
Try this, with your two coordinates (row1, col1) and (row2, col2)
if row1 == row2 % Rows are equal
output = m(row1, col1+1:col2-1);
else % Columns are equal
output = m(row1+1:row2-1, col1);
end
You'll have to check and make sure that 1 and 1 are not the same row and column so that there is actually something in between them. And make sure that 2 has larger columns or rows than 1. I didn't put in that kind of pre-validation of the row and column indexes but it's easy to do.
  4 Kommentare
Yunming Zhang
Yunming Zhang am 9 Jun. 2017
what if I want to go left to right as well as right to left?
Image Analyst
Image Analyst am 10 Jun. 2017
What does that mean? If you just want row1 to be the max instead of the min, just swap min and max inside deal().

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by