Slides - Matematica

Download Report

Transcript Slides - Matematica

Laboratorio di MatLab
Algebra lineare e Geometria
Alessandro Benfenati
Ph.D. Student
Departments of Mathematics - University of Ferrara
[email protected]
1 / 26
Sommario
1
Spazi vettoriali
Definizione
Dipendenza lineare
2
Sistemi parametrici
Teoria
Matlab
3
Distanze nello spazio
Rette
Piani
4
Grafica 3D
Ellissoide
Iperboloide a una falda
Iperboloide a 2 falde
Cono circolare retto
2 / 26
Spazi vettoriali
Definizione
Spazi vettoriali, nozioni intuitive
Def. (Spazio vettoriale)
Un insieme V si definisce uno spazio vettoriale sul campo K se
1
2
3
4
5
6
7
8
9
10
P V , v P V , allora u v P V
u P V , α P K , allora αu P V
u P V , v P V , allora u v v u
u, v , w P V allora pu v q w u pv w q
Esiste un elemento 0 P V tale che u 0 0 u u u P V
u P V esiste un unico elemento, denotato con u, tale che
u pu q u u 0
αpβu q pαβ qu per u P V , α, β P K
αpu v q αu αv per u P V , v P V e α P K
pα β qu αu βu per α, β P K e α P K
u P V 1u u
u
3 / 26
Spazi vettoriali
Dipendenza lineare
Spazi vettoriali: lineare dipendenza & basi
Dire che un’insieme di vettore `e linearmente dipendente vuol dire che posso
esprimere uno qualsiasi dei vettori come combinazione lineare dei rimanenti.
p q p q p q
Ad esempio, i vettori 4, 2 , 1, 1 e
1, 0 sono linearmente dipendenti, in
quanto
4, 2
2 1, 1
2 1, 0
0
p q p q
quindi posso scrivere
oppure
p q p4, 2q 2p1, 1q 2p1, 0q
p1, 1q 12 p4, 2q p1, 0q
Fissare una base pu`
o essere interpretato come fissare un sistema di
riferimento. Qualsiasi vettore pu`
o essere scritto cio`e univocamente come
combinazione lineare degi vettori di base.
4 / 26
Sistemi parametrici
Teoria
Sistemi parametrici
Pu`
o capitare a volte di dover risolvere un sistema parametrico, cio`e un sistema
i cui coefficienti e i termini noti sono dipendenti da un parametro k.
$
& kx 3y kz 3
% pxk y1qxzky0 7z 1.2k
Ovviamente, la soluzione del sistema dipende dal parametro k in questione:
calcolando il determinante del sistema preso in esempio, esso `e
k2
9k
18
Cercando i valori per i quali esso `e nullo, si ottiene che le radici sono -6 e -3:
quindi per avere un’unica soluzione del sistema dobbiamo assumere k
6e
3. La soluzione in questo caso `e
k
$
3p2k 2 k
'
'
x
'
'
5pk 3qpk
'
'
'
'
&
3
y
'
k
3
'
'
'
'
2
'
'
% z 3p2k 4k
p
5k
qp
3 k
q
q
35
6
q
q
5
6
5 / 26
Sistemi parametrici
Matlab
Sistemi parametrici
Per affrontare sistemi parametrici in MatLab:
>> syms k
>> assume (k , ’ real ’)
>> A = [ k -3 - k
1 1 -1
k -1 -k 7];
>> b = [3 ; 0; 1.2* k ];
>> det ( A )
>> sol = A \ b
>> subs ( sol , k , 5)
Per prima cosa si dichiara la variabile k
di tipo simbolico, e si assume che k R.
Si crea la matrice A dipendente dal parametro k, cos`ı come il vettore b (MatLab
considera automaticamente la matrice A
di tipo simbolico). Si calcola il determinante di A, per poter esaminare i valori di k per cui si ha un’unica soluzione
del sistema; viene utilizzato uno qualsiasi dei metodi visti per risolvere i sistemi.
Con il comando subs si calcola una
particolare soluzione, quella ottenuta
sostituendo il valore 5 al parametro k.
P
6 / 26
Distanze nello spazio
Rette
Distanza fra due rette
Supponiamo di avere le seguenti due rette in forma parametrica:
$
& x 0
0
r:
% yz 0
con t
P R, cio`e nella forma
$
& x 0
0
s:
% yz 3
1t
0t
0t
2
$
& x x0
y0
% yz z0
0t
1t
0t
mt
nt
lt
Si nota che la retta r `e banalmente l’asse delle x, mentre la retta s `e la
traslazione dell’asse delle y a quota 3 2. Per calcolare la distanza fra le due `e
necessario tracciare una retta ortogonale ad entrambe: in questo caso `e facile
in quanto `e l’asse z, di equazione parametrica
{
$
& x 0
0
% yz 0
0t
0t
1t
7 / 26
Distanze nello spazio
Rette
Distanza fra due rette
In MatLab:
t `e il parametro utilizzato nella parametrizzazione; x1, y 1, z1 sono le coordinate
del generico punto della retta scritte in
funzione del parametro. Il comando per
disegnare la retta ha la stessa sintassi
del comando plot per disegnare grafici
in due dimensioni.
Si eseguono gli stessi comandi per disegnare le altre due rette e utilizzando il
comando hold on si plottano sullo stesso grafico.
Indicando con P1 = [0 0 0]; il punto di intersezione fra l’asse delle x e l’asse
delle z posso identificarlo sul plot 3-dimensionale usando il comando
scatter3(P1(1),P1(2),P1(3),’filled’), che ha la stessa funzione del
comando plot3 ma `e pi`
u veloce nell’utilizzo nel caso in cui si debba evidenziare
un solo punto.
>>
>>
>>
>>
>>
t = linspace ( -10 ,10);
x1 = 0+ t ;
y1 = 0+ zeros (1 , size (t ,2));
z1 = 0+ zeros (1 , size (t ,2));
plot3 ( x1 , y1 , z1 ,...
’ LineWidth ’ ,2)
8 / 26
Distanze nello spazio
Rette
Distanza fra due rette
r
s
asse z
Origine
Intersezione
10
8
6
4
z
2
0
−2
−4
−6
−8
−10
10
0
−10
y
−10
0
−5
5
10
x
9 / 26
Distanze nello spazio
Rette
Distanza fra due rette
Considerando le due rette
$
& x 1
3
r:
% yz 6
6t
2t
3t
$
5
'
'
x
'
7
'
'
'
&
1
s:
y
'
2
'
'
'
'
% z3
2
avendo il vettore v
parallele.
6t
2t
3t
p6, 2, 3q che ne indica direzione e verso uguali esse sono
La loro distanza quindi si pu`
o calcolare prendendo un punto P su r
(rispettivamente s), calcolare la distanza dalla retta s (rispettivamente r )
utilizzando la forma paramatrica e cercando il parametro t che renda minima
tale distanza. Una volta trovato t , si sostiutisce nell’equazione parametrica
della retta e si calcola semplicemente la distanza fra i due punti trovati.
10 / 26
Distanze nello spazio
Rette
Distanza fra due rette
p
q
Ad esempio, prendendo il punto P
1, 3, 6 calcoliamone la distanza dal
generico punto della retta s (con S1 sono state indicate le coordinate del punto
che appare nella parametrizzazione di s):
p q2 pP1 S1 v1 t q2 pP2 S1 v2 t q2 pP3 S3 v3 t q2
d
d pP, s q2 2v1 pP1 S1 v1 t q 2v2 pP2 S1 v2 t q 2v3 pP3 S3 v3 t q
dt
Ponendo dtd d pP, s q2 0 si trova
v, P S ¡
t }v }2
Quindi il punto Q P s che minimizza la distanza fra P ed s ha coordinate
$
5
'
'
' xQ 7 6t
d P, s
'
'
'
&
'
'
'
'
'
%
yQ
12
2t zQ
32
3t Avendo le coordinate di Q, la distanza fra le due rette si trova calcolando
norm(P-Q).
11 / 26
Distanze nello spazio
Rette
Distanza fra due rette
R
S
Q
R
40
30
20
z
10
0
−10
−20
−30
30
20
10
0
−10
y
−20
−60
−40
0
−20
20
40
60
80
x
12 / 26
Distanze nello spazio
Rette
Distanza fra due rette
Si suppone di avere due rette sghembe, si vuola calcolare la distanza fra esse.
$
& x 1 6t
r:
1 2t
% yz 4 2t
$
x 2 1t
'
'
'
&
s:
y 9 3t
'
'
'
'
% z 2 6t
Il procedimento `e lo stesso del caso precedente:
indicati con R e con v (rispettivamente con S e con w ) il punto e il vettore che
caratterizzano la retta r (s) e con x˜r R tv e x˜s S tw due punti generici
appartenenti alle due rette, l’obiettivo `e minimizzare la distanza d xr , xs :
t
d px˜r , x˜s q arg min }x˜r x˜s } }R S
arg min
t
t
2
2
p q
pv w qt }2
Eseguendi calcoli simili ai precedenti
t
v }vw, Rw }2 S ¡
13 / 26
Distanze nello spazio
Rette
Distanza fra due rette
r
s
S
R
40
Nel grafico son plottate le due
rette, con i punti utilizzati nelle rispettive parametrizzazioni. I
due punti colorati in nero sono i punti appartenenti alla retta
corrispondenti al valore t , sono
quelli utilizzati per calcolalare la
distanza fra le due rette.
z
20
0
−20
−40
50
−60
0
20
10
0
−10
−20
y
−30
−50
−40
x
14 / 26
Distanze nello spazio
Rette
Distanza fra due rette
p
In realt`
a, la procedura corretta sarebbe di considerare due parametri t1 , t2
nel calcolo precedente, ovverossia i due punti genereci delle rette sarebbero
x˜r
R
t1 v , x˜s
S
q
t2 w
Quindi si sarebbero cercati
pt1 , t2 q arg min
d px˜r , x˜s q2 arg min }x˜r x˜s }2 }R S pv w qt }2
t ,t
t
1
2
Questo calcolo conduce a scrivere esplicitamente la distanza fra le due rette:
p q d d r, s
det
v1
w1
xr xs
v1
det
w1
2
v2
w2
det
yr
ys
v2
w2
v1
w1
v3
w3
zr
2
zs v3
w3
det
v2
w2
v3
w3
2
15 / 26
Distanze nello spazio
Piani
Distanza di un punto da un piano
Dato un piano α di equazione
ax
p
by
cz
d
0
q
e un punto P di coordinate x0 , y0 , z0 la distanza di tale punto dal piano `e
data dalla formula
p
q |ax0?a2by0 b2 cz0c 2 d |
d P, α
Un altro modo (pi`
u lungo) `e trovare la retta r perpendicolare ad α passante
per P, calcolarne l’intersezione Q con il piano e trovare la distanza fra P e Q.
16 / 26
Distanze nello spazio
Piani
Distanza di un punto da un piano
Si suppone di avere il piano α di equazione
3x
p
4y
2z
1
0
q
e il punto P di coordinate 1, 0, 20 . Risolviamo il problema in MatLab.
>> x = linspace ( -10 ,10);
>> y = x ;
>> [X , Y ] = meshgrid (x , y );
Con questi comandi `e possibile creare
una griglia di punti nel piano XY nella
porzione data da 10, 10
10, 10 .
>> v = [3 4 -2 1];
>> Z = 1/ v (3)*( - v (1)* X -...
v (2)* Y - v (4));
>> surf (X ,Y , Z )
>> shading interp
Si memorizzano in v i parametri del
piano; il comando surf permette una
visualizzazione decente del piano.
>>
>>
>>
>>
>>
Parametrizzazione della retta passante
per P e perpendicolare a α.
P = [1;0;20];
t = linspace ( -5 ,5);
xr = P (1) + v (1)* t ;
yr = P (2) + v (2)* t ;
zr = P (3) + v (3)* t ;
r
s r
s
17 / 26
Distanze nello spazio
Piani
Distanza di un punto da un piano
Date le equazioni del piano e della retta (in forma cartesiana e non
parametrica) si ottiene il seguente sistema:
$
'
'
'
'
'
&
'
'
'
'
'
%
3x
1
x
3
1
x
3
4y
2z 1
14 y 13
z
2
10
1
3
Scrivendo la matrice A dei coefficienti e il vettore b dei termini noti, si pu`
o
risolvere il sistema con uno dei metodi studiati fino ad ora. Ad esempio, `e
possibile calcolare Q=A\b; e quindi per trovare la distanza di P da α eseguo il
comando norm(P-Q).
Per verificare la bont`
a del risultato, posso utilizzare la formula esplicita:
D = abs(sum(v(1:3)’.*P)+v(4))/norm(v(1:3))
18 / 26
Grafica 3D
Ellissoide
Ellissoide
L’equazione dell’ellissoide in R3 `e data da
x2
a2
y2
b2
z2
c2
0
1
b2
0
0
equivalente alla forma
px, y , z q 1
a2
0
0
0
1
c2
1
ÆÆ
Æ
x
y
z
1
In forma parametrica diventa
$
& x a cospθq sinpφq
b sinpθq sinpφq
% yz c cospφq
dove φ
P r0, πs e θ P r0, 2πs.
19 / 26
Grafica 3D
Ellissoide
Ellissoide
In MatLab
>>
>>
>>
>>
>>
>>
a = 2;
Si impostano le caratteristiche dell’elb = 3;
lissoide e i φ e θ da utilizzare nella
c = 1;
parametrizzazione.
phi = linspace (0 , pi ,100);
theta = linspace (0 ,2* pi ,100);
[ PHI , THETA ] = meshgrid ( phi , theta );
>> X = a * cos ( THETA ).* sin ( PHI ); Si scrive esattamente la parametriz>> Y = b * sin ( THETA ).* sin ( PHI ); zazione come appare nella descrizione
>> Z = c * cos ( PHI );
matematica.
>>
>>
>>
>>
surf (X ,Y , Z )
shading interp
colormap autumn
axis equal
Si utilizza un comando per la visualizzazione tridimensionale dell’oggetto.
Qui si `e scelto l’opzione surf con una
colormap autumn.
20 / 26
Grafica 3D
Ellissoide
Ellissoide
A sinistra `e stato utilizzando il comando surf(X,Y,Z) con una colormap di
tipo autumn, mentre a destro si `e utilizzato il comando mesh(X,Y,Z) con una
colormap di tipo jet (predefinita).
21 / 26
Grafica 3D
Iperboloide a una falda
Iperboloide ad una falda
L’equazione dell’iperboloide ad una falda in R3 `e data da
x2
a2
y2
b2
2
zc 2 1
equivalente alla forma
px, y , z q 1
a2
0
0
0
1
b2
0
0
0
1
c2
ÆÆ
Æ
x
y
z
1
In forma parametrica diventa
$
& x a cospθq coshpu q
b sinpθq coshpuq
% yz c sinhpu q
dove u
P R e θ P r0, 2πs.
22 / 26
Grafica 3D
Iperboloide a una falda
Iperboloide ad una falda
I comandi MatLab per generarlo sono i seguenti (molto simili a quelli
precedenti):
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
a = 1;
b = 1;
c = 1;
u = linspace ( -2 ,2 ,100);
theta = linspace (0 ,2* pi ,100);
[U , THETA ] = meshgrid (u , theta );
X = a * cos ( THETA ).* cosh ( U );
Y = b * sin ( THETA ).* cosh ( U );
Z = c * sinh ( U );
surfl (X ,Y , Z )
shading interp
colormap bone
axis equal
23 / 26
Grafica 3D
Iperboloide a 2 falde
Iperboloide a 2 falde
L’equazione dell’iperboloide a 2 falde in R3 `e data da
x2
a2
y2
b2
2
cz 2 1
equivalente alla forma
px, y , z q 1
a2
0
0
0
1
b2
0
0
0
1
c2
ÆÆ
Æ
x
y
z
1
In forma parametrica diventa
$
& x a cospθq sinhpu q
b sinpθq sinhpuq
% yz c coshpu q
dove u
P R e θ P r0, 2πs.
24 / 26
Grafica 3D
Iperboloide a 2 falde
Iperboloide a 2 falde
I comandi MatLab per generarlo sono i seguenti (molto simili a quelli
precedenti):
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
a = 1;
b = 1;
c = 1;
u = linspace ( -2 ,2 ,100);
theta = linspace (0 ,2* pi ,100);
[U , THETA ] = meshgrid (u , theta );
X = a * cos ( THETA ).* sinh ( U );
Y = b * sin ( THETA ).* sinh ( U );
Z = c * cosh ( U );
surf (X ,Y , Z )
hold on
surf (X ,Y , - Z )
shading interp
colormap jet
25 / 26
Grafica 3D
Cono circolare retto
Cono circolare retto
Infine, il cono circolare retto dato da equazioni parametriche
P
Pr
s
$
& x R cospθq
R sinpθq
% yz R
con R R e θ 0, 2π .
I comandi MatLab sono i seguenti:
10
8
6
r = linspace ( -10 ,10 ,100);
4
theta = linspace (0 ,2* pi ,100);
2
[R , T ] = meshgrid (r , theta );
0
X = R .* cos ( T );
Y = R .* sin ( T );
−2
Z = R;
−4
mesh (X ,Y , Z )
−6
axis equal
z
>>
>>
>>
>>
>>
>>
>>
>>
−8
−10
5
5
0
0
−5
y
−5
−10
x
26 / 26