Elementi base di matlab

di il
20 risposte

Elementi base di matlab

Come faccio a lanciare ciò che ho scritto nell'editor??Come salvo ciò che ho scritto se non mi da errore?Cos'è la current directory???

20 Risposte

  • Re: Elementi base di matlab

    1. Ci sono 3 modi: se vuoi lanciare riga per riga (anche più righe insieme) selezioni le righe che vuoi e premi F9. Altrimenti, per lanciare tutto il blocco di codice o CTRL+INVIO oppure il tasto con il triangolo verde che sta sulla barra in alto (tipo un play).
    2. Dopo che hai scritto il codice nell'editor c'è un tastino con il simbolo del dischetto per salvare. Dai il nome che vuoi al file, cerca di evitare gli spazi nei nomi dei file o caratteri strani (es. caratteri accentati)
    3. La current directory è la "cartella corrente" cioè quella in cui ti trovi per lavorare. Quella di default si chiama Matlab e si trova nella cartella dei documenti (in C:), ma puoi sceglierne un'altra in cui salvare tutti i file, o creartene una diversa per ciascun progetto.
    Questo perché se il tuo codice richiama delle funzioni o lavora su dei file (immagini, video, file di testo) questi devono in genere essere nella cartella dove si trova il codice principale.
  • Re: Elementi base di matlab

    Ho provato ma non riesco a lanciare i comandi nella common window, mi crea solo la variabile...
  • Re: Elementi base di matlab

    Aspetta, forse ti stai confondendo... quello che ti ho scritto sopra vale per l'editor.
    Nella barra in alto c'è l'icona con il foglio bianco per aprire un nuovo file.
    Clicca sul quel pulsante, ti si apre una pagina bianca, scrivi lì, ad esempio:
    a=2;
    b=3;
    c=a+b;
    E' come se stessi scrivendo su word, le righe di codice rimangono lì, puoi salvarle e modificarle. Quindi, se vuoi, salva il file, chiamalo prova.m così potrai riprenderlo in un secondo momento.
    ora evidenzia la prima riga e premi F9.
    Dovresti veder comparire sulla destra nella finestrella che si chiama "workspace" la variabile a.
    Poi fai la stessa cosa con le altre due righe, anche insieme, e dovresti veder comparire b e c.
    Quella a cui ti riferisci tu è la command window che si trova in basso, che serve per scrivere il codice "al volo", come se stessi scrivendo nel prompt dei comandi: quello che scrivi viene lanciato nel momento in cui premi invio e non puoi salvare quello che scrivi per riaprirlo e lavorarci in un secondo momento. Tutto quello che lanci con l'F9 lo vedi comparire anche lì.
    se aggiungi una riga (nell'editor):
    disp('il valore di c è:',num2str(c));
    dovresti veder comparire nella command window il valore di c.
  • Re: Elementi base di matlab

    Okk...
    Ho dei dubbi però abbastanza stupidi credo...
    1) Quando scrivo nell'editor ciò che scrivo dove mi conviene salvarlo? Posso creare una cartella dove voglio??Deve corrispondere a quella della current directory?
    2) Il secondo problema eè che quando lancio con ciò che ho scritto ne''editor mi crea solo le variabili, non calcola niente nella commond window...Possibile??Quale potrebbe essere il problema?
  • Re: Elementi base di matlab

    1) Puoi salvarlo dove vuoi, nella cartella di default o in una cartella a tua scelta. Quando entri in matlab, prima di cominciare a lavorare devi controllare che la current directory corrisponda alla cartella dove hai i file del tuo progetto. In caso contrario la modifichi dalla barra in alto.
    2) Matlab ti crea le variabili, che vedi nel workspace. Quando fai dei calcoli, devi assegnarli a delle variabili, nel caso di prima c=a+b;
    se vuoi "vedere" il valore di c nella command window, scrivi c (o il nome della variabile che vuoi vedere) e premi invio.
  • Re: Elementi base di matlab

    Okkkkkkkkkkk...
    Se ad esempio volessi analizzare dei dati che sono salvati in excel o altro formato e che stanno sul desktop o in un'altra cartella..la current directory deve corrispondere a questa cartella??E ciò che scrivo nell'editor mi conviene salvarlo nella stessa cartella?
  • Re: Elementi base di matlab

    No, se hai un solo file, che si trova in un'altra cartella che vuoi lasciare lì per qualche motivo, e che non vuoi mischiare con altri file contenenti il codice non c'è problema perché puoi indicare a matlab tutto il percorso dove andare a cercare il file (C:\Documenti\Cartella1\ecc...).
    Quindi è una scelta tua, di come preferisci che siano ordinati i tuoi file all'interno del tuo computer.
    Se i codici relativi ad uno stesso progetto sono tutti nella stessa cartella sarebbe meglio.
  • Re: Elementi base di matlab

    Ok perfetto!!!
    Il mio file di cui voglio riportare in matlab dei dati che devo analizzare è così fatto...
    Ho una tabella excel..sulla prima riga sono riportati i nomi di alcuni titoli finanziari, sulla prima colonna delle date settimanali. I dati, i valori che devo analizzare sono riferiti ai prezzi di ogni titolo per diversi istanti temporali...ora io devo calcolare i rendimenti??Posso impostare una formula io??Che sarebbe rt=ln(pt)-ln(pt-1) dove rt è il rendimenti in ogni istante temporate, pt è il prezzo al tempo t, pt-1 al tempo t-1 ed ln è il logaritmo naturale...oppure c'è un toolbox specifico in cui posso trovare una funzione che mi calcola direttamente i rendimenti..come faccio a trovarlo?
  • Re: Elementi base di matlab

    Ci sono dei toolbox specifici, io non li ho mai usati.
    Puoi provare a cercare sull'help. Comunque la formula mi sembra abbastanza semplice da poterla implementare direttamente, con un ciclo for.
    Per leggere il file excel devi usare la funzione xlsread. Qualche post sotto mi sembra che una persona stia facendo esattamente quello che devi fare tu, dai un'occhiata lì per vedere come usare la funzione.
  • Re: Elementi base di matlab

    Okkkkkkkkk grazie!!!
  • Re: Elementi base di matlab

    Figurati!
  • Re: Elementi base di matlab

    Ho cercato di eseguire l'operazione con il ciclo for ma non mi trovo...praticamente il ciclo for end è un ciclo che esegue una stessa operazione un numero finito di volte??
    Ho scritto così...Ad esempio ho una matrice 3*4...
    for i=1:2
    for i=1:4
    B(i,j)=log(i,j)-log(i-1,j)
    end
    end
    ??? Error using ==> log
    Too many input arguments.
  • Re: Elementi base di matlab

    Perché come argomento del log devi mettere l'elemento della matrice:
    ad esempio:
    A(i,j) è l'elemento della matrice A nella posizione i,j. Quindi per farne il logaritmo:
    log(A(i,j))
    Devi poi stare attento al fatto che quando i=1, i-1=0. Anche qui ti darà errore perché A(0,1) non esiste, quindi devi un po' ingegnarti per risolvere il problema.
  • Re: Elementi base di matlab

    Per il secondo errore potrei usare if?
Devi accedere o registrarti per scrivere nel forum
20 risposte