USO DI MAPLE - PRENDERE CONFIDENZA CON MENU E COMANDI

(0) NOTA: qui viene usato Maple 8; in versioni diverse vi possono essere alcuni piccoli cambiamenti; nell'Help generale (Contents) di una nuova versione sono elencate le novita' (se qualche comando non "gira" si legga il messaggio d'errore e si esamini l'help). In particolare, in versioni precedenti al posto del simbolo % (vedi punto 20) era usato ".

(1) Se vuoi leggere piu' in grande queste note aziona SelectAll dal menu Edit e aumenta le DIMENSIONI del font nella casella soprastante. Oppure:

(2) Se vuoi aumentare le dimensioni di tutto, opera su ZOOMFactor da View.

(3) Questo e' un PARAGRAFO, quello che segue, in rosso a destra di >, e' un GRUPPO DI COMANDI.

>> Analizza il menu Insert: esso ti dà un'idea delle parti di cui comporre un documento di Maple <<

(4) Ogni comando TERMINA con ":" o con ";". Il ";" fa si' che l'esito del comando venga anche visualizzato.

(5) Ogni volta che si preme ENTER col cursore posizionato su un gruppo di comandi, i comandi del gruppo vengono eseguiti, indipendentemente dalla loro posizione rispetto agli altri gruppi di comando.

Ogni volta che si preme Enter il cursore si sposta sul successivo gruppo di comandi.

(6) Per spostare il CURSORE in altri punti di questo documento (o worksheet: foglio di lavoro - l'estenzione 'mws' sta per MapleWorkSheet) si puo' muovere il mouse e fare un click o usare i tasti freccia.

  Ora controlla che il cursore sia sul primo gruppo di comandi

>> Premi Enter e, dopo un po', premi Enter un'altra volta, osservando comandi e output ottenuti <<

>   a:=sqrt(3): b:=3/2; c:=a+b:

b := 3/2

>   a; c; c:=c+1;

3^(1/2)

3^(1/2)+3/2

c := 3^(1/2)+5/2

>> Riposizionati sul gruppo precedente e ripremi Enter. Che cosa noti?
Se non capisci posizionati sul primo gruppo e premi Enter e poi ripremilo. Rileggi il punto (5) <<

(7) Abbiamo visto che per ASSEGNARE valori a una variabile si usa ":=". Il solo "=" e' impiegato per descrivere equazioni, per specificare valori assunti da parametri presenti in alcuni comandi, ...

(8)  Se si vuole CANCELLARE una uscita la si puo' selezionare (con mouse o tasti freccia+Shift o ...) e premere Delete o BackSpace. Oppure si puo' tornare sul comando che l'ha generata, mettere ":" al posto di ";" e premere Enter (almeno nel caso in cui la riesecuzione dei comandi non comprometta la prosecuzione del lavoro). Oppure si puo' selezionare la zona da cui si vogliono togliere gli output e azionare RemoveOutput-FromSelection da Edit, o si puo' usare RemoveOutput-FromWorksheet

  Abbiamo cosi' esplorato la duttilita' dei documenti di Maple (facilmente modificabili, correggibili, accrescibili,...). E', poi, comoda la possibilita' di eliminare gli output, in modo da salvare il domumento in forma compatta.

>> Esegui il (ossia premi Enter sul) seguente gruppo di comandi <<

>   print ('a'=a,'b'=b,'c'=c, 3, a,B,c);

a = 3^(1/2), b = 3/2, c = 3^(1/2)+5/2, 3, 3^(1/2), B, 3^(1/2)+5/2

(9) Gli APICI fanno si' che un'espressione venga visualizzata come è, senza elaborazioni e sostituzioni di valori alle variabili

(10) In assenza di specificazioni diverse, Maple e' CASE SENSITIVE: variabili che differiscono solo per la dimensione di qualche carattere vengono interpretate diversamente: nel caso ora visto di B non stampa il valore ma solo il nome in quanto il nome "B" (a differenza di "b") non e' stato impiegato per assegnazioni. Anche nello scrivere i comandi, nomi di funzione, ... occorre rispettare le dimensioni: PRINT non viene interpertato come un comando, "int" e "Int" vengono interpertati in maniera diversa, ...

(11) Le VARIABILI non assegnate non valgono zero, come accade in molte altre applicazioni.

>> Esegui il seguente gruppo di comandi <<

>   print (sqrt(3.),sqrt(3),3/2,3/2.); print('sqrt(3)^2'=sqrt(3)^2,sqrt(3.)^2);

1.732050808, 3^(1/2), 3/2, 1.500000000

3, 3.000000001

(12) Se un termine o una formula contiene (oltre a simboli di funzione) solo numeri scritti senza PARTE FRAZIONARIA, ossia numeri senza il ".", Maple non visualizza la parte frazionaria e memorizza/opera sui numeri, possibilmente, in modo SIMBOLICO (radice di 2 per radice di 3 lo trasforma in radice di 6).

>>  Esegui:<<

>   print (evalf(sqrt(3)),evalf(3/2));

1.732050808, 1.500000000

(13)  "evalf" sta per "valuta in notazione Floating-point (punto-mobile)", cioe', non in modo simbolico ma effettuando internamente i calcoli in "notazione scientifica" (ossia operando numericamente su mantisse ed esponenti, come fa una calcolatrice tascabile, anche se rispetto ad essa può impiegare una quantità maggiore di cifre). Esistono molti comandi eval...

>>  Dal menu Help - Topic Search fai una ricerca della parola "eval" e osserva quanti sono i comandi di "valutazione" <<

>>  Esegui, in ordine, i seguenti gruppi di comandi <<

>   evalf(sqrt(3),20); evalf(sqrt(3)); Digits:=20: evalf(sqrt(3));

1.7320508075688772935

1.732050808

1.7320508075688772935

>   Digits;

20

(14) Si puo' specificare in evalf il numero di cifre (di mantissa) su cui operare, che normalmente e' 10. In alternativa si puo' stabilire una volta per tutte (fino a che non si cambia idea) quante siano le cifre su cui operare assegnando un valore a Digits. Digists e' una VARIABILE D'AMBIENTE. In altre applicazioni, come Derive, lo stato dell'ambiente viene modificato usando appositi menu. In Maple le modifiche all'"ambiente" vengono effettuate battendo comandi.

(15) La BATTITURA DI COMANDI e' il modo standard per operare con Maple. Puo' essere all'inizio un po' "faticoso": occorre ricordarsi i nomi di comandi, funzioni, ..., occorre non usare come nomi di variabili nomi riservati, gia' impiegati per comandi, variabili di ambiente, .... Ma cio' consente modifiche e correzioni assai piu' rapide, consente di avere una migliore documentazione del lavoro svolto, ..., e non si puo' che procedere in questo modo per realizzare una applicazione ricca di opportunita' di elaborazione. Inoltre l'HELP di Maple e' assai esteso e approfondito, e contiene molti esempi che l'utente puo' copiare, incollare e poi modificare per adattare alle proprie esigenze.

>>  Posiziona il cursore sulla parola "evalf" in uno dei blocchi di comandi in cui compare e dal menu Help aziona HELP ON, oppure aziona Topic-Search e cerca "evalf". Esamina l'help su questa voce, osserva gli esempi (non ti preoccupare se compaiono simboli che non hai incontrato nei tuoi studi precedenti: li rivedremo) e affronta le seguenti questioni:

- come vengono introdotte Pi Greca (Pi) e l'unita' immaginaria (i)?

- c'e' un esempio d'uso di "="; quale?

- Maple interpreta "e" come una generica variabile; che cosa si puo' usare per indicare il numero e (=2.718...) di Nepero?

- qual e' il ruolo di % nel penultimo ultimo esempio presente nell'help? [in versioni precedenti invece di % viene usato "] <<

(16) Se volessimo usare la lettera "e" per indicare il numero di Nepero dovremmo con un comando assegnarle il valore exp(1) (lo stesso possiamo fare per altre costanti). Altrimenti usiamo direttamente exp(1). PiGreca viene introdotto come 'Pi'. L'unità immaginaria come 'I'. Il simbolo '=' in uno degli esempi è usato per indicare gli estremi dell'intervallo in cui varia x (x = 0 .. Pi/4).

(17) Maple interpreta % (o ") come l'ultimo output prodotto (non l'output dei comandi che stanno nella riga precedente, se questa non e' stata l'ultima ad essere eseguita). Puo' essere comodo ricorrere a % in varie occasioni.

(18) Se vogliamo ANNULLARE tutte le assegnazioni, le "librerie" caricate (vedremo poi cosa sono), le modifiche all'ambiente, ... come se riavviassimo il programma, possiamo:

>>  Eseguire: <<

>   restart;

>>  Verifichiamo la cosa eseguendo: <<

>   print (a,b,c,Digits);  # dopo restart a,b,c sono "vuote", Digits ha ripreso il valore 10
2^(1/2);2^(0.5);

a, b, c, 10

2^(1/2)

1.414213562

(19) Un # all'interno di un blocco di comandi consente di inserire un COMMENTO fino a che non c'e' un ACAPO. Gli "a capo" all'interno di un blocco vengono inseriti con Shift+Enter

>   1/3; evalf(%); %*3; (1/3)*3; %-%%;

 [ 1/3; evalf("); "*3; (1/3)*3; "-"";  in precedenti versioni ]

1/3

.3333333333

.9999999999

1

.1e-9

(20) Il simbolo % (" in vecchie versioni) richiama l'ultimo oggetto calcolato; %% (o "") il penultimo; %%% il terzultimo. La differenza tra i valori di (1/3)*3 calcolati in modo simbolico e in modo approssimato è espressa in notazione esponenziale normalizzata; in notazione sceintifica avremmo avuto 1*10^-20.

(21) Ricorda:  il numero periodico 0.999... e il numero limitato 1 sono lo stesso numero: sono diversi come espressioni ma uguali come valori; i numeri limitati sono particolari numeri periodici: hanno periodo 0 (ovvero 9).

  Ora passiamo a "fare un po' di matematica", in modo disordinato, per incominciare a esplorare, in modo esperienziale, le cose che si possono fare.

>>  Esamina gli esempi seguenti:

- cerca di capire il significato dei comandi e degli "oggetti matematici" rappresentati;

- interpreta gli eventuali messaggi di errore;
- prova ad eseguire direttamente delle attivita' simili su un nuovo foglio di lavoro, usando l'help per aiuti; puoi selezionare e copiare una riga di comandi dal file con gli esempi e incollarla nel tuo foglio di lavoro;

- prova a ridimensionare le immagini dei grafici che ottieni, e ad esplorare il menu che si apre se clicchi su di esse col pulsante destro del mouse.

>   plot(x^2,-5..5,-1..5);

Plotting error, empty plot

>   plot(x -> x^2,-5..5,-1..5);

[Maple Plot]

>   plot(pippo->pippo^2,-5..5,-1..5);

[Maple Plot]

>   plot(x^2,x=-5..5,-1..5);

[Maple Plot]

(22)  plot(x^2,-5..5,-1..5)  non traccia niente perché Maple non sa che cosa si vuol tracciare:  x^2 NON E' una FUNZIONE, ma un termine.
Se invece metto x->x^2 gli dico che la funzione è quella che ad x associa x^2.
Analogamente, se definisco F: x -> x+1, la funzione è F, non F(x), che è il valore che F associa a x.
Nella definizione F: x-> x+1 la x è una variabile locale (o muta, vincolata), è un NOME che ha il solo scopo di permettere di spiegare come F modifica l'input.

plot(x^2,x=-5..5,-1..5) invece funziona in quanto specifico qual è la variabile di input.

>   plot(x->1/x,-1..1);

[Maple Plot]

>   plot(x->1/x,-1..1,-10..10);

[Maple Plot]

(23) Se non si specifica l'intervallo delle ordinate da rappresentare, Maple lo sceglie automaticamente. In genere conviene prima farlo scegliere automaticamente a Maple, e poi inserirlo noi scegliendolo sulla base di quello che Maple ha visualizzato.

>   plot([x,x^2,1/x],x=-3..3,-3..3);

[Maple Plot]

>   f:=x->x: g:=x->x^2: h:=x->1/x: plot ([f,g,h],-3..3,-3..3);

[Maple Plot]

>   plot([f,g,f+g],-3..3,-3..3, color=[black,blue,red]);

[Maple Plot]

(24) Se F e G sono funzioni, F+G indica la funzione x -> F(x)+G(x). Come hai già visto nell'help, i comandi di Maple hanno in genere delle opzioni, introdotte precedute da una virgola. COLOR (da scrivere minuscolo) è una di questa. Le parentesi quadre  [...] indicano una SEQUENZA. Comandando il tracciamento di una sequenza di funzioni, ad esse vengono assegnati i colori nello stesso ordine in cui sono stati inseriti nella sequenza assegnata a COLOR.

>   t:=(a*y+b*x)/(x*y);

t := (a*y+b*x)/x/y

(25) Le variabili possono essere usate non solo per numeri e funzioni, come avevamo già visto, ma anche per identificare termini, equazioni, sequenze, grafici, ... e qualsiasi tipo di oggetto matematico.

>   t=1; solve (t=1); solve (t=1,y); solve (t=1,x);

(a*y+b*x)/x/y = 1

{x = x, y = y, a = -x*(b-y)/y, b = b}

-b*x/(a-x)

-a*y/(b-y)

(26) Per risolvere un'equazione occorre (come si deve fare anche senza computer) specificare rispetto a quale variabile (d'ora in poi non si ricorda più che con certe versioni occorre usare " invece di %).

>   solve (t=1,a); expand(%); expand(t);

-x*(b-y)/y

-b*x/y+x

1/x*a+b/y

>   t+x/y; factor(%);

(a*y+b*x)/x/y+1/y*x

(a*y+b*x+x^2)/x/y

(27) expand e factor stanno per i termini italiani 'sviluppa' (con cui, tra l'altro, si indica la distribuzione della moltiplicazione rispetto alla somma) e 'fattorizza' (con cui si indica la trasformazione di un termine in prodotti e rapporti).  [in precedenti versioni si usava " sl posto di %]

>   restart;

(28)  Per tracciare un poligono dobbiamo indicarlo come una sequenza (tra parentesi quadre) di punti, dove a sua volta un punto (del piano) è indicato come una sequenza (tra quadre) di due numeri. Maple traccia la poligonale che congiunge i punti. Il vertice introdotto per primo deve essere scritto anche in fondo, se si vuole che sia tracciato anche l'ultimo lato, Ecco un esempio.

>   plot([[0,0],[1,1],[5,-1],[0,0]]);

[Maple Plot]

(29) Se voglio che il sistema sia monometrico, devo aggiungere l'opzione 'scaling=constrained', che 'vincola' le scale sui due assi ad essere uguali. Posso aggiungere anche l'intervallo per le ascisse (e, volendo, quello per le ordinate)

>   plot([[0,0],[1,1],[5,-1],[0,0]],-1..5,scaling=constrained);

[Maple Plot]

>   plot([[0,0],[1,1],[5,-1],[0,0]],-1..5,-2..2,scaling=constrained);

[Maple Plot]

(30) Anche le sequenze (chiuse tra quadre) possono essere memorizzate ed etichettate con una variabile.

>   F:=[[0,0],[1,1],[5,-1],[0,0]]; plot(F,scaling=constrained);

F := [[0, 0], [1, 1], [5, -1], [0, 0]]

[Maple Plot]

(31) I grafici di funzioni vengono realizzati tabulando la funzione per un tot di punti (50 o un numero diverso, se si inserisce l'opzione 'numpoints=...' - vedi l'help) e poi congiungendo questi mediante una poligonale. Possono, così, verificarsi anche fenomeni come i seguenti ('round' è la funzione 'arrotondamento agli interi'):

>   plot(x->1/(x-2/3),-3..3,-50..50); plot(x->round(x),-3..3);

[Maple Plot]

[Maple Plot]

(32) x -> 1/(x-2/3) non è definita in 2/3 (per x=2/3 ottengo 1/0, che è indefinito), ma Maple non se ne accorge e congiunge comunque i punti.
x -> round(x) assume solo valori interi, ma Maple comgiunge comunque i punti.
Per capire meglio che cosa accede possiamo modificare lo "stile" di rappresentazione facendo tracciare solo i punti il cui congiungimento dà luogo alla poligonale che approssima il grafico. Per farlo possiamo agire col pulsante destro del mouse sull'immagine o modificare i comandi nel modo seguente:

>   plot(x->1/(x-2/3),-3..3,-50..50, style=point); plot(x->round(x),-3..3, style=point);

[Maple Plot]

[Maple Plot]

(33) Maple, come tutto il software, si comporta nel modo in cui è stato programmato. Non è detto che le uscite corrispondano a quello che ci aspetteremmo in astratto. E' come nel caso visto dopo (19): può capitare di ottenere 0.999999999 invece di 1. Sta all'utente usare nel modo opportuno il software e interpretare in modo opportuno le uscite. Su questo aspetto torneremo molte volte. Facciamo un altro esempio:

>   solve (x/x+1=x+2,x);

0

(34) Se provo a sostituire 0 a x ottengo  0/0+1=2, ossia una equazione indefinita. 0 non è soluzione. Perché accade questo:

>   x/x+1=x+2;

2 = x+2

(35) Come si è visto, Maple tenta subito di semplificare le espressioni introdotte. In questo caso rimpiazza x/x con 1 e poi 1+1 con 2, senza tener conto che così facendo ha allargato il dominio dell'equazione, prima definita solo per x diverso da 0 e, ora, per ogni x.
(36)  Vediamo, ora, uno dei più utili comandi di Maple, il comando MAP (da scrivere minuscolo), che serve per trasformare ('map' in inglese) le componenti di un oggetto matematico. Facciamo subito un esempio, e proviamo poi ad azionare HelpOn col mouse su 'map'.

>   map(x -> 1/x, x + y); map(x -> a, x + y);

1/x+1/y

2*a

(37) Viene applicata la trasformazione descritta a sinistra sulle componenti della espressione scritta a destra. Nota che la x usata per descrivere la trasformazione ha un significato 'locale', è un nome che non ha interazioni con l'espressione scritta a destra: vedi quanto visto al punto (22).
Proviamo a trasformare la figura F iniziale raddoppiandone le coordinate [ricordiamo che (h,k)*2, ovvero 2(h,k), fornisce (h*2,k*2), ovvero (2h,2k)].

>   'F'=F; F2:=map(a->a*2,F);

F = [[0, 0], [1, 1], [5, -1], [0, 0]]

F2 := [[0, 0], [2, 2], [10, -2], [0, 0]]

>   plot([F,F2],scaling=constrained, color=[blue,red]);

[Maple Plot]

(38) Vediamo come traslare il grafico di una funzione cambiando la funzione:

>   g:=x->x^2: h:= x -> g(x+1.5): k:= x -> g(x-2)+1:
print ('g(x)'=g(x), 'h(x)'=h(x), 'k(x)'=k(x));
plot([g,h,k],-3..4,-1..8, color = [red, blue, black]);

g(x) = x^2, h(x) = (x+1.5)^2, k(x) = (x-2)^2+1

[Maple Plot]

>   restart;

(39)  Vediamo come usare Maple per fare delle manipolazioni algebriche in modo non automatico. Uno degli strumenti utilizzabili è il comando map, che abbiamo già usato (vedi punto 36). E' inoltre comodo usare % (" in versioni vecchie di Maple) per richiamare e dare un nome alle espressioni (vedi punto 20). Vediamo come risolvere passo passo un'equazione. Prima facciamola risolvere automaticamente a Maple. Nell'esempio che segue vediamo anche un uso diverso di solve: se si mette l'incognita tra graffe, l'output contiene anche il nome della variabile (infatti tra le graffe si possono mettere più incognite, cosa utile se si hanno da risolvere sistemi, nel qual caso l'indicazione del nome delle variabili nelle soluzioni è necessario).

>   x+2*a=3-5*x+1; E:=%:

x+2*a = 4-5*x

>   solve(E,x); solve(E,{x});

-1/3*a+2/3

{x = -1/3*a+2/3}

(40)  Per gestire noi la risoluzione possiamo, oltre a manipolare ciascuno dei due termini dell'equazione, applicare una stessa funzione ad entrambi i termini, in modo da, passo dopo passo, cercare di far rimanere solo x a destra o a sinistra di '='.
In prima battura prendiamo la nostra equazione E ed applichiamo "+5x" ai suoi membri, in modo che poi, a destra, "-5x" e "+5x" si annullino, in quanto una operazione inversa dell'altra. Il comando
map agisce sulle componenti principali dell'equazione, ossia sui due termini principali, non sui singoli numeri e variabili. Per facilitare il controllo dei passaggi assegno nuovi nomi alle equazioni ottenute attraverso le successive trasformazioni. Per indicare i termini uso t, ma avrei potuto usare altri nomi.

>   map(t->t+5*x,E); E1:=%:

6*x+2*a = 4

(41)  Ora applico "-2a":

>   map(t->t-2*a,E1); E2:=%:

6*x = 4-2*a

(42)  Infine applico "/6":

>   map(t->t/6,E2); E3:=%:

x = -1/3*a+2/3

(43)  Abbiamo ottenuto lo stesso risultato. OK.  Proviamo a fare la verifica: si usa il comando subs (usa "Help On" con il cursore sul 'subs' della riga sotto).

>   subs(x=-a/3+2/3,E);

5/3 a + 2/3 = 5/3 a + 2/3

(44)  Risolviamo qualche equazione.

>   solve(x^2=1,x); solve(x^2+1=0,x); solve(x^3=1,x);; solve(x^4=1,x); solve(x^5=1,x); solve(x^6=1,x);

Con  I  Maple indica il numero complesso usualmente indicato con i, ossia il numero che al quadrato fa -1 e che, rappresentando i numeri complessi nel piano R2, corrisponde al punto (0,1). Collegato a questo aspetto (la risoluzione delle equazioni in C invece che in R) ne abbiamo un altro, illustrato nei punti seguenti.
 

(45)  Vediamo due esempi in cui si ottengono grafici "sbagliati"

>   f:= x -> sqrt(x)/sqrt(x+1);

f := proc (x) options operator, arrow; sqrt(x)/sqrt(x+1) end proc

>   plot(f,-4..4,-1..4);

[Maple Plot]

Il grafico viene tracciato anche per x<0 anche se ivi f(x) non è definito. (sotto il grafico ottenuto con Poligon)

F(x)=SQR(x)/SQR(x+1)
plot x:-4..4 n=1001 y:f | 14   
scala sx:-2..4 sy:-1..2

>   g:= x -> log(x-1)-log(x); plot(g,-4..4,-4..4);

g := proc (x) options operator, arrow; log(x-1)-log(x) end proc

[Maple Plot]

Il grafico viene tracciato anche per x<0 anche se per x<1 log(x-1) non è definito.

(46)  Cerchiamo di capire il perché calcolando un po' di valori.

>   print ('sqrt(-2)'=sqrt(-2), 'sqrt(-2+1)'=sqrt(-2+1), 'sqrt(-2)/sqrt(-2+1)'=sqrt(-2)/sqrt(-2+1));

sqrt(-2) = 2^(1/2)*I, sqrt(-1) = I, sqrt(-2)/sqrt(-1) = 2^(1/2)

>   print ('log(-2-1)'=log(-2-1), 'log(-2)'=log(-2), 'log(-2-1)-log(-2)'=log(-2-1)-log(-2));

log(-3) = ln(3)+Pi*I, log(-2) = ln(2)+Pi*I, log(-3)-log(-2) = ln(3)-ln(2)

Maple calcola radici quadrate e logaritmi (e altre funzioni) anche in casi in cui, come funzioni a input e output in IR, non sarebbero definite, assegnando ad esse numeri complessi. In questo modo, ad es.,  sqrt(-2)/sqrt(-1)  diventa  isqrt(2)/i  che viene semplifiato in  sqrt(2).
Questi esempi mettono in luce l'importanza del controllo che si deve esercitare sul funzionamento e le elaborazioni di Maple, così come si deve fare per tutto il software. (vedi qui)
 

(47)  Qualche esempio di altre cose che si possono fare, su cui ci soffermeremo in seguito. Diversi modi di rappresentare la derivata prima:

>    f:= x -> x^2; D(f); D(f)(x); diff(x^2,x); diff(f(x),x);

f := x → x2
x → 2 x
2 x
2 x
2 x

e la derivata seconda:

>    D(D(f)); diff(f(x),x,x);

2
2

Diversi modi di rappresentare la derivata N-esima:

>    D@@1)(f);(D@@2)(f);(D@@3)(f); (D@@4)(x->x^6);

x → 2 x
2
0
2 x
x → 360 x2

>    f:= x-> 2; plot (f,-1..3);

f := x → 2

Con int si ha il calcolo, con Int o 'int ...' la visulizzazione dell'impostazione del calcolo:

>    Int(f,x=-1..3); 'int(f,x=-1..3)'=int(f(x),x=-1..3);

 13 2 dx
 13 f(x) dx = 8

(48)  I calcoli degli integrali, in modo approssimato, possono essere calcolati anche con Poligon:
F(x) = 2
[-1, 3] F INT

Si ottiene;
[-1, 3] F INT = 4
    Se f(x) = x che cosa si ottiene per  04 f, e per  −44 f ?