%% Soluzioni degli esercizi del 28/10/2010

% Esercizio 1a
function [g,r] = angolo(v,w);
%Calcola l'angolo compreso tra i vettori v e w in gradi e in radianti.
  g = acosd(dot(v,w)/(norm(v)*norm(w)));
  r = acos(dot(v,w)/(norm(v)*norm(w)));
end;

% Esercizio 1b
[gradi, radianti] = angolo([1,0,0],[1,1,1])

% Esercizio 1c
for n=[2,3,10,10e3,10e6], angolo(1:n, n:-1:1), end

% Esercizio 4a
function B = scambiarighe(A,i,k);
%Scambia la i-esima con la k-esima riga della matrice A.
  r = [1:size(A)(1)]; 
  r(i)=k;
  r(k)=i;
  B=A(r,:);
end

% Esercizio 4b
for i=1:7 for k=1:7 A(i,k)=7*(i-1)+k; end; end
P = scambiarighe(A,2,5)
P * A   %% seconda e quinta riga scambiate fra loro
A * P   %% seconda e quinta colonna scambiate fra loro
