How can I remove empty cells from struct data?

55 vues (au cours des 30 derniers jours)
Bob
Bob le 5 Avr 2023
Commenté : Jon le 6 Avr 2023
How can I remove empty cells from struct data?
I have tried to use this but it didn't work.
Charge(Charge==0) = [];
  2 commentaires
Oguz Kaan Hancioglu
Oguz Kaan Hancioglu le 5 Avr 2023
You need to build for loop to check the filed of struct is empty or not. You can use this code.
k = 1;
for i = 1:length(Charge)
if ~isempty(Charge(i).Voltage_measured)
ChargeNew(k).Voltage_measured = Charge(i).Voltage_measured;
ChargeNew(k).Current_measured = Charge(i).Current_measured;
ChargeNew(k).Temperature_measured = Charge(i).Temperature_measured;
ChargeNew(k).Current_charge = Charge(i).Current_charge;
ChargeNew(k).Voltage_charge = Charge(i).Voltage_charge;
ChargeNew(k).Time = Charge(i).Time;
k = k + 1;
end
end
Bob
Bob le 6 Avr 2023
Thank you for your answer.

Connectez-vous pour commenter.

Réponse acceptée

Jon
Jon le 5 Avr 2023
fun = @(s) all(structfun(@isempty,s));
idx = arrayfun(fun,Charge)
Charge(idx)=[]; % remove the empty elements
  3 commentaires
Bob
Bob le 6 Avr 2023
Thank you for your answer
Jon
Jon le 6 Avr 2023
Your welcome

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Structures dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by