You are on page 1of 4

Reporte

Nombre: Francisco Javier Castillo Montes Matrcula: 2764254


Nombre del curso: Nombre del profesor:
Mtodos Numricos Santiago Banda Muoz
Mdulo: Actividad:
Mdulo 2. Solucin de sistemas de Actividad 9
ecuaciones
Fecha: 3 de octubre de 2016

Bibliografa
TecMilenio. (3 de octubre de 2016). Blackboard. Obtenido de
https://miscursos.tecmilenio.mx/bbcswebdav/institution/UTM/semestre/profesio
nal/ti/ti13201/bb/tema8.htm

Objetivo:
Encontrar la solucin a un sistema de ecuaciones no lineales.
Procedimiento:
1. Leer el tema
2. Realizar ejemplos
3. Realizar reporte
Resultados:
El mtodo como se vio anteriormente, se puede hacer a mano si se tienen pocos puntos,
pero si hay 100 puntos o ms es prcticamente imposible solucionar esto a menos que se
utilice una computadora. Si se tienen 20 puntos que describen la cantidad de voltaje
generada por una celda solar cada hora:
Reporte

{
static void Main(string[] args)
{
double pivote, factor;

double[,] jacobiana = new double[20, 3];


double[,] matriz = new double[3, 4];

//Temperaturas de cada mes


double[] voltaje = { -2.4684, 56.8038, 4.8393, 13.2878, -0.1931,
-19.5771,
55.4146, 74.4829, 62.0632, 37.3616, 14.1876,
72.9088, 81.5205, 120.7811, 156.3607,
141.7361,
110.898, 129.7614, 192.8516, 253.4778 };
double[] tiempo = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16,
17, 18, 19, 20};

for (int i = 0; i < 20; i = i + 1)


{
jacobiana[i, 0] = tiempo[i] * tiempo[i];
jacobiana[i, 1] = Math.Sin(tiempo[i]);
jacobiana[i, 2] = Math.Exp(tiempo[i] / 10);
}

//Multiplicacin de matrices
//------------------------------
for (int i = 0; i < 3; i = i + 1)
for (int j = 0; j < 3; j = j + 1)
for (int k = 0; k < 20; k = k + 1)
matriz[i, j] = matriz[i, j] + jacobiana[k, i] *
jacobiana[k, j];
Reporte

for (int i = 0; i < 3; i = i + 1)


for (int j = 0; j < 1; j = j + 1)
for (int k = 0; k < 20; k = k + 1)
matriz[i, 3] = matriz[i, 3] - voltaje[k] * jacobiana[k,
i];
//------------------------------

//Eliminacin Gaussiana
//------------------------------
for (int reng = 0; reng < 3; reng = reng + 1)
{
pivote = matriz[reng, reng];
for (int colu = 0; colu < 4; colu = colu + 1)
matriz[reng, colu] = matriz[reng, colu] / pivote;
for (int reng_elimi = 0; reng_elimi < 3; reng_elimi = reng_elimi
+ 1)
if (reng_elimi != reng)
{
factor = matriz[reng_elimi, reng];
for (int colu_elimi = 0; colu_elimi < 4;
colu_elimi = colu_elimi + 1)
matriz[reng_elimi, colu_elimi] = matriz[reng_elimi,
colu_elimi] - factor * matriz[reng, colu_elimi];
}
}
//------------------------------

//Imprime los valores de las variables


Console.WriteLine(matriz[0, 3] + " " + matriz[1, 3] + " " + matriz[2,
3] + " ");

Console.ReadLine();

}
}

Conclusin:
Reporte

En este ejercicio vimos la utilizacin del mtodo para resolver mnimos


cuadrados y por el cual se podrn resolver ms mtodos iguales o similares a
este tipo. Podemos concluir que en esta serie de datos y otra ms podremos
resolver o saber sus valores dependiendo del mtodo a utilizar.

You might also like