Run a loop on struct field

1 次查看(过去 30 天)
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 个评论
DavidL88
DavidL88 2020-7-1
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;

请先登录,再进行评论。

采纳的回答

Neeraj Rajpurohit
Neeraj Rajpurohit 2020-6-30
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 个评论
DavidL88
DavidL88 2020-6-30
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' }

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Structures 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by