How can I find the threshold for a structure array?
2 次查看(过去 30 天)
显示 更早的评论
Hello all,
I want to find the threshold for various trials, contained in the structure "Target_Tr.". I have previously calculated the max value (X and Y) of the baseline. I would like to have as result a structure array containing the values after the threshold. I wrote this code, but the system gives me back the error message "Undefined operator '>' for input arguments of type 'struct'. What am I doing wrong?
Thank you very much
clear a
for a = 1:length(fields_trials)
Threshold_Target_X.(['a_' int2str(a)])=find([Target_Tr.(fields_trials{a})]>Target_Max_Y);
end
0 个评论
采纳的回答
Orion
2016-4-6
Hi,
Without knowing what your data looks like, it's hard to answer.
I tried this code and it works :
Target_Tr.s1 = rand(10,1);
Target_Tr.s2 = rand(10,1);
fields_trials = fieldnames(Target_Tr);
Target_Max_Y = 0.6;
clear a
for a = 1:length(fields_trials)
Threshold_Target_X.(['a_' int2str(a)]) = find([Target_Tr.(fields_trials{a})]>Target_Max_Y);
end
Does your structure Target has only "direct" subfields ( Target_Tr.s1 , Target_Tr.s2,...) ?
Because if you have somethig like
Target_Tr.s3.s1 = rand(10,1); % subfield of field
then the error message makes sense.
3 个评论
Orion
2016-4-6
That's really weird, because I just retried my code and it works.
If you first do a clear all, does this code work ?
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!