how can I check if there is a cell in a structure?

4 visualizzazioni (ultimi 30 giorni)
Hello,
I have a structure that is dynamically filled through a for loop if certain conditions are met. It happens, however, that if the for loop reaches the end and the condition is not respected, I have a structure with a field that has one less element. How can I automatically check if this field has been completely filled?
for example in the code below it is verified that the cell 'struct.hi (1,2)' does not exist because the condition has not been respected. When I run under the control with 'isempty' and I get to the third cell I get this error: Index in position 2 exceeds array bounds (must not exceed 1).
x=[2,4,5];
for i=1:2
if expression
struct.hi(1,i)=x;
end
end
for j=1:2
if isempty(struct.hi(1,i)==0)
istructions
end
end

Risposta accettata

Sindar
Sindar il 29 Gen 2020
Check the size of struct.hi. If the second dimension is size 1, then the struct.hi(1,2) doesn't exist
if size(struct.hi,2) == 1
Also, I wouldn't use struct as a variable name, since it is an important built-in
  1 Commento
Gianmarco Manzo
Gianmarco Manzo il 29 Gen 2020
ok I try. Oh yes, it was only and example name. In reality my struct's name is FC. Thx.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by