Sei sulla pagina 1di 4

UNIVERSIDAD TECMILENIO CAMPUS SAN NICOLAS

Nombre: Katia Sarahi Mata Gonzalez Matrícula: 2866049

Maria Fernanda Rocha Cavazos 2869384

Juan Servando Cardenas Garcia 2865697

Nombre del curso: Nombre del profesor:

Metodos numèricos Maria Guadalupe Flores Solis

Módulo 1: Módulo 2. Solución de Actividad:


sistemas de ecuaciones
Tarea 5. Resolver Matrices con
Gauss

Fecha: 02/03/2019

Objetivo de la tarea:
Comprender el funcionamiento del código para resolver un sistema de ecuaciones
por el método gaussiano.
Procedimiento:

1. Crea un programa que resuelva una matriz por el método de Gauss de la


siguiente manera:
a. Pida al usuario el tamaño de la matriz. Deberá ser cuadrada para que solo
pregunte un valor.
b. Pregunte los valores de la matriz al usuario (números positivos o
negativos).
c. Si todos los coeficientes son cero o tienen dos filas (renglones) iguales para
el programa, enviará el mensaje "Ecuaciones dependientes".
d. Si algún elemento del renglón es distinto de cero, positivo o negativo,
quiere decir que el pivote es cero, por lo que se debe parar el programa y
mandar un mensaje que indique sistema incompatible.

Resultado:
using System;
using System.Collections.Generic;
UNIVERSIDAD TECMILENIO CAMPUS SAN NICOLAS
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp15
{
class Program
{
static void Main(string[] args)
{
int Fil1;
int Fil2;
Console.WriteLine("Ingrese valor de la fila 1");
Fil1 = int.Parse(Console.ReadLine());
// Console.WriteLine("Ingrese valor de la Fila 2");
// Fil2= int.Parse(Console.ReadLine());
Fil2 = Fil1 + 1;
double[,] matriz = new double[Fil1, Fil2];
for (int i = 0; i < Fil1; i++)
{
for (int j = 0; j < Fil2; j++)
{
Console.WriteLine("Ingresa valor para la matriz");
matriz[i, j] = int.Parse(Console.ReadLine());
}
}

double pivote = 0, factor;


UNIVERSIDAD TECMILENIO CAMPUS SAN NICOLAS
for (int reng = 0; reng < Fil1; reng = reng + 1)
{
//Selecciona el elemento diagonal como pivote
pivote = matriz[reng, reng];

//Divide todo el renglón entre el pivote


for (int colu = 0; colu < Fil2; colu = colu + 1)
{
matriz[reng, colu] = matriz[reng, colu] / pivote;
}
//Elimina los elementos que están en la misma columna
//que el pivote seleccionado.
//Aquí seleccióna el renglón
for (int reng_elimi = 0; reng_elimi < Fil1; reng_elimi = reng_elimi + 1)
{
if (reng_elimi != reng)
{
//Selecciona el factor por el que se va a multplicar
//el renglón principal para eliminar el elemento
factor = matriz[reng_elimi, reng];

//Resta todo el renglón principal a el renglón a eliminar


for (int colu_elimi = 0; colu_elimi < Fil2;
colu_elimi = colu_elimi + 1)
{
matriz[reng_elimi, colu_elimi]
= matriz[reng_elimi, colu_elimi] - factor
* matriz[reng, colu_elimi];
UNIVERSIDAD TECMILENIO CAMPUS SAN NICOLAS
}
}
}
}
for (pivote = 0; pivote < Fil1;
pivote = pivote + 1) ;
Console.WriteLine("Resultados" + 1);
if (pivote == 0)
{

Console.WriteLine("Ecuciones dependientes");
}
else
{
Console.WriteLine("Tiene solución");
Console.WriteLine(" X =" + matriz[0, Fil1]);
Console.WriteLine(" Y =" + matriz[1, Fil1]);
Console.WriteLine(" Z =" + matriz[2, Fil1]);
Console.WriteLine(" F =" + matriz[3, Fil1]);
}
Console.Read();
}
}
}
Conclusión:
En base en seguir las instrucciones se puede obtener fácilmente lo que se pide,
solo es cuestión de practica.

Potrebbero piacerti anche