Using intersect to assign a classification

1 visualización (últimos 30 días)
Kate
Kate el 4 de Jun. de 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 comentarios
Matt J
Matt J el 4 de Jun. de 2013
Editada: Matt J el 4 de Jun. de 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 el 5 de Jun. de 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!

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 5 de Jun. de 2013
Editada: Matt J el 5 de Jun. de 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 comentario
Kate
Kate el 5 de Jun. de 2013
That worked. Thank you for your help and sorry for being confusing.

Iniciar sesión para comentar.

Más respuestas (1)

the cyclist
the cyclist el 5 de Jun. de 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.

Categorías

Más información sobre Classification en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by