octave e funzioni

Installazione, configurazione e uso di programmi e strumenti.
Scrivi risposta
lucadelu
Prode Principiante
Messaggi: 169
Iscrizione: mercoledì 6 dicembre 2006, 9:38

octave e funzioni

Messaggio 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
Avatar utente
Onilrem
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 410
Iscrizione: mercoledì 25 aprile 2007, 22:27

Re: octave e funzioni

Messaggio da Onilrem »

Caro Lucadelu.
  Penso che questo argomento riguardi la programmazione , non il software ....
-------------Onilrem------------
Da quando uso Linux , lavoro di piu' !
lucadelu
Prode Principiante
Messaggi: 169
Iscrizione: mercoledì 6 dicembre 2006, 9:38

Re: octave e funzioni

Messaggio da lucadelu »

Perchè scusa? ho guardato un po' in giro e molti argomenti su octave sono su software...

Luca
Avatar utente
jepessen
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3569
Iscrizione: lunedì 26 dicembre 2005, 11:49
Desktop: KDevelop
Distribuzione: Ubuntu 20.04
Sesso: Maschile
Località: Somma Lombardo

Re: octave e funzioni

Messaggio 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
Compiz l'ha creato Chuck Norris quando ha colpito un computer con un calcio rotante.
http://www.renderosity.com/mod/gallery/ ... e=Jepessen
http://jepessen.wordpress.com/
lucadelu
Prode Principiante
Messaggi: 169
Iscrizione: mercoledì 6 dicembre 2006, 9:38

Re: octave e funzioni

Messaggio 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)
                                     ^
Avatar utente
jepessen
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3569
Iscrizione: lunedì 26 dicembre 2005, 11:49
Desktop: KDevelop
Distribuzione: Ubuntu 20.04
Sesso: Maschile
Località: Somma Lombardo

Re: octave e funzioni

Messaggio da jepessen »

Ma l'input l'hai dato mettendo i numeri fra apici? Perchè a che so io non dovrebbe essere necessario...

Daniele
Compiz l'ha creato Chuck Norris quando ha colpito un computer con un calcio rotante.
http://www.renderosity.com/mod/gallery/ ... e=Jepessen
http://jepessen.wordpress.com/
lucadelu
Prode Principiante
Messaggi: 169
Iscrizione: mercoledì 6 dicembre 2006, 9:38

Re: octave e funzioni

Messaggio da lucadelu »

Come puoi vedere nel codice la prima volta si poi ho provato senza...ma il risultato non cambia
Avatar utente
jepessen
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3569
Iscrizione: lunedì 26 dicembre 2005, 11:49
Desktop: KDevelop
Distribuzione: Ubuntu 20.04
Sesso: Maschile
Località: Somma Lombardo

Re: octave e funzioni

Messaggio 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
Compiz l'ha creato Chuck Norris quando ha colpito un computer con un calcio rotante.
http://www.renderosity.com/mod/gallery/ ... e=Jepessen
http://jepessen.wordpress.com/
Avatar utente
AlmAck
Prode Principiante
Messaggi: 95
Iscrizione: domenica 29 aprile 2007, 12:27
Distribuzione: Chakra Linux (x86_64)
Contatti:

Re: octave e funzioni

Messaggio da AlmAck »

Ciao,
hai dimenticato la scritta end alla fine della funzione, ecco come risulta:

Codice: Seleziona tutto

function [x] = perc(a, b)
x=a*100/b
end 
lo salvi con il nome perc.m e poi in octave dai semplicemente: perc(valore1,valore2)

Ciao
lucadelu
Prode Principiante
Messaggi: 169
Iscrizione: mercoledì 6 dicembre 2006, 9:38

Re: octave e funzioni

Messaggio 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:

Codice: Seleziona tutto

function[x]=perc(a,b)
x=a*100/b
endfunction
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!
Avatar utente
jepessen
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3569
Iscrizione: lunedì 26 dicembre 2005, 11:49
Desktop: KDevelop
Distribuzione: Ubuntu 20.04
Sesso: Maschile
Località: Somma Lombardo

Re: octave e funzioni

Messaggio da jepessen »

prova con LOADPATH maiuscolo
Compiz l'ha creato Chuck Norris quando ha colpito un computer con un calcio rotante.
http://www.renderosity.com/mod/gallery/ ... e=Jepessen
http://jepessen.wordpress.com/
lucadelu
Prode Principiante
Messaggi: 169
Iscrizione: mercoledì 6 dicembre 2006, 9:38

Re: octave e funzioni

Messaggio da lucadelu »

Non cambia niente....
Avatar utente
AlmAck
Prode Principiante
Messaggi: 95
Iscrizione: domenica 29 aprile 2007, 12:27
Distribuzione: Chakra Linux (x86_64)
Contatti:

Re: octave e funzioni

Messaggio 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:

Codice: Seleziona tutto

octave:2> perc(4331, 26214)
x =  16.522
ans =  16.522
lucadelu
Prode Principiante
Messaggi: 169
Iscrizione: mercoledì 6 dicembre 2006, 9:38

Re: octave e funzioni

Messaggio 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:

Codice: Seleziona tutto

octave:2> perc(4331, 26214)
x =  16.522
ans =  16.522
Non va in nessuno dei due modi...
Avatar utente
Onilrem
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 410
Iscrizione: mercoledì 25 aprile 2007, 22:27

Re: octave e funzioni

Messaggio da Onilrem »

Ricordo solo che Linux e' CaseSensitive e, penso lo sia anche Octave.

-------Onilrem-----
Da quando uso Linux , lavoro di piu' !
lucadelu
Prode Principiante
Messaggi: 169
Iscrizione: mercoledì 6 dicembre 2006, 9:38

Re: octave e funzioni

Messaggio 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
Avatar utente
Amurian
Prode Principiante
Messaggi: 46
Iscrizione: mercoledì 3 gennaio 2007, 10:56
Località: Vicino al Po
Contatti:

Re: octave e funzioni

Messaggio 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.
We talked about so many things, but in fact we told us nothing.Rage - Death is on its way
lucadelu
Prode Principiante
Messaggi: 169
Iscrizione: mercoledì 6 dicembre 2006, 9:38

Re: octave e funzioni

Messaggio da lucadelu »

Ci sono appena riuscito grazie alla mailing list, il comando è

Codice: Seleziona tutto

addpath("/home/luca/funzioni_octave/");
Scrivi risposta

Ritorna a “Applicazioni”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 10 ospiti