Strumenti Utente

Strumenti Sito


wikipaom2017:020.090.000

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
wikipaom2017:020.090.000 [2017/05/16 20:35] 178890wikipaom2017:020.090.000 [2017/05/16 21:03] (versione attuale) 178890
Linea 1: Linea 1:
 +Esistono prevalentemente due modi per definire le funzioni in Maxima, ovvero con **:=** oppure con il comando **define**.
 +
 +Il primo metodo, ovvero con **:=** è quello un po' meno affidabile, si faccia riferimento ad un esempio semplice, dove è stata definita la funzione //potenza//.
 +{{ :wikipaom2017:1.png?400 |}}
 +
 +Definire una funzione con **:=** indica che la potenza è funzione di due argomenti, dove il primo verrà inserito nel segnaposto //base//, mentre il secondo sarà associato al segnaposto //esponente//.
 +
 +{{ :wikipaom2017:3.png?200 |}}
 +
 +Il problema che può nascere con questa definizione è dato dal fatto che la valutazione della funzione viene ritardata all'atto del passaggio dei due argomenti specifici; infatti se ora definissimo il valore del segnaposto   //esponente//, la funzione non viene valutata con il valore passato in quanto il segnaposto ha cambiato nome in //b//.
 +
 +{{ :wikipaom2017:4.png?400 |}}
 +
 +La funzione **define** invece valuta la funzione immediatamente all'atto della definizione.
 +{{ :wikipaom2017:5.png?400 |}}
 +
 +Andando a  passare dei valori agli argomenti:
 +{{ :wikipaom2017:6.png?200 |}}
 +
 +La differenza risulta lampante quando vario la funzione introducendo un termine 
 +//pippo// all'esponente:
 +  * Nel caso **:=**: 
 +{{ :wikipaom2017:8.png?400 |}} 
 +  * Nel caso **define**:
 +{{ :wikipaom2017:7.png?400 |}}
 +
 +