struct and getfield variable value

1 view (last 30 days)
Vincent I
Vincent I on 5 Jun 2013
Hi, I'm trying to get the value that's in the variable but I can only get to the name of the variable and not the actual value. Thank you
w = getfield(evalin('base','whos'),{13,1},'name')
w = Variable

Answers (2)

Image Analyst
Image Analyst on 5 Jun 2013
What workspace are you trying to import this variable (that lives in the base workspace) into? The workspace of one of your functions? How did a variable get into the base workspace anyway? Did you run a script and it left the variable in the base workspace, and now you're running a function, which has its own local workspace, and now you want to import the variable that your script left in the base workspace into the workspace of your function? If what I said totally confused you then you need to read up on workspaces. Also, look at the FAQ: http://matlab.wikia.com/wiki/FAQ#How_can_I_share_data_between_callback_functions_in_my_GUI.28s.29.3F
  1 Comment
Vincent I
Vincent I on 5 Jun 2013
Edited: Vincent I on 5 Jun 2013
yes, I left the workspace. I'm running in a different function and I'm trying to access the base ws where the variable was saved and get its value.
nvm.... its been a long day
evalin('base','variable')
no need for w = getfield(evalin('base','whos'),{13,1},'name')

Sign in to comment.


Jan
Jan on 5 Jun 2013
Trying to transport variables magically remote controlled is obviously a bad idea. Although it might work, I recommend not to do this:
w = getfield(evalin('base','whos'), {13,1}, 'name')
value = evalin('base', w)
Brrr. You would suffer.
  2 Comments
Vincent I
Vincent I on 6 Jun 2013
Sounds good Thank you
Daniel Shub
Daniel Shub on 6 Jun 2013
Did you miss the part where Jan said I recommend not to do this

Sign in to comment.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!