¿Hay una forma rápida (es decir, una línea) de volcar una colección de variables "en" una estructura, usando los nombres de las variables como campos de estructura? La función "cargar" básicamente hace esto, pero guardar y cargar en un archivo temporal parece feo.¿Cómo puedo mover variables dentro y fuera de una estructura similar a LOAD y SAVE en MATLAB?
Por ejemplo:
clear
a = 'adsf'
b = rand(10);
x = var2struct(a,b)
x.a
x.b
o mejor aún:
x = var2struct(['a';'b'])
Además, lo que sobre el reverso (es decir, vertido los valores de campo al ámbito actual como variables con nombres de los campos) ?:
clear
x.a='asdf'
x.b=rand(10);
dumpstruct(x)
a
b
Además, hay un archivo relacionado newsgroup thread.
No se puede utilizar evalin ('persona que llama, n) para el segunda versión de var2struct? De todos modos, +1 para una hermosa solución que incluye toneladas de Matlab avanzado. – Jonas
@Jonas: usar 'evalin ('caller', n)' para la segunda versión de 'var2struct' en realidad realizaría la evaluación en la función que llama a' evalin', que sería 'var2struct' y no la función que llama 'var2struct'. Es por eso que me gusta más la primera versión de 'var2struct' ... parece más limpia y más versátil. – gnovice
D'oh !. Recuerdo que ya cometí ese error. – Jonas