next up previous   
Next: Studio completo: esecuzione Up: Introduzione Previous: Studio completo: programma principale
Intro Gen: Introduzione Generale  Home: Home page

Function

mdisp.m

% 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);

 

risoluz.m

% 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  


next up previous   
Next: Studio completo: esecuzione Up: Introduzione Previous: Studio completo: programma principale
Intro Gen: Introduzione Generale  Home: Home page
Vito Marinelli
13-6-2000

HyperCounter
BPath Contatore