Creating structure using eval function - Part 2 Question

1 view (last 30 days)
Hello
This time I will make the question more specific
Laminate = struct('Raw', -1, 'ttm', -1, 'USD', zeros(3));
evalin('base','',Laminate,'')
Following error in matlab
??? Undefined function or method 'evalin' for input arguments of type 'struct'.
Error in ==> Laminator_ProV>LamDetailstToWorkSpace at 1405
evalin('base','',Laminate,'')
??? Error while evaluating uimenu Callback
Can some body help me, thanks in advance
  2 Comments
C.J. Harris
C.J. Harris on 6 Jul 2012
Are you sure it's 'evalin' you want to use and not 'assignin'?
Thulasi Durai Durai Samy
Thulasi Durai Durai Samy on 9 Jul 2012
Hello I tried with 'assignin'. I was not aware during that time, now I am using 'assignin'. I am satisfied, thanks

Sign in to comment.

Answers (1)

Jan
Jan on 9 Jul 2012
Edited: Jan on 9 Jul 2012
Laminate_local = struct('Raw', -1, 'ttm', -1, 'USD', zeros(3));
assignin('base', 'Laminate', Laminate_local)
I've addeded "_local" just to avoid further confusion.
Let me mention that I'd never use ASSIGNIN, EVALIN or their brothers, because they impede the debugging by letting the variables appear magically in the workspace. When these evail commands are used multiple times, it gets impossible to find out, where changes of the values are comming from. Much better, safer, cleaner, faster and nicer is transporting the variables as output of the function.

Categories

Find more on Debugging and Analysis in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!