Encontrar cadena de caracteres en un arreglo de estructuras en MATLAB

Publicado el 08 noviembre 2010 por Evaristor

Se necesita encontrar la estructura que contenga el valor 'Paco' en el campo nombre del arreglo datos.

Primero generamos el arreglo datos:

>> datos = struct('nombre',{'Hugo' 'Paco' 'Luis'}) datos = 1x3 struct array with fields: nombre

Usamos la función arrayfun para poder aplicar la función strcmpi a cada elemento del arreglo:

>> esPaco = arrayfun(@(x)strcmpi(x.nombre,'paco'),datos) esPaco = 0 1 0

Opcionalmente, podemos encontrar el índice numérico:

>> indPaco = find(esPaco) indPaco = 2