Using intersect to assign a classification

1 Ansicht (letzte 30 Tage)
Kate
Kate am 4 Jun. 2013
Hi there!
I've created a classification matrix and have used intersect to find the common cell, but the problem is that I want the information in the cell next to it.
Example:
US-Goo US-Ha1 US-Ha2
GRA DBF ENF
What I have:
a=length(landclass)
IGBPclass=intersect(sitename, landclass)
IGBPclass='US-Ha1'
Ideally I want IGBPclass to be the second 3 letter classification.
Thanks!
  2 Kommentare
Matt J
Matt J am 4 Jun. 2013
Bearbeitet: Matt J am 4 Jun. 2013
Show us sitename and landclass. Show the result you are getting. Show the result that you want. Why do you overwrite IGBPclass in the 3rd line of code,
IGBPclass='US-Ha1'
Kate
Kate am 5 Jun. 2013
The sitename is US-Ha1
The landclass that encapsulates this site is DBF.
I would like the IGBPclass to be DBF, not US-Ha1.
The third line is the output of the intersect function.
I've tried the 'rows' syntax in an attempt to grab the matching data, but get this error message.
"Warning: The 'rows' input is not supported for cell array inputs. > In cell.intersect>cellintersectlegacy at 154 In cell.intersect at 143 "
Thanks for your help!

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 5 Jun. 2013
Bearbeitet: Matt J am 5 Jun. 2013
The third line is the output of the intersect function.
That's very confusing since we cannot distinguish it from other lines of code. This is how you should show contents of variables to the public,
>> landclass, sitename
landclass =
'US-Goo' 'US-Ha1' 'US-Ha2'
'GRA' 'DBF' 'ENF'
sitename =
US-Ha1
If the above is the form your data is in, I suspect you are trying to do this:
>> logicalIndex=ismember(landclass(1,:),sitename);
>> IGBPclass=landclass{2,logicalIndex}
IGBPclass =
DBF
  1 Kommentar
Kate
Kate am 5 Jun. 2013
That worked. Thank you for your help and sorry for being confusing.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

the cyclist
the cyclist am 5 Jun. 2013
I don't fully understand what you are trying to do. However, if you read
doc intersect
you will see that you can call that command with more than one output. The second and third outputs are the indices for the elements that are in the intersection of the two sets. Maybe you can use those indices to do what you want.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by