How to check if a element of a struct is empty?

100 visualizaciones (últimos 30 días)
Benson Gou
Benson Gou el 14 de Oct. de 2020
Comentada: Ameer Hamza el 15 de Oct. de 2020
Dear All,
I defined a struct and initialize it in the following way.
Res_All_Meas = struct([]);
[Res_All_Meas(1000).ind] = 0;
[Res_All_Meas(1000).res] = 0;
[Res_All_Meas(1000).xline] = 0;
[Res_All_Meas(1000).colnum] = 0;
Now in an iteration, I want to check if Res_All_Meas(i) is empty or not. If it is empty, I will assign some valeus to it.
Thanks a lot.
Benson
  3 comentarios
Benson Gou
Benson Gou el 14 de Oct. de 2020
Editada: Benson Gou el 14 de Oct. de 2020
Yes, I want to check if the field contents are empty. The field contents for Res_All_Meas(i) are zero before Res_all_Meas(i) is assigned a value. But how?
Thanks.
Beneon
Stephen23
Stephen23 el 15 de Oct. de 2020
"I want to check if the field contents are empty."
See my answer.
"The field contents for Res_All_Meas(i) are zero before Res_all_Meas(i) is assigned a value."
Not in your example. What you showed has all fields of every structure element Res_All_Meas(1:999) containing empty numeric arrays, and the last element Res_All_Meas(1000) for which each field contains 0.

Iniciar sesión para comentar.

Respuestas (2)

Ameer Hamza
Ameer Hamza el 14 de Oct. de 2020
  2 comentarios
Benson Gou
Benson Gou el 14 de Oct. de 2020
I used isempty and tried several ways, but does not work. I think the isempty() works for number arrays.
Thanks a lot.
Benson
Ameer Hamza
Ameer Hamza el 15 de Oct. de 2020
You need to apply isempty on a particular field of a struct. Something like this
tf = ismpty(Res_All_Meas(1).ind)

Iniciar sesión para comentar.


Stephen23
Stephen23 el 15 de Oct. de 2020
Editada: Stephen23 el 15 de Oct. de 2020
fun = @(s) all(structfun(@isempty,s)); % check the fields of a scalar structure.
idx = arrayfun(fun,Res_All_Meas); % indices of those structure elements with ALL fields empty.

Categorías

Más información sobre Structures 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