Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Métodos Numéricos
Tema
Si la juguera tiene en existencia 900 klg de naranja tardía, 900 klg de naranja Mónica y 900 klg de
naranja temprana. ¿cuantos camiones se pueden llenar si se usan los 3 tipos de naranja disponibles?
Ecuaciones:
Gauss Jordan
______________________________________________________________________________________________________________
Feb’10 – Ago’10 Equipo N° ## 2 de 17
Fac. de Ingeniería en Electrónica y Comunicaciones, U.V. Métodos Numéricos
Dr. Silverio Pérez Cáceres
R2-100 R1R2 (multiplicamos la fila 1 por 100 y restamos a la fila 2); R3-100 R1 R3
(multiplicamos la fila 1 por 100 y
Restamos a la fila 3)
R1+
Y restamos a la fila 2
______________________________________________________________________________________________________________
Feb’10 – Ago’10 Equipo N° ## 3 de 17
Fac. de Ingeniería en Electrónica y Comunicaciones, U.V. Métodos Numéricos
Dr. Silverio Pérez Cáceres
int main()
{
int num_inc, i, j, k, x, y;
printf(" ** SISTEMAS DE ECUACIONES ALGEBRAICAS LINEALES SIMULTANEAS **.\n ");
printf("METODO DE GAUSS-JORDAN \n\n");
printf(" cuantas incognitas tienes: ");
scanf(" %d", &num_inc);
float matriz[num_inc][num_inc+1], recu[1][num_inc+1], incog[num_inc], aux0, aux1, aux2, ayuda;
printf("\n Introduce los valores de tu sistema de ecuaciones en la matriz:\n\n");
for(i=0;i<num_inc;i++)
{
for(j=0;j<num_inc+1;j++)
{
printf(" Fila %d, columna %d: ", i+1, j+1);
scanf(" %d", &k);
matriz[i][j] = k;
}
printf("\n");
}
printf("\n\n Tu sistema seria el siguiente: \n\n");
for(i=0;i<num_inc;i++)
{
for(j=0;j<num_inc+1;j++)
{
printf(" %.1f ", matriz[i][j]);
}
printf("\n");
}
for(i=0;i<num_inc-1;i++)
{
aux1 = matriz[i][i];
for(j=i+1;j<num_inc;j++)
{
aux2 = matriz[j][i];
for(k=i;k<num_inc+1;k++)
{
aux0 = matriz[i][k];
recu[0][k] = aux0;
aux0 = aux0*aux2*(-1);
matriz[i][k] = aux0;
aux0 = matriz[j][k];
aux0 = aux0*aux1*1;
matriz[j][k] = aux0;
}
for(y=0;y<num_inc+1;y++)
{
aux0 = matriz[i][y] + matriz[j][y];
matriz[j][y] = aux0;
}
for(x=i;x<num_inc+1;x++)
{
aux0 = recu[0][x];
matriz[i][x] = aux0;
}
}
}
______________________________________________________________________________________________________________
Feb’10 – Ago’10 Equipo N° ## 4 de 17
Fac. de Ingeniería en Electrónica y Comunicaciones, U.V. Métodos Numéricos
Dr. Silverio Pérez Cáceres
______________________________________________________________________________________________________________
Feb’10 – Ago’10 Equipo N° ## 5 de 17
Fac. de Ingeniería en Electrónica y Comunicaciones, U.V. Métodos Numéricos
Dr. Silverio Pérez Cáceres
______________________________________________________________________________________________________________
Feb’10 – Ago’10 Equipo N° ## 6 de 17
Fac. de Ingeniería en Electrónica y Comunicaciones, U.V. Métodos Numéricos
Dr. Silverio Pérez Cáceres
Tema
Figura
Ecuaciones:
Gauss Seidel
SOLUCIÓN
______________________________________________________________________________________________________________
Feb’10 – Ago’10 Equipo N° ## 7 de 17
Fac. de Ingeniería en Electrónica y Comunicaciones, U.V. Métodos Numéricos
Dr. Silverio Pérez Cáceres
Entones tomamos los valores calculados en la última iteración y se toman como supuestos para la siguiente
iteración. Se repite entones el proceso:
X1= 3.0
X2= -2.5
X3= 7.0
#include <stdio.h>
#include <math.h>
#include <conio.h>
#define L 10
#define A L
main()
{
float M[L][A],X[L],CX[L],C[L];
float a, b, c, d, e, f;
int it,ini,n,x,y,z;
printf("Solucion de ecuaciones simultaneas por el metodo de Gauss-Seidel");
printf("Cuantas incognitas tendra el sistema: ");
scanf("%d",&n);
for(x=0;x<n;x++)
{
CX[x]=0;
X[x]=0;
}
for(y=0;y<n;y++)
{
for(x=0;x<n;x++)
{
printf("A[%d][%d] = ",y,x);
scanf("%f",&e);
M[y][x]=e;
}
printf("Y la constante C[%d] = ",y);
scanf("%f",&f);
C[y]=f;
}
for(it=0;it<20;it++)
{
for(y=0;y<n;y++)
{
for(x=0;x<n;x++)
CX[y]-=(M[y][x]*X[x])/M[y][y];
CX[y]+=(C[y]/M[y][y]);
X[y]=CX[y];
}
}
printf("El resultado es ");
for(x=0;x<n;x++)
printf("nX[%d]=%f",x+1,X[x]);
getch();
}
______________________________________________________________________________________________________________
Feb’10 – Ago’10 Equipo N° ## 9 de 17
Fac. de Ingeniería en Electrónica y Comunicaciones, U.V. Métodos Numéricos
Dr. Silverio Pérez Cáceres
______________________________________________________________________________________________________________
Feb’10 – Ago’10 Equipo N° ## 10 de
17
Fac. de Ingeniería en Electrónica y Comunicaciones, U.V. Métodos Numéricos
Dr. Silverio Pérez Cáceres
______________________________________________________________________________________________________________
Feb’10 – Ago’10 Equipo N° ## 11 de
17
Fac. de Ingeniería en Electrónica y Comunicaciones, U.V. Métodos Numéricos
Dr. Silverio Pérez Cáceres
Tema
Para la elaboración de dos galletas se necesitan 2 "ingredientes secretos" para que tengan mejor
sabor.
La primera galleta debe llevar 2 gr del ingrediente 1 (x), 3 gr del ingrediente 2. La segunda galleta
debe de llevar 3gr del ingrediente 1 y 5gr del ingrediente 2.
Si contamos únicamente con 24gr del ingrediente 1 y 37 gr del ingrediente 2. ¿Cuántas galletas se
pueden producir si se usan los dos tipos de ingredientes disponibles?
______________________________________________________________________________________________________________
Feb’10 – Ago’10 Equipo N° ## 12 de
17
Fac. de Ingeniería en Electrónica y Comunicaciones, U.V. Métodos Numéricos
Dr. Silverio Pérez Cáceres
Ecuaciones:
2x1-3x2=8
3x1+5x2=9
MATRIZ INVERSA
______________________________________________________________________________________________________________
Feb’10 – Ago’10 Equipo N° ## 13 de
17
Fac. de Ingeniería en Electrónica y Comunicaciones, U.V. Métodos Numéricos
Dr. Silverio Pérez Cáceres
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int num_inc, i, j, k, x, y;
printf(" ** SISTEMAS DE ECUACIONES ALGEBRAICAS LINEALES SIMULTANEAS **.\n ");
printf("METODO DE GAUSS-JORDAN \n\n");
printf(" cuantas incognitas tienes: ");
scanf(" %d", &num_inc);
float matriz[num_inc][num_inc+1], recu[1][num_inc+1], incog[num_inc], aux0, aux1, aux2;
printf("\n Introduce los valores de tu sistema de ecuaciones en la matriz:\n\n");
for(i=0;i<num_inc;i++)
{
for(j=0;j<num_inc+1;j++)
{
printf(" Fila %d, columna %d: ", i+1, j+1);
scanf(" %d", &k);
matriz[i][j] = k;
}
printf("\n");
}
printf("\n\n Tu sistema seria el siguiente: \n\n");
for(i=0;i<num_inc;i++)
{
for(j=0;j<num_inc+1;j++)
{
printf(" %.1f ", matriz[i][j]);
}
printf("\n");
}
for(i=0;i<num_inc-1;i++)
{
aux1 = matriz[i][i];
for(j=i+1;j<num_inc;j++)
{
aux2 = matriz[j][i];
for(k=i;k<num_inc+1;k++)
{
aux0 = matriz[i][k];
recu[0][k] = aux0;
aux0 = aux0*aux2*(-1);
matriz[i][k] = aux0;
aux0 = matriz[j][k];
aux0 = aux0*aux1*1;
matriz[j][k] = aux0;
}
for(y=0;y<num_inc+1;y++)
{
aux0 = matriz[i][y] + matriz[j][y];
matriz[j][y] = aux0;
}
for(x=i;x<num_inc+1;x++)
{
aux0 = recu[0][x];
matriz[i][x] = aux0;
}
______________________________________________________________________________________________________________
Feb’10 – Ago’10 Equipo N° ## 15 de
17
Fac. de Ingeniería en Electrónica y Comunicaciones, U.V. Métodos Numéricos
Dr. Silverio Pérez Cáceres
}
}
______________________________________________________________________________________________________________
Feb’10 – Ago’10 Equipo N° ## 16 de
17
Fac. de Ingeniería en Electrónica y Comunicaciones, U.V. Métodos Numéricos
Dr. Silverio Pérez Cáceres
______________________________________________________________________________________________________________
Feb’10 – Ago’10 Equipo N° ## 17 de
17