Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

problema rapido Matlab

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

0
voti

[1] problema rapido Matlab

Messaggioda Foto Utenteedomar » 6 mar 2018, 21:44

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?
Avatar utente
Foto Utenteedomar
50 1 5
Frequentatore
Frequentatore
 
Messaggi: 140
Iscritto il: 9 lug 2013, 17:12

0
voti

[2] Re: problema rapido Matlab

Messaggioda Foto Utentegvee » 6 mar 2018, 22:09

Prova ad usare le variabili come globali:

https://es.mathworks.com/matlabcentral/ ... in-another
Avatar utente
Foto Utentegvee
1.470 5 7
Sostenitore
Sostenitore
 
Messaggi: 525
Iscritto il: 11 feb 2018, 20:34

0
voti

[3] Re: problema rapido Matlab

Messaggioda Foto Utenteedomar » 6 mar 2018, 22:13

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?
Avatar utente
Foto Utenteedomar
50 1 5
Frequentatore
Frequentatore
 
Messaggi: 140
Iscritto il: 9 lug 2013, 17:12

0
voti

[4] Re: problema rapido Matlab

Messaggioda Foto Utentegvee » 6 mar 2018, 22:21

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.
Avatar utente
Foto Utentegvee
1.470 5 7
Sostenitore
Sostenitore
 
Messaggi: 525
Iscritto il: 11 feb 2018, 20:34

0
voti

[5] Re: problema rapido Matlab

Messaggioda Foto UtenteDrCox » 7 mar 2018, 16:34

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_/
"The past is not really the past until it has been registered. Or put another way, the past has no meaning or existence unless it exists as a record in the present."
John Archibald Wheeler
Avatar utente
Foto UtenteDrCox
2.738 2 8 12
Master EY
Master EY
 
Messaggi: 744
Iscritto il: 8 giu 2010, 21:42


Torna a Programmi applicativi: simulatori, CAD ed altro

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti