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