Error using ==> eval
10 ビュー (過去 30 日間)
古いコメントを表示
Hi,
I am writing a code to compare several nested structures. Basically I need to compare all the values in cell (x,1) in every structure to the cell (x,1) in every other structure.
My issue right now is with organizing the output. I need the output to be a structure (output) that contains a structure for each subject (subject1) and I want that structure to be named according to a looping variable, x (representing the subject #) and then within that subject1 structure, I want structures for each of the comparison subjects (subject2), also named according to a looping variable, y.
Here is what I have written so far:
function output=hcp_compare(hcp)
output=zeros(843,1);
%for all subjects in x
for x=1:length(hcp)
%create subject name
subject1=eval(['subj' num2str(x)]);
%insert main subject name
output(x,1).(subject1)(1,1).name=hcp(x,1).name;
%then loop through evry subject and compare to x
for y=1:length(hcp)
%loop through evry cell in connMatVect and compare for evry xypair
subject2=eval(['subj' num2str(y)]);
for z=1:35778
output(x,1).(subject1)(2,1).comparisons(x,y).(subject2)(z,1)=(hcp(x,1).connMatVect(z,1)-hcp(y,1).connMatVect(z,1));
end
end
end
end
I want (subject1) and (subject2) to be replaced by subjx and subjy. But when I run the code, I get the following error:
??? Error using ==> eval
Undefined function or variable 'subj1'.
Error in ==> hcp_compare at 10
subject1=eval(['subj' num2str(x)]);
So I believe I'm missing something or not understanding something. Can anyone give some pointers?
1 件のコメント
Stephen23
2016 年 9 月 22 日
"I believe I'm missing something or not understanding something. Can anyone give some pointers?"
Don't use eval.
採用された回答
その他の回答 (1 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!