Clear Filters
Clear Filters

Using intersect to assign a classification

1 view (last 30 days)
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 Comments
Matt J
Matt J on 4 Jun 2013
Edited: Matt J on 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 on 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!

Sign in to comment.

Accepted Answer

Matt J
Matt J on 5 Jun 2013
Edited: Matt J on 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 Comment
Kate
Kate on 5 Jun 2013
That worked. Thank you for your help and sorry for being confusing.

Sign in to comment.

More Answers (1)

the cyclist
the cyclist on 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!