Run a loop on struct field

3 Ansichten (letzte 30 Tage)
DavidL88
DavidL88 am 29 Jun. 2020
Bearbeitet: DavidL88 am 4 Jul. 2020
Hi
I am running a statistical analysis. I need to run the analysis multiple times for 6 different 'sensortypes'. This data is stored in a 2x1 struct with two fields called S. The data to be inputted is in the secomd field 'ROI_Sig'. Can anyone help with getting the loop to run in the script below?
for i = 1:length(S)
ROIData = S(i).ROI_Sig;
sFiles = bst_process('CallProcess', 'process_test_permutation2', sFiles5 sFiles6, ...
'sensortypes', ROIData, ...
end
  1 Kommentar
DavidL88
DavidL88 am 1 Jul. 2020
The script runs correctly if I delete the loop and replace i with any value 1-6 in the line ROIData = S(i).ROI_Sig;

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Neeraj Rajpurohit
Neeraj Rajpurohit am 30 Jun. 2020
Hi,
You can use the below mentioned command to get a string array of all the fields in a struct s.
fields = string(fieldnames(s))
Refer to the doc link belowfor more details
  1 Kommentar
DavidL88
DavidL88 am 30 Jun. 2020
Hi
Thank you for your reply. It is not the fieldname that I want to enter. It is the data within the field. Please see structure below. I want to make a loop to input each of the 6 rows from field ROI_Sig
S =
6×1 struct array with fields:
Region
ROI_Sig
ROI_Sig =
6×1 cell array
{'91, 92, 95, 96, 103'}
{'61, 67, 73, 74' }
{'113, 114' }
{'32, 34' }
{'127' }
{'41' }

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Structures finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by