Accessing and editing workspace values in matlab code
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sadanand
el 8 de Jul. de 2011
Respondida: yasser
el 11 de Nov. de 2013
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,
0 comentarios
Respuesta aceptada
Friedrich
el 8 de Jul. de 2011
You code looks correct so far (little typo in the assignin command, it must be array instead of arraya). But I think this should be faster since you have to copy one value only:
function test(mystruct)
for i=1:1
assignin('base','tmp',mystruct(i).value)
cmd_string = [mystruct(i).name,'(',num2str(mystruct(i).rowIndex),',',num2str(mystruct(i).colIndex),')=tmp;clear tmp'];
evalin('base',cmd_string)
end
end
I tested it with:
a = [1 2 3 4]
mystruct.name = 'a'
mystruct.rowIndex = 1;
mystruct.colIndex = 1;
mystruct.value = 14;
test(mystruct)
Más respuestas (2)
Friedrich
el 8 de Jul. de 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 comentarios
Friedrich
el 8 de Jul. de 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')
yasser
el 11 de Nov. de 2013
am looking for value in some workspaces, can i get name of workspace and index of [row,col]? how to do that?
0 comentarios
Ver también
Categorías
Más información sobre Startup and Shutdown en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!