ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Aplicación del Método de Gauss y Gauss - Jordan


Enviado por   •  25 de Marzo de 2021  •  Tareas  •  2.832 Palabras (12 Páginas)  •  177 Visitas

Página 1 de 12

Métodos Numéricos[pic 1]

[pic 2][pic 3]

[pic 4]

Nombre del estudiante:

Tema:

Aplicación del Método de Gauss y Gauss - Jordan

Fecha de entrega:

20 de marzo 2021

Calificación:

Problema a resolver:

Con los datos del diagrama siguiente (donde los porcentajes están dados en peso), encuentra posibles valores de las corrientes M1, M2 y M3 mediante:

  1. Método de Gauss.
  2. Método de Gauss – Jordan.
  3. Verifica tus resultados con el comando rref e imprime el comando y el resultado obtenido.

[pic 5]

Solución propuesta:

a.

clc

fprintf('Ingrese la matriz de coeficientes en formato [a1 a2 a3;b1 b2 b3;c1 c2 c3]:')

a=input('                      ');

fprintf('Ingrese el vector de terminos independientes en el formato [r1;r2;r3]')

b=input('                      ');

pause

fprintf('La matriz aumentada A|B del sistema es:')

n=length(a);

m=size(a);

r=size(b);

if m(2)==r(1)                      

    k=1;

    while k<=(n-1)

        c=a;                                                            

        if a(k,k)~=0

            i=k+1;

            while i<=n            

                j=k;

                AB=[a,b]              

                fprintf('Eliminar la columna %d a partir de F(%d)',k,k)

                fprintf('F(%d)-%.4f/%.4f*F(%d)',i,c(i,k),c(k,k),k)

                b(i)=b(i)-((c(i,k)/c(k,k))*b(k));    

                pause

                while j<=n

                    a(i,j)=a(i,j)-((c(i,k)/c(k,k))*a(k,j));

                    j=j+1;

                end

                i=i+1;

            end

        else

            fprintf('El sistema es inconsistente.')

            k=n+1;

        end

        k=k+1;

        c=a;              

    end

    AB=[a,b]

    i=n;

    while i>=1

        d(1,i)=a(i,i);        

        i=i-1;

    end

    e=any(any(d==0));        

    if e==0                  

        fprintf('Los valores de las incognitas son:\n')

        i=n;

        while i>=1

            j=i+1;

            s=0;

            while j<=n

                s=s+(a(i,j)*x(j));  

                j=j+1;

            end

            x(i)=(b(i)-s)/a(i,i);  

            fprintf('x(%d) es igual a',i)

            fprintf('x(%d) = (b(%d)-s)/a(%d,%d)',i,i,i,i)

            fprintf('x(%d) = (%.5f - %.5f)/%.5f',i,b(i),s,a(i,i))

            fprintf('x(%d) = %.5f\n\n',i,x(i))

                if i>1                  

                    pause

                end

           i=i-1;

        end

    else

       fprintf('El sistema  no tiene solucion o tiene soluciones infinitas.')      

   end

else

    fprintf('Faltan argumentos de entrada.')    

end

Evidencia:

Ingrese la matriz de coeficientes en formato [a1 a2 a3;b1 b2 b3;c1 c2 c3]:                      

[0.95 0 0.55;0 0.87 0.24;0.05 0.13 0.21]

Ingrese el vector de terminos independientes en el formato [r1;r2;r3]                      

[56.6895;33.1353;10.1752]

La matriz aumentada A|B del sistema es:


AB =

   0.9500         0    0.5500   56.6895
        0    0.8700    0.2400   33.1353
   0.0500    0.1300    0.2100   10.1752

Eliminar la columna 1 a partir de F(1)F(2)-0.0000/0.9500*F(1)


AB =

   0.9500         0    0.5500   56.6895
        0    0.8700    0.2400   33.1353
   0.0500    0.1300    0.2100   10.1752

Eliminar la columna 1 a partir de F(1)F(3)-0.0500/0.9500*F(1)


AB =

   0.9500         0    0.5500   56.6895
        0    0.8700    0.2400   33.1353
        0    0.1300    0.1811    7.1915

Eliminar la columna 2 a partir de F(2)F(3)-0.1300/0.8700*F(2)


AB =

   0.9500         0    0.5500   56.6895
        0    0.8700    0.2400   33.1353
        0         0    0.1452    2.2403

Los valores de las incognitas son:
x(3) es igual ax(3) = (b(3)-s)/a(3,3)x(3) = (2.24029 - 0.00000)/0.14519x(3) = 15.43000

x(2) es igual ax(2) = (b(2)-s)/a(2,2)x(2) = (33.13530 - 3.70320)/0.87000x(2) = 33.83000

x(1) es igual ax(1) = (b(1)-s)/a(1,1)x(1) = (56.68950 - 8.48650)/0.95000x(1) = 50.74000

b.

clc

fprintf('Ingrese la matriz de coeficientes en formato [a1 a2 a3;b1 b2 b3;c1 c2 c3]:')

aa=input('                      ');

fprintf('Ingrese el vector de terminos independientes en el formato [r1;r2;r3]:')

bb=input('                      ');

A=[aa,bb];

fprintf('La matriz aumentada A|B del sistema es:')

A

pause

[m,n] = size(A);

i = 1;

j = 1;

k = 0;

tol = max([m,n])*eps*norm(A,'inf');

while (i <= m) & (j <= n)

   [p,k] = max(abs(A(i:m,j))); k = k+i-1;

   if (p <= tol)

      fprintf(['Columna ' int2str(j) ' es insignificante.'])

      A(i:m,j) = zeros(m-i+1,1)      

      pause

      j = j + 1;

   else

      if i ~= k

         fprintf(['Cambiar filas ' int2str(i) ' y ' int2str(k) blanks(10)])

         fprintf('\n\n')

         A([i k],:) = A([k i],:)        

         pause

      end

     

      fprintf('Eliminar columna %d\n',j)

      fprintf(['a partir de en A(' int2str(i) ',' int2str(j) ')' blanks(10)])

      fprintf('\n\nA(%d,%d)/%0.5f\n',i,j,A(i,j))

      A(i,j:n) = A(i,j:n)/A(i,j)    

      pause    

      fprintf(['Eliminar columna ' int2str(j) blanks(10)])

      fprintf('\n')

      A      

      pause

      for k = 1:m

         if k ~= i

            fprintf('\n')

            fprintf('Fila[%d]=Fila[%d] - (A[%d,%d]/A[%d,%d])*Fila[%d]\n',k,k,k,j,i,j,j)

            pause

            A(k,j:n) = A(k,j:n) - A(k,j)*A(i,j:n)

         end

      end     

      pause

      i = i + 1;

      j = j + 1;

   end

end

   fprintf('Los valores de  las incognitas son:\n')

      for k = 1:m

            fprintf('\n\n\tx(%d)=%d\n',k,A(k,n))

            pause

      end

Evidencia:

Ingrese la matriz de coeficientes en formato [a1 a2 a3;b1 b2 b3;c1 c2 c3]:                      

[0.95 0 0.55;0 0.87 0.24;0.05 0.13 0.21]

Ingrese el vector de terminos independientes en el formato [r1;r2;r3]:                      

[56.6895;33.1353;10.1752]

La matriz aumentada A|B del sistema es:
A =

   0.9500         0    0.5500   56.6895
        0    0.8700    0.2400   33.1353
   0.0500    0.1300    0.2100   10.1752

Eliminar columna 1
a partir de en A(1,1)          

A(1,1)/0.95000

A =

   1.0000         0    0.5789   59.6732
        0    0.8700    0.2400   33.1353
   0.0500    0.1300    0.2100   10.1752

Elimir columna 1          

A =

   1.0000         0    0.5789   59.6732
        0    0.8700    0.2400   33.1353
   0.0500    0.1300    0.2100   10.1752


Fila[2]=Fila[2] - (A[2,1]/A[1,1])*Fila[1]


A =

   1.0000         0    0.5789   59.6732
        0    0.8700    0.2400   33.1353
   0.0500    0.1300    0.2100   10.1752


Fila[3]=Fila[3] - (A[3,1]/A[1,1])*Fila[1]


A =

   1.0000         0    0.5789   59.6732
        0    0.8700    0.2400   33.1353
        0    0.1300    0.1811    7.1915

Eliminar columna 2
a partir de en A(2,2)          

A(2,2)/0.87000

A =

   1.0000         0    0.5789   59.6732
        0    1.0000    0.2759   38.0866
        0    0.1300    0.1811    7.1915

Elimir columna 2          

A =

   1.0000         0    0.5789   59.6732
        0    1.0000    0.2759   38.0866
        0    0.1300    0.1811    7.1915


Fila[1]=Fila[1] - (A[1,2]/A[2,2])*Fila[2]


A =

   1.0000         0    0.5789   59.6732
        0    1.0000    0.2759   38.0866
        0    0.1300    0.1811    7.1915


Fila[3]=Fila[3] - (A[3,2]/A[2,2])*Fila[2]


A =

   1.0000         0    0.5789   59.6732
        0    1.0000    0.2759   38.0866
        0         0    0.1452    2.2403

Eliminar columna 3
a partir de en A(3,3)          

A(3,3)/0.14519

A =

   1.0000         0    0.5789   59.6732
        0    1.0000    0.2759   38.0866
        0         0    1.0000   15.4300

Elimir columna 3          

A =

   1.0000         0    0.5789   59.6732
        0    1.0000    0.2759   38.0866
        0         0    1.0000   15.4300


Fila[1]=Fila[1] - (A[1,3]/A[3,3])*Fila[3]


A =

   1.0000         0         0   50.7400
        0    1.0000    0.2759   38.0866
        0         0    1.0000   15.4300


Fila[2]=Fila[2] - (A[2,3]/A[3,3])*Fila[3]


A =

   1.0000         0         0   50.7400
        0    1.0000         0   33.8300
        0         0    1.0000   15.4300

Los valores de  las incognitas son:



        x(1)=5.074000e+01



        x(2)=3.383000e+01



        x(3)=1.543000e+01

Formato de Proyectos[pic 6][pic 7]

...

Descargar como (para miembros actualizados)  txt (8 Kb)   pdf (278 Kb)   docx (326 Kb)  
Leer 11 páginas más »
Disponible sólo en Clubensayos.com