C'è un modo rapido (vale a dire una linea) per scaricare una raccolta di variabili "in" una struttura, utilizzando i nomi delle variabili come campi della struttura? Fondamentalmente la funzione "carica" lo fa, ma il salvataggio e il caricamento in un file temporaneo sembrano brutti.Come posso spostare le variabili dentro e fuori una struttura simile a LOAD e SAVE in MATLAB?
Ad esempio:
clear
a = 'adsf'
b = rand(10);
x = var2struct(a,b)
x.a
x.b
o meglio ancora:
x = var2struct(['a';'b'])
Inoltre, per quanto riguarda l'inverso (cioè lo scarico dei valori di campo all'ambito corrente come variabili denominate dopo i campi) ?:
clear
x.a='asdf'
x.b=rand(10);
dumpstruct(x)
a
b
Inoltre, ecco un relativo newsgroup thread.
non è possibile utilizzare Evalin ('chiamante', n) per la seconda versione di var2struct? Ad ogni modo, +1 per una bella soluzione che include tonnellate di Matlab avanzato. – Jonas
@Jonas: l'uso di 'evalin ('chiamante', n)' per la seconda versione di 'var2struct' potrebbe effettivamente eseguire la valutazione nella funzione che chiama' evalin', che sarebbe 'var2struct' stesso e non la funzione che chiama 'var2struct'. Ecco perché mi piace la prima versione di 'var2struct' meglio ... sembra solo più pulito e più versatile. – gnovice
D'oh !. Ricordo ora che ho fatto questo errore prima. – Jonas