Error using ==> eval
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
M K
el 22 de Sept. de 2016
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 comentario
Stephen23
el 22 de Sept. de 2016
"I believe I'm missing something or not understanding something. Can anyone give some pointers?"
Don't use eval.
Respuesta aceptada
Más respuestas (1)
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!