Using intersect to assign a classification

1 visualizzazione (ultimi 30 giorni)
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 Commenti
Matt J
Matt J il 4 Giu 2013
Modificato: Matt J il 4 Giu 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 il 5 Giu 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!

Accedi per commentare.

Risposta accettata

Matt J
Matt J il 5 Giu 2013
Modificato: Matt J il 5 Giu 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 Commento
Kate
Kate il 5 Giu 2013
That worked. Thank you for your help and sorry for being confusing.

Accedi per commentare.

Più risposte (1)

the cyclist
the cyclist il 5 Giu 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.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by