Using a for loop for a structure

1 visualizzazione (ultimi 30 giorni)
Amanda Chun
Amanda Chun il 4 Feb 2018
Modificato: James Tursa il 4 Feb 2018
I have a 1x1 structure with 10 field elements 'trial1','trial2',etc. each field corresponds to a ~3000x3 matrix (the matrices are not all the same length). I want to manipulate the 3rd column of each matrice and return it back into the matrix and structure. So far I have the code below, but I'm getting an error "Reference to non-existent field 'field'." Does anyone know what I'm doing wrong? I'm pretty new to structures and cell arrays.
for field = fieldnames(s)
s.field{1}(:,3) = s.field{1}(:,3).*(1/pconv).*(1/Vin)+patm;
end
  1 Commento
Amanda Chun
Amanda Chun il 4 Feb 2018
Modificato: James Tursa il 4 Feb 2018
I believe I fixed it, needed to insert parentheses around "field". This works
for field = fieldnames(s)
s.(field{1})(:,3) = s.(field{1})(:,3).*(1/pconv).*(1/Vin)+patm;
end

Accedi per commentare.

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