Accessing and editing workspace values in matlab code
Afficher commentaires plus anciens
I need to search a variable in workspace and edit its value at some specific index. How do i access, edit that variable and save new value back to workspace. Thanks,
Réponse acceptée
Plus de réponses (2)
Friedrich
le 8 Juil 2011
I think what you are looking for is the evalin command. So something like
evalin('base','a=3')
Or if you really have to search you can do:
var = evalin('base','whos;')
6 commentaires
Sadanand
le 8 Juil 2011
Friedrich
le 8 Juil 2011
You can do it this way:
%base workspace
base_array = 1:10;
%do this in function
array = evalin('base','base_array;')
array(3) = 37;
assignin('base','base_array',array)
But this will copy the full array everytime.
Friedrich
le 8 Juil 2011
Or when single value is needed:
array_at_index = evalin('base','base_array(3);')
array_at_index = array_at_index * 2;
assignin('base','tmp',array_at_index)
evalin('base','base_array(3) = tmp;clear tmp;')
Sadanand
le 8 Juil 2011
Friedrich
le 8 Juil 2011
Sure evalin('base',x) throws an error since x is not present it the ML workspace. you have to ways here how to proceed and both are stated above:
1.) assignin('base','ABC',x) %will overwrite variable ABC with the values of x
2.)assignin('base','x',x) %copy the variable in the ML Workspace
evalin('base','ABC(some_index) = x; clear x')
Sadanand
le 8 Juil 2011
yasser
le 11 Nov 2013
0 votes
am looking for value in some workspaces, can i get name of workspace and index of [row,col]? how to do that?
Catégories
En savoir plus sur Data Import and Export dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!