finding index to a vector in structure

2 visualizaciones (últimos 30 días)
James McDaniel
James McDaniel el 1 de Oct. de 2015
Comentada: Jos (10584) el 1 de Oct. de 2015
Consider the following example:
f = struct
f(1).x = 5;
f(2).x = 1:10;
f(3).x = 1;
f(4).x = 2;
I wish to find an automated way of finding which element of the field x is a vector. In the example above, the answer is element 2. Thank you!

Respuesta aceptada

the cyclist
the cyclist el 1 de Oct. de 2015
I could not figure out a vectorize way to do this, but perhaps this loop is good enough:
n = size(f,2);
isVectorF = false(1,n);
for nv = 1:n,
isVectorF(nv) = not(isscalar(f(nv).x));
end
isVectorF is a logical with 0 = scalar and 1 = vector.
  1 comentario
Jos (10584)
Jos (10584) el 1 de Oct. de 2015
isVectorF = arrayfun(@(k) isvector(f(k).x) && numel(f(k).x)>1 ,1:numel(f))

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by