Pagina 1 di 1

problema rapido Matlab

MessaggioInviato: 6 mar 2018, 21:44
da edomar
Ciao ragazzi, sapete se è possibile usare come inputs di una function tutti i dati memorizzati in un altro mfile senza fare un becero copia-incolla?

Re: problema rapido Matlab

MessaggioInviato: 6 mar 2018, 22:09
da gvee
Prova ad usare le variabili come globali:

https://es.mathworks.com/matlabcentral/ ... in-another

Re: problema rapido Matlab

MessaggioInviato: 6 mar 2018, 22:13
da edomar
Scusa la domanda, ma in questo modo non faccio prima a ricopiarle? Sono circa 10 variabili...
Io avevo pensato di inserire il nome delle variabili tra gli input della function e poi usare nel corpo della function un comando per "aprire" l'altro mfile in modo da avere tutte le variabili opportunamente definite... Esiste un comando del genere?

Re: problema rapido Matlab

MessaggioInviato: 6 mar 2018, 22:21
da gvee
edomar ha scritto:Io avevo pensato di inserire il nome delle variabili tra gli input della function e poi usare nel corpo della function un comando per "aprire" l'altro mfile in modo da avere tutte le variabili opportunamente definite...

Scusa ma non capisco il motivo di questa scelta.

Esiste un comando del genere?

Non lo so, mi dispiace.

Re: problema rapido Matlab

MessaggioInviato: 7 mar 2018, 16:34
da DrCox
Innanzitutto: cosa vuol dire "variabili definite in un m-file"? Un file .m è uno script/funzione, non un "contenitore" di variabili. I casi sono due:

1) Se le variabili sono contenute in un .mat, banalmente si fa il load del file .mat.
2) Sospetto che, invece, tu voglia caricare delle variabili che vengono definite ed inizializzate da un file .m.

In tal caso, visto che tali variabili non sono salvate in alcun posto prima che il file .m venga eseguito (altrimenti ti bastava caricare il .mat, come descritto sopra al punto 1), il file .m deve per forza essere eseguito, per ottenere tali variabili.

Ergo: la funzione che stai scrivendo deve innanzitutto invocare il file .m, che deve essere eseguito per inizializzare le variabili di tuo interesse. Poi potrai fare ciò che vuoi con tali variabili...
Diverso è il caso in cui tu abbia già eseguito il file .m. In tal caso non lo vuoi certamente eseguire due volte. Il comando
Codice: Seleziona tutto
whos
può tornarti utile.

O_/