Function %
CALCOLO DEL DETERMINANTE DELLA MATRICE DI DISPERSIONE function detA=mdisp(h,d2,d4,g,nef,n); A(1,1)=exp(-h(1)*d2); A(2,1)=h(1)*exp(-h(1)*d2); A(3,4)=-exp(h(3)*g/2); A(3,5)=-exp(-h(3)*g/2); if nef>n(2) A(1,2)=-exp(h(2)*d2); A(1,3)=-exp(-h(2)*d2); A(2,2)=h(2)*exp(h(2)*d2); A(2,3)=-h(2)*exp(-h(2)*d2); A(3,2)=exp(h(2)*g/2); A(3,3)=exp(-h(2)*g/2); A(4,2)=-h(2)*exp(h(2)*g/2); A(4,3)=h(2)*exp(-h(2)*g/2); else
A(1,2)=-cos(h(2)*d2); A(1,3)=-sin(h(2)*d2); A(2,2)=-h(2)*sin(h(2)*d2); A(2,3)=h(2)*cos(h(2)*d2); A(3,2)=cos(h(2)*g/2); A(3,3)=sin(h(2)*g/2); A(4,2)=h(2)*sin(h(2)*g/2); A(4,3)=-h(2)*cos(h(2)*g/2); end A(4,4)=h(3)*exp(h(3)*g/2); A(4,5)=-h(3)*exp(-h(3)*g/2); A(5,4)=exp(-h(3)*g/2); A(5,5)=exp(h(3)*g/2); A(5,6)=-cos(h(4)*g/2); A(5,7)=sin(h(4)*g/2); A(6,4)=-h(3)*exp(-h(3)*g/2); A(6,5)=h(3)*exp(h(3)*g/2); A(6,6)=h(4)*sin(h(4)*g/2); A(6,7)=h(4)*cos(h(4)*g/2); A(7,6)=cos(h(4)*d4); A(7,7)=-sin(h(4)*d4); A(7,8)=-exp(-h(5)*d4); A(8,6)=-h(4)*sin(h(4)*d4); A(8,7)=-h(4)*cos(h(4)*d4); A(8,8)=h(5)*exp(-h(5)*d4); detA=det(A);
% RISOLUZIONE DI SISTEMI
LINEARI CON STRATEGIA DI PIVOTING TOTALE function x=risoluz(A,b); n=7; for k=1:n-1
max=0;
% Ricerca dell'elemento massimo
for i=k:n
% della matrice A(k,k)
for j=k:n
if abs(A(i,k))>max
max=abs(A(i,k));
y=i;
z(k)=j;
end
end end if k~=y
% Scambio di righe
u=A(k,:);
A(k,:)=A(y,:);
A(y,:)=u;
u=0;
u=b(k);
b(k)=b(y);
b(y)=u;
end
if k~=z(k)
% Scambio di colonne u=0;
u=A(:,k);
A(:,k)=A(:,z(k));
A(:,z(k))=u;
end for i=k+1:n
for j=k+1:n
L=A(i,k)/A(k,k);
A(i,j)=A(i,j)-L*A(k,j);
end
b(i)=b(i)-L*b(k);
end end x(n)=b(n)/A(n,n); for i=n-1:-1:1
a=0;
for j=i+1:n
a=a+A(i,j)*x(j);
end
x(i)=(b(i)-a)/A(i,i); end u=0; for i=1:n-1
% ordinamento del vettore soluzione
if i~=z(i)
u=x(i)
x(i)=x(z(i));
x(z(i))=u;
end end
|