Matlab
Esercitazione 1 - Introduzione
Matlab
MATrix LABoratory
Contenuto cartella corrente
Current Directory
Variabili correnti
editor
Command window
Comandi recenti
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];
123
1
2
3
1 2 3
4 5 6
7 8 9
Istruzioni frequenti
clear all
;
close all
F9
CTRL invio
clc
% commento
%% per un codice più ordinato...
help
Help
Contents
getting 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
Trasposizione (‘)
Potenze (^ o .^)
Moltiplicazione (* o .*)
Divisione (/ o ./)
1 2 3
A = 1 0 1
2 4 3
Addizione (+)
Sottrazione (-)
Assegnamento (=)
a^b o a.^b
a*b o a.*b
a/b o a./b
1 2 2
B = 2 3 1
0 1 2
A*B =
5 11 10
1 3 4
8 17 15
A .* B =
1 4 6
2 0 1
0 3 8
a+b
a-b
a=b
a’
Estrazione di sotto-matrici
1 2 3
A = 1 0 1
2 4 3
A (:, :) =
1 2 3
1 0 1
2 4 3
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 (: ,1) =
1
1
2
A (3,2) = 4
A(4)
A(1,4)
A (1 ,3)
A (1, :) = 1 2 3
A (6) = 4
A (3)
Operazioni su scalari
x = 25
y = - 2.6
r = sqrt(x);
sign(y)
round(y)
r=5
-1
abs(y)
2.6
-3
floor(y)
-3
ceil(y)
-2
floor(abs(y))
2
Operazioni su vettori e matrici
v= 1 3 2
size (v)
[1 3]
mean(v)
2
std(v)
min (v)
1
max (v)
3
sum (v)
6
sort (v)
1 2 3
A = 1 0 1
2 4 3
size (A)
length (A)
min (A)
[1 2 3]
length (v)
3
1
3x3
9
101
max (A(:))
4
max (A)
243
sum (A)
[4 6 7]
mean(A(:)), std(A(:)), var(A(:)), …
sum (A(:))
17
sum(A(:)), abs(A(:))
Matrici “notevoli”
0 0 0
0 0 0
0 0 0
zeros (3)
ones (1,3)
linspace(a, b, n)
n
a
rand (1,3)
randn(1,3)
0.8147
0.9134
[1 1 1]
0.2785
b
distribuzione uniforme [0 1]
distribuzione gaussiana a media nulla e deviazione standard unitaria
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([11 6 2 1])=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
1
for x = 1: p : M
% comandi
end
1
2
4
8
16
32
64
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;
Sul workspace
(o all’interno di un’altra funzione)
Dall’editor si salva come
“doppio.m”
x=15
x_t = doppio(x);
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]
Scarica

Matlab_-_Esercitazione_1_