Matlab Input

di il
4 risposte

Matlab Input

Salve, mi servirebbe sapere come richiamare script in output dopo aver immesso un input come utente, in pratica con il comando
x=input('string') ho visto che si può visualizzare a schermo una domanda e poi dare un input come utente, ora con questo input che do vorrei richiamare uno script, o meglio ancora vorrei cambiare directory per far si che poi richiamando lo script, me lo esegua.
Per capirci
x=input('...')
y=cd(C:\x)
script (richiamo lo script che si trova nella cartella x per farlo eseguire)

E' possibile fare una cosa del genere, ovviamente la mia è una sintassi sicuramente sbagliata. Scusate la poca chiarezza
Vi ringrazio.

4 Risposte

  • Re: Matlab Input

    Non è del tutto chiaro quello che vuoi fare.
    Anche se la cartella "C:\x" contenga solo lo script che vuoi eseguire, devi comunque specificarne il "nome" per lanciarlo, quindi: come definisci il nome dello script da eseguire?

    Di principio, non è necessario "spostarsi" nella cartella che contiene uno script per eseguirlo, la cosa migliore da fare è inserire la directory che contiene lo script che vuoi eseguire nel "path" di MatLab (), in questo modo puoi eseguire gli script che si trovano in essa senza doverti "spostare" nella cartella stessa.

    In alternativa, potresti usare la funzione "run" , ma non te lo consiglio.

    Sarebbe più opportuno rivedere la logica del codice che vuoi scrivere e gestire meglio la selezione dello script da eseguire.
  • Re: Matlab Input

    Cerco di essere più chiaro, in pratica io ho uno script Master che si riferisce ad un elemento chimico. Questo script richiama all'interno altri script che si trovano tutti nella cartella che uso come directory in cui c'è anche lo script Master.
    L'obiettivo mio è generalizzare lo script Master per ogni elemento chimico che ho, affinchè dando un input con l'elemento chimico, lo script mi esegue i calcoli per quell'elemento.
    Quindi la mia idea era,innanzitutto dare in input il nome dell'elemento chimico, ad esempio "Metano", a questo punto io vorrei che il programma riconoscesse lo script denominato Metano.m e lo eseguisse. E' possibile? Mi organizzerei tutti gli elementi chimici e gli script relativi in varie cartelle, denominate magari proprio col nome stesso dell'elemento.
  • Re: Matlab Input

    Oppure in ogni cartella di ogni elemento, chiamare con lo stesso nome lo script Master, e dare l'input col nome della cartella, per cui poi fare path('newpath',path) e praticamente l'input dovrebbe essere il newpath, ma non so se me lo riconosce e come fare, dopodichè scrivere il nome dello script Master da lanciare.
  • Re: Matlab Input

    Assumendo che tutti gli script che vuoi eseguire siano all'interno di cartelle inserite nel path di MatLab e che gli script in cartelle diverse abbiano nomi diversi tra lo, una possibile, semplice soluzione potrebbe essere creare uno "switch" che, n base all'input dell'utente chiami lo script desiderato.

    Non mi è chiaro se quello che chiami "master" sia uno script generico dal quale partire o specifico per ogni "elemento", ma, di principio, potresti provare ad utilizzare (come ho detto non saprei in quale dei tuoi script inserire questo codice)

    Questa è una versione semplificata, dovresti aggiungere una serie di controlli per verificare la validità dell'input ecc.
    
    % Richiesta del nome dell'elemento
    el=input('Inserire nome elemento: ','s')
    % Switch per la selezione dello script da attivare
    switch(el)
       case 'metano'
          metano
       case 'butano'
          butano
       otherwise
          disp('Input non valido')
    end
    
Devi accedere o registrarti per scrivere nel forum
4 risposte