Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Faggin
    Registrato dal
    May 2008
    Messaggi
    65

    [Matlab] Chiamare funzione in sottocartella

    Qualcuno sa come posso richiamare una funzione contenuta dentro ad una sottocartella della workspaces di MATLAB?

    Mi spiego

    Sono in C:\Programmi\MATLAB7\work

    e sto facendo una funziona prova.m che richiami la funzione che si trova in C:\Programmi\MATLAB7\work\cartella\secondofile.m

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Una volta creato l'm-file con la definizione della funzione, devi settare l'ambiente in maniera tale che cerchi le funzioni anche nella directory che desideri (se non è una di quelle di default). Per questo ti basta fare

    file -> Set Path -> Add Folder

    e aggiungi la cartella che ti interessa. Poi con ok chiudi la finestra di dialogo appena aperta e con save per l'appunto salvi le impostazioni.

    Nel caso ti interessasse aggiungere una cartella con relative sottocartelle ti basta scegliere

    "Add with Subfolders"

    Fatto quello, ti basta semplicemente scrivere il nome della funzione dal prompt di comandi (ovviamente con relativi argomenti, se ne ha).

    Tutto ciò almeno con la versione 7.5, ma immagino che sia esattamente la stessa cosa con la 8 e con quelle non troppo precedenti.
    every day above ground is a good one

  3. #3
    Utente di HTML.it L'avatar di Faggin
    Registrato dal
    May 2008
    Messaggi
    65
    Si ma in questo modo setto l'ambiente, se dovessi passare ad un altro Matlab su un'altra macchina dovrei ripetere l'operazione?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Direi di sì, d'altra parte non ci vuole poi tanto. Forse c'è qualche problema che non ho ben colto...
    every day above ground is a good one

  5. #5
    Utente di HTML.it L'avatar di Faggin
    Registrato dal
    May 2008
    Messaggi
    65
    Devo fare una tesina e rendere il codice meno vincolante possibile, questa possibilità che hai presentato non fa al caso mio.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Scusa ma in generale quando si vuole eseguire uno script (ricordiamo che il MATLAB è interpretato) il sistema deve conoscerne la locazione... se dalla shell di Linux vuoi eseguire uno script bash, o questo si trova in una delle directory della variabile d'ambiente PATH, o nella directory di lavoro attuale oppure non c'è modo di eseguirlo... cosa simile per Windows, tra l'altro.

    Alternativamente a quello che ti ho detto quindi non c'è molto da fare... a limite, se non vuoi settare il path dell'ambiente matlab, puoi spostarti con il comando "cd" tra le directory fino a che non raggiungi la cartella dove hai messo la funzione da eseguire. Puoi controllare la directory attuale con pwd, e il suo contenuto con ls (come per la shell di Unix).

    Altre soluzioni davvero non penso ci siano :]
    every day above ground is a good one

  7. #7
    Utente di HTML.it L'avatar di Faggin
    Registrato dal
    May 2008
    Messaggi
    65
    forse CD fa al caso mio. ora provo.

    Grazie ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    127
    vedi anche il comando addpath se ti può essere utile....

    basta richiamarlo in uno script o funzione ed inserire il percorso a partire dalla posizione corrente per aggiungere il nuovo path.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.