Pagina 1 di 1
octave e funzioni
Inviato: sabato 28 luglio 2007, 9:31
da lucadelu
Ciao a tutti volavo sapere due cose su octave
primo questa funzione può essere corretta?
Codice: Seleziona tutto
#calcola la percentuale a:b=x:100 (dobbiamo conoscere almeno due valori)
function [x] = perc(a, b)
x=a*100/b
secondo dove la devo inserire per farla funzionare in octave?
grazie mille
Luca
Re: octave e funzioni
Inviato: sabato 28 luglio 2007, 11:27
da Onilrem
Caro Lucadelu.
Penso che questo argomento riguardi la programmazione , non il software ....
-------------Onilrem------------
Re: octave e funzioni
Inviato: sabato 28 luglio 2007, 12:47
da lucadelu
Perchè scusa? ho guardato un po' in giro e molti argomenti su octave sono su software...
Luca
Re: octave e funzioni
Inviato: sabato 28 luglio 2007, 13:18
da jepessen
Beh, dovresti salvarla in un file .m, e poi caricare il file dall'interno del programma.
Qua trovi un breve tutorial per Octave:
http://www.krono86.netsons.org/download ... octave.pdf
Daniele
Re: octave e funzioni
Inviato: sabato 28 luglio 2007, 14:34
da lucadelu
Grazie mille...sono riuscito a caricarla ma da un errore che non capisco..
Codice: Seleziona tutto
octave:2> function perc('4331', '26214')
parse error:
syntax error
>>> function perc('4331', '26214')
^
parse error:
invalid parameter list
>>> function perc('4331', '26214')
^
octave:2> function perc(4331, 26214)
parse error:
syntax error
>>> function perc(4331, 26214)
^
parse error:
invalid parameter list
>>> function perc(4331, 26214)
^
Re: octave e funzioni
Inviato: sabato 28 luglio 2007, 14:48
da jepessen
Ma l'input l'hai dato mettendo i numeri fra apici? Perchè a che so io non dovrebbe essere necessario...
Daniele
Re: octave e funzioni
Inviato: sabato 28 luglio 2007, 15:09
da lucadelu
Come puoi vedere nel codice la prima volta si poi ho provato senza...ma il risultato non cambia
Re: octave e funzioni
Inviato: sabato 28 luglio 2007, 15:25
da jepessen
Allora, mi sono appena istallato octave.
Ho definito la funzione all'interno del programma:
Codice: Seleziona tutto
octave:1> function[x]=perc(a,b)
> x=a*100/b;
> endfunction
octave:2> perc(5,6)
ans = 83.333
octave:3>
In questo modo funziona. Per memorizzarla in un file, devi scrivere la defiinzione della funzione in un file.m, e metterlo in una directory della variabile LOADPATH, in maniera tale che possa leggerla.
Daniele
Re: octave e funzioni
Inviato: sabato 28 luglio 2007, 15:29
da AlmAck
Ciao,
hai dimenticato la scritta end alla fine della funzione, ecco come risulta:
lo salvi con il nome perc.m e poi in octave dai semplicemente: perc(valore1,valore2)
Ciao
Re: octave e funzioni
Inviato: sabato 28 luglio 2007, 15:38
da lucadelu
jepessen ha scritto:
Allora, mi sono appena istallato octave.
Ho definito la funzione all'interno del programma:
Codice: Seleziona tutto
octave:1> function[x]=perc(a,b)
> x=a*100/b;
> endfunction
octave:2> perc(5,6)
ans = 83.333
octave:3>
In questo modo funziona. Per memorizzarla in un file, devi scrivere la defiinzione della funzione in un file.m, e metterlo in una directory della variabile LOADPATH, in maniera tale che possa leggerla.
Daniele
Se faccio la funzione in octave funziona,ma se chiudo riavvio carico tramite loadpath
Codice: Seleziona tutto
octave:1> loadpath="/home/luca/funzioni_octave/"
loadpath = /home/luca/funzioni_octave/
il file che si chiama perc.m ed all'interno ha:
non va...non capisco.Scusate ma le varie funzioni di base dove sono, magari provo ad inserire il file perc.m in quella cartella li!
Re: octave e funzioni
Inviato: sabato 28 luglio 2007, 15:40
da jepessen
prova con LOADPATH maiuscolo
Re: octave e funzioni
Inviato: sabato 28 luglio 2007, 15:48
da lucadelu
Non cambia niente....
Re: octave e funzioni
Inviato: sabato 28 luglio 2007, 16:14
da AlmAck
Ho visto che usi la funzione cosi:
Codice: Seleziona tutto
octave:2> function perc(4331, 26214)
parse error:
syntax error
Con questo comando non funziona il octave devi semplicemente mettere il nome della funzione in questo modo:
Re: octave e funzioni
Inviato: sabato 28 luglio 2007, 16:21
da lucadelu
AlmAck ha scritto:
Ho visto che usi la funzione cosi:
Codice: Seleziona tutto
octave:2> function perc(4331, 26214)
parse error:
syntax error
Con questo comando non funziona il octave devi semplicemente mettere il nome della funzione in questo modo:
Non va in nessuno dei due modi...
Re: octave e funzioni
Inviato: martedì 31 luglio 2007, 0:23
da Onilrem
Ricordo solo che Linux e' CaseSensitive e, penso lo sia anche Octave.
-------Onilrem-----
Re: octave e funzioni
Inviato: mercoledì 8 agosto 2007, 17:45
da lucadelu
Non ci sono ancora riuscito...ora però ho da fare una funzione un pò più complessa e non ne ho voglia di doverla scrivere ogni volta..è possibile salvare la funzione dopo aver fatto questo?
Codice: Seleziona tutto
octave:2> function perc(a,b)
> a*100/b
> endfunction
Re: octave e funzioni
Inviato: mercoledì 8 agosto 2007, 18:51
da Amurian
Allora, se non vuoi stare a modificare il loadpath o il file .octaverc puoi salvare la funzione in un file .m dedicato, esempio:
nel tuo caso abbiamo la funzione perc ed essa andarà definita nel file perc.m.
Inoltre dato che il valore di ritorno è uno solo prova a togliere le parentesi quadre.
Re: octave e funzioni
Inviato: mercoledì 8 agosto 2007, 18:54
da lucadelu
Ci sono appena riuscito grazie alla mailing list, il comando è