Esercitazione 1 - Introduzione Matlab
MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente editor
Matrici MATLAB tratta tutte le variabili come matrici I vettori sono forme speciali di matrici con una sola riga o colonna Gli scalari sono trattati come vettori con una sola riga e una sola colonna v_riga = [1 2 3]; v_colonna = [1; 2; 3]; matrice = [1 2 3; 4 5 6; 7 8 9];
Istruzioni frequenti clear all clc close all % commento % per un codice più ordinato... help ; F9 CTRL invio ; F9 CTRL invio
Help Contentsgetting started Matrices and arrays Expressions Working with matrices Generating matrices More about Linear algebra Arrays Graphics (per approfondire sui grafici) Using basic plotting functions Printable documentation
Operatori Addizione (+)a + b Sottrazione (-) a - b Assegnamento (=)a = b Potenze (^ o.^) a^b o a.^b Moltiplicazione (* o.*) a*b o a.*b Divisione (/ o./) a/b o a./b A = B = A * B = A.* B = Trasposizione (‘)a’
Estrazione di sotto-matrici A =A (:, :) = A (:,1) = A (1, :) =1 2 3 A (3,2) = 4A (6) = 4 A(1) A(1,1) A(4) A(1,2) A(7) A(1,3) A(2) A(2,1) A(5) A(2,2) A(8) A(2,3) A(3) A(3,1) A(6) A(3,2) A(9) A(3,3) A(1) A(1,1) A(2) A(1,2) A(3) A(1,3) A(4) A(1,4) A (1,3)A (3)
Operazioni su scalari x = 25r = sqrt(x);r = 5 y = - 2.6sign(y) floor(y) abs(y) -3 round(y) -3 ceil(y) floor(abs(y)) 2
Operazioni su vettori e matrici size (A) length (A) A = 3x3 9 min (A) max (A) max (A(:))4 mean(A(:)), std(A(:)), var(A(:)), … sum(A(:)), abs(A(:)) sum (A) [4 6 7] sum (A(:)) 17 v = mean(v)2 std(v) 1 size (v) [1 3]length (v)3 min (v) 1max (v) 3 sort (v) [1 2 3] sum (v) 6
Matrici “notevoli” zeros (3) ones (1,3) rand (1,3) distribuzione uniforme [0 1] randn(1,3) distribuzione gaussiana a media nulla e deviazione standard unitaria [1 1 1] linspace(a, b, n) ab n
Esercizi Dato il vettore z=-5:5 dire cosa effettuano i seguenti comandi Matlab length(z(3:7)) z(11:-2:1).^2 z(5:11)=[] z([ ])=1:4 clear z Dati due vettori v1 e v2 le cui componenti sono v1= (5, 6, 3) v2= (4,10, 12) 1) Generare i due vettori assegnandone i valori alle variabili v1 e v2; 2) Calcolare la matrice A uguale a v1 trasposto per v2; 3) Estrarre da A la sottomatrice B di dimensioni 2x2 fatta dalle ultime due righe di A e le ultime 2 colonne di A;
Istruzione for for x = 1: p : M % comandi end x=[1 1]; for i = 3:10 x(i)= sum(x); end ESERCIZIO: fare un ciclo for per generare i primi 20 numeri di FIBONACCI
Funzioni function [output1, output2] = name (input1, input2, input3) (il nome della funzione deve avere lo stesso nome del file.m in cui viene salvata) [output1, output2] = name (input1, input2, input3); function [n] = doppio (num) n = 2 * num; x=15 x_t = doppio(x); Dall’editor si salva come “doppio.m” Sul workspace (o all’interno di un’altra funzione)
Esercizio Creare una funzione che dati due vettori con le coordinate di due punti nel piano cartesiano, ne calcoli la distanza euclidea. Lanciare la funzione con i seguenti dati p1=[1 1] p2=[4,10] Date le coordinate dei vertici di un triangolo, calcolarne il perimetro. p1=[1 1] p2=[4,10]p3=[8 2] (inserire le coordinate dei punti in una matrice 3x2) Calcolare il perimetro di un pentagono con vertici p1=[2 7] p2=[3 2] p3=[6 1] p4=[8 4] p5=[5 9]