Please help extract values from a struct
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Joel Ogualiri
el 24 de Abr. de 2020
Comentada: Ameer Hamza
el 24 de Abr. de 2020
Hi all, I created a struct using a for loop and need to extract values from it. So for instance, for field T with value = 728, it would produce the first row as shown in the photo.
Thanks
code
for CPR = 10:10:50
for BPR = 4:1:9
for FPR = 0.5:0.1:2
for TO4 = 500:200:1300
for m = 80:20:400
[ST,TSFC,T,] = turbofan(CPR,BPR,FPR,TO4,m)
Data(count).CPR = CPR;
Data(count).BPR = BPR;
Data(count).FPR = FPR;
Data(count).TO4 = TO4;
Data(count).ST = ST;
Data(count).TSFC = TSFC;
count = count+1;
end
end
end
end
end
2 comentarios
Turlough Hughes
el 24 de Abr. de 2020
The first row as shown in the photo
So you want to find the index in field T where the value is close to 728 and then return values from all other fields corresponding to that index?
Respuesta aceptada
Ameer Hamza
el 24 de Abr. de 2020
Editada: Ameer Hamza
el 24 de Abr. de 2020
You can read about details of struct array here: https://www.mathworks.com/help/matlab/matlab_prog/create-a-structure-array.html. To access the field T in the first row, you can access it like this
Data(1).T
Edit:
To extract the rows close to 728, you can use something like this
value = 728;
tolerance = 0.005; % tolerance of value around 728
idx = abs([s.T] - value) < tolerance;
new_Data = Data(idx);
6 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Structures en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!