Esercizi

Transcript

Esercizi
Esercizi
1. Generare i vettori v = (1, 2, . . . , 6) (vettore riga) e w = (1, 2, . . . , 6)T
(vettore colonna). Calcolare
(a) a = v + w (v+w’ oppure v’+w)
(b) b = 4v
(c) calcolare il prodotto di v per w elemento per elemento e salvare il
risultato nella variabile c
(d) dividere ogni elemento di w per due e salvare il risultato nella
variabile d
(e) dividere ogni elemento di v per il corrispondente elemento di w e
salvare il risultato nella variabile e
(f) calcolare il prodotto scalare di v e di w, salvare il risultato in f
(g) calcolare g = 2v − 6w
(h) memorizzare in un vettore g1 gli elementi di posto pari di d e gli
elementi di posto dispari di c
(i) creare il vettore h con 5 copie del vettore v
(j) osservare il comportamento del comando h([6:6:end])
(k) sostituire 0 negli elementi con indice multiplo di 5 in h e 1 negli
elementi con indice multiplo di 6
(l) calcolare v*w e w*v: osservare i risultati e capire cosa succede
2. Creare una matrice A ∈ M5 (R) a piacere.
(a) memorizzare in v la sua seconda riga
(b) memorizzare in w la sua terza colonna
(c) estrarre la sottomatrice B ∈ M3 (R) a parte dall’elemento a22
(d) creare una matrice C ∈ M7 (R) con la prima e l’ultima colonna di
zeri e la prima e ultima riga di 1, mentre al centro porre la matrice
A. Porre c11 = c77 1
(e) creare la matrice D ∈ M3 (R) in cui ogni elemento è il prodotto
degli indici di riga e colonna: verificare se è simmetrica
(f) eseguire BD e DB: sono diversi?
1
(g) eseguire il prodotto componente per componente di B e D e vedere
se questo corrisponde a BD o DB
(h) memorizzare in E la combinazione BD2 − 3BD + −7D2
(i) verificare che Dt B t = (BD)t
(j) calcolare Dw1 , dove w1 è il vettore contenente i primi tre elementi
di w
(k) calcolare v1 D, dove v1 è il vettore contenente i primi tre elementi
di v
(l) creare la seguente matrice a blocchi:


Ir
B Or
 B
D −B 
0r −B −Ir
con r opportuno.
3. Per φ ∈ [0, 2π[, costruire la matrice
cos(φ) sin(φ)
O=
− sin(φ) cos(φ)
Verificare che Ot = O−1 (hint: vedere help inv.
4. Scrivere uno script che
inizializzi un vettore v di 100 elementi con valori da 11 a 20,
memorizzi in un altro vettore w gli elementi compresi fra 15 e
16;
memorizzi in n la lunghezza del vettore v;
crei una matrice diagonale di dimensione n sulla cui diagonale è
presente il vettore v (vedere il comando diag digitando nella shell
help diag o doc diag);
ponga gli elementi dn1 e d1n a 1 ;
crei il vettore b con n numeri random;
esegua l’operazione Db.
5. scrivere uno script che
2
inizializzi due variabili n ed m, tali che n > m
crei una matrice random R di dimensioni n × n di interi fra 1 e
50 (utilizzare il comando fix(50*rand(n)), vedere help rand e
help fix per maggiori informazioni).
estragga una matrice A da R di dimensioni m × m a partire
dall’elemento r22
memorizzi in b gli elementi Rii , dove i = 1, ..., m (vedere help diag)
esegua l’operazione bt Ab
6. Creare una function che dato in ingresso un angolo φ restituisca in
output una matrice del tipo mostrato nell’esercizio 3.
7. Creare un m-file denominato main.m che inizializzi una variabile phi,
un vettore di due elementi v, crei una matrice Q utilizzando la funzione
scritta nell’esercizio precente e calcoli il prodotto Qv memorizzandolo
in un vettore w.
8. Creare un m-file denominato main2.m che inizializzi due variabili phi e
theta, un vettore di due elementi v, crei due matrici A e B utilizzando
le variabili phi e theta e la funzione scritta nell’esercizio 6 e calcoli i
prodotti ABv e BAv. Ci sono differenze nel risultato? Se sı̀, perchè? Se
no, perchè? Cosa rappresenta la moltiplicazione per queste matrici?
3