Manipolazioni di base
(1)
Ancora qualche esempio:
> a:=7+3:
> a;
10> a*b+c=7;
10 b + c = 7> restart;
a := a> solve(a*b+c=7,{c});
{c = -a b + 7}> solve(a*b+c=7,{a});
c - 7 {a = - -----} b> 7/3; evalf(7/3); Digits;
7/3 2.333333333 10> Digits:=40; evalf(Pi); evalf(Pi,18);
Digits := 40 3.141592653589793238462643383279502884197 3.14159265358979324> Digits:=10;
Digits := 10Soluzione di un sistema di due equazioni e di un'equazione e una disequazione rispetto a due variabili:
{x = 1, t = 1}> solve({5*x+2*t=7, 2*t-x-1>0}, {t,x});
{x < 1, t = - 5/2 x + 7/2}Risoluzione dello stesso sistema rispetto alla sola variabile x:
- 5/2 x + 7/2 = 1/2 x + 1/2 {x = 1}Risoluzione della stessa equazione graficamente:
f := x -> - 5/2 x + 7/2 g := x -> 1/2 x + 1/2> plot({f,g}, 0.5..1.5,0.5..1.2, scaling=CONSTRAINED, color=[blue,red]);
f(1 + h) - f(1) R := h -> --------------- h -5/2 -5/2> f:= x -> x^2; R(1); R(0.1); R(0.01); R(0.001);
2 f := x -> x 3 2.100000000 2.010000000 2.001000000> 'limit (R(h),h=0)' = limit (R(h), h=0);
lim R(h) = 2 h -> 0L'iniziale maiuscola spesso rappresenta il calcolo senza eseguirlo:
2 (1 + h) - 1 lim ------------ = 2 h -> 0 hDiversi modi di rappresentare la derivata prima:
x -> 2 x 2 x 2 x 2 xe la derivata seconda:
2 2Diversi modi di rappresentare la derivata N-esima:
x -> 2 x 2 0 2 x -> 360 xPer indicare il limite da destra o da sinistra occorre usare "right" e "left"; se non lo si usa, quando è necessario, si ha un messaggio undefinined.
1 -1Fattorizzare in ambienti diversi:
2 (x + 1) 1/2 (x + 1) (2 x - 1) 2 x + 2 x - 5 (x + 3.449489743) (x - 1.449489743)> expand((x+3)*(x-1));
2 x + 2 x - 3> factor(x^2+1,real); factor(x^2+1,complex);
2 x + 1. (x + 1. I) (x - 1. I)> sqrt(x^2*y);
2 1/2 (x y)> assume(x>0); sqrt(x^2*y);
1/2 x~ y> about(x);
2 1/2 (x y)----------------------------------
Integrazione
(2)
Vedi
qui (in fondo)
e
qui .
Vedi
http://macosa.dima.unige.it/om/prg/js/integr.htm
per un programma per il calcolo dell'integrale definito di una funzione continua in un intervallo [a,b] con il metodo dei punti medi mediante uno script (si tratta del tipo di programma
per computer largamente più diffuso).
La funzione predefinita inizialmente è x -> x^2.
Esame del programma (clicca il pulsante destro su come si presenta lo "script" per
vederne il "sorgente"); al centro compaiono le istruzioni:
s=0; h=(b-a)/n;
for (var j=0; j < n; j=j+1) {s = s + F(a+(j+1/2)*h)}
i=s*h;
Provare ad usarlo con n = 1, 10, 100, 1000, ... osservare le varie uscite e valutare la velocità di convergenza del programma.
0.6666666666659892 se a=-1 b=1 n=1000000 [6.598310786642969e-11] 0.6666666666000061 se a=-1 b=1 n=100000 [6.6000053200454545e-9] 0.6666666600000007 se a=-1 b=1 n=10000 [6.600000005407836e-7] 0.6666660000000002 se a=-1 b=1 n=1000 [0.00006600000000012152] 0.6666000000000001 se a=-1 b=1 n=100 [0.006599999999999939] 0.6600000000000001 se a=-1 b=1 n=10 [-0.006666666650013808]Con n = 2, 4, 8, 16, invece si ha:
0.6666665077209473 se a=-1 b=1 n=2048 [4.76837158203125e-7] 0.6666660308837891 se a=-1 b=1 n=1024 [0.0000019073486328125] 0.6666641235351562 se a=-1 b=1 n=512 [0.00000762939453125] 0.666656494140625 se a=-1 b=1 n=256 [0.000030517578125] 0.6666259765625 se a=-1 b=1 n=128 [0.0001220703125] 0.66650390625 se a=-1 b=1 n=64 [0.00048828125] 0.666015625 se a=-1 b=1 n=32 [0.001953125] 0.6640625 se a=-1 b=1 n=16 [0.0078125] 0.65625 se a=-1 b=1 n=8 [0.03125] 0.625 se a=-1 b=1 n=4 [0.125] 0.5 se a=-1 b=1 n=2 [0.5](come mai si hanno uscite con le ultime cifre delle approssimazioni meglio approssimate? il computer lavora in base 2)
f := 2
3 / | | 2 dx | / -1 3 / | | f dx = 8 | / -1Funzione integrale:
x / | A := x -> | f(t) dt | / -1> plot (A,-1..3);
2 xUso del teorema fondamentale (che Maple cerca di fare automaticamente quando si comanda il calcolo di un integrale definito; vedi sopra):
8-----------------------
1/2 (x - 4) | x - 4 | - xIl grafico della funzione integrale fornita da Maple (differsice per una costante dalla funzione integrale ottenuta prima, imponendo che valesse 0 in -1):
ln(x)Attenzione: Maple non è detto che trovi tutte le primitive. Ad es. nel caso precedente log(x) è una primitiva solo per x>0.
1/x 1/x-----------------------
3 3 - 1/3 (x + 1) + 2 x - 1/3 x> solve(-(x+1)^2+2-x^2=0,x);
1/2 1/2 - 1/2 + 1/2 3 , - 1/2 - 1/2 3> int(-(x+1)^2+2-x^2,x=-1/2-1/2*3^(1/2)..-1/2+1/2*3^(1/2));
1/2 3In qualche versione di Maple il risultato viene semplificato, in altre no. Comunque puo' sempre essere utile manipolare il risultato per vedere se si ottiene qualcosa di piu' comprensibile (col comando simplify o col comando expand, a seconda dei casi).
1/2 3-----------------------
Si(x)Possiamo, comunque, calcolare integrali definiti in forma approssimata:
.6593299066e tracciare il grafico di funzioni integrali
t / | sin(x) g := t -> evalf( | ------ dx) | x / 1