Actividad 7 Metodos

Reporte Nombre: Francisco Javier Castillo Montes Matrícula: 2764254 Nombre del curso: Nombre del profesor: Métodos numé

Views 98 Downloads 44 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Reporte

Nombre: Francisco Javier Castillo Montes Matrícula: 2764254 Nombre del curso: Nombre del profesor: Métodos numérico Módulo:

Santiago Banda Muñoz Actividad:

Módulo 2 Fecha: 19 de septiembre de 2016

Actividad 7

Bibliografía TecMilenio. (19 de Septiembre de 2016). BlackBoard. Obtenido de https://miscursos.tecmilenio.mx/bbcswebdav/institution/UTM/semestre/profesio nal/ti/ti13201/bb/tema7.htm

Objetivo: Conocer las diferencias entre los distintos métodos para encontrar raíces. Procedimiento: 1. Leer el tema 2. Leer la actividad 3. Realizar ejemplos 4. Realizar ejemplos de actividad 5. Realizar reporte Resultados: Método de bisección

class Program { static void Main(string[] args) { double x_nueva, x_vieja, y_nueva, y_vieja, punto_medio, y_media, paso, variable_criterio; variable_criterio = 0.0000001; punto_medio = 0; x_vieja = 0; //Este es el punto de inicio x_nueva = -4; //Este es el tamaño de paso paso = 1;

Reporte //Se evalúa la función antes de entrar al ciclo y_nueva = 2 * x_nueva * x_nueva - 5 * x_nueva +1; y_vieja = y_nueva; //Mientras la y_nueva y la y_vieja tengan el mismo signo //sigue en el ciclo buscando while (y_nueva*y_vieja >0 ) { x_vieja = x_nueva; x_nueva = x_vieja + paso;

}

y_vieja = y_nueva; //Esta es la función a evaluar y_nueva = 2 * x_nueva * x_nueva - 5 * x_nueva +1;

if (y_nueva == 0) { Console.WriteLine("Ya se encontró la raiz en " + x_nueva); } while ((Math.Abs(y_nueva) > variable_criterio) & (Math.Abs(y_vieja) > variable_criterio)) { punto_medio = (x_vieja + x_nueva) / 2; y_media = 2 * punto_medio * punto_medio - 5 * punto_medio + 2; if (y_media * y_nueva > 0) { x_nueva = punto_medio; y_nueva= y_media; } else { x_vieja = punto_medio; y_vieja = y_media; } } Console.WriteLine("El intervalo en el que está la raíz está entre " + x_vieja + " y " + x_nueva); Console.WriteLine("El punto medio es: " + punto_medio); Console.ReadLine(); } }

}

Reporte

Método de secante

class Program { static void Main(string[] args) { double x_nueva, x_vieja, y_nueva, y_vieja, punto_medio, y_media, paso, variable_criterio; variable_criterio = 0.0000001; punto_medio = 0; x_vieja = 0; //Este es el punto de inicio x_nueva = -4; //Este es el tamaño de paso paso = 1; //Se evalúa la función antes de entrar al ciclo y_nueva = 2 * x_nueva * x_nueva - 5 * x_nueva + 1; y_vieja = y_nueva; //Mientras la y_nueva y la y_vieja tengan el mismo signo //sigue en el ciclo buscando while (y_nueva * y_vieja > 0) { x_vieja = x_nueva; x_nueva = x_vieja + paso; y_vieja = y_nueva; //Esta es la función a evaluar y_nueva = 2 * x_nueva * x_nueva - 5 * x_nueva + 1;

Reporte } if (y_nueva == 0) { Console.WriteLine("Ya se encontró la raiz en " + x_nueva); } while ((Math.Abs(y_nueva) > variable_criterio) & (Math.Abs(y_vieja) > variable_criterio)) { punto_medio = x_vieja + (y_nueva * (x_vieja - x_nueva) / (y_vieja - y_nueva)); y_media = 2 * punto_medio * punto_medio - 5 * punto_medio + 1; if (y_media { x_nueva y_nueva } else { x_vieja y_vieja }

* y_nueva > 0) = punto_medio; = y_media;

= punto_medio; = y_media;

} Console.WriteLine("El intervalo en el que está la raíz está entre " + x_vieja + " y " + x_nueva); Console.WriteLine("El punto medio es: " + punto_medio); } }

Console.ReadLine();

}

Método de Newton-Raphson

Reporte

static void Main(string[] args) { double x, y, dy, variable_criterio; variable_criterio = 0.001; x = -4; y = 2 * x * x - 5 * x + 1;

while (Math.Abs(y) > variable_criterio) { y = 2 * x * x - 5 * x + 1; dy = 4 * x - 5; x = x - (y / dy); } Console.WriteLine("La x final es: " + x); Console.WriteLine("La y final es: " + y); Console.ReadLine(); }

1.

Realiza un programa que haga lo siguiente: a. Encuentre la raíz de la ecuación

Por el método de bisección. b.

El programa debe de contar cuántos ciclos se utilizaron para llegar al criterio de convergencia.

Reporte static void Main(string[] args) { double x_nueva, x_vieja, y_nueva, y_vieja, punto_medio, y_media, paso, variable_criterio; variable_criterio = 0.0000001; punto_medio = 0; x_vieja = 0; //Este es el punto de inicio x_nueva = -4; //Este es el tamaño de paso paso = 1; //Se evalúa la función antes de entrar al ciclo y_nueva = 1 * x_nueva * x_nueva * x_nueva - 1 * x_nueva * x_nueva + 4 *x_nueva - 2; y_vieja = y_nueva; //Mientras la y_nueva y la y_vieja tengan el mismo signo //sigue en el ciclo buscando while (y_nueva * y_vieja > 0) { x_vieja = x_nueva; x_nueva = x_vieja + paso; y_vieja = y_nueva; //Esta es la función a evaluar y_nueva = 1 * x_nueva * x_nueva * x_nueva - 1 * x_nueva * x_nueva + 4 * x_nueva - 2; } if (y_nueva == 0) { Console.WriteLine("Ya se encontró la raiz en " + x_nueva); } while ((Math.Abs(y_nueva) > variable_criterio) & (Math.Abs(y_vieja) > variable_criterio)) { punto_medio = (x_vieja + x_nueva) / 2; y_media = 1 * punto_medio * punto_medio * punto_medio - 1 * punto_medio * punto_medio + 4 * punto_medio - 2; if (y_media { x_nueva y_nueva } else { x_vieja y_vieja }

"

* y_nueva > 0) = punto_medio; = y_media;

= punto_medio; = y_media;

} Console.WriteLine("El intervalo en el que está la raíz está entre + x_vieja + " y " + x_nueva); Console.WriteLine("El punto medio es: " + punto_medio); Console.ReadLine();

Reporte }

}

}

2.

Haz un programa que haga lo siguiente: a. Encuentre la raíz de la ecuación

Por el método de la secante. b.

El programa debe de contar cuantos ciclos se utilizaron para llegar al criterio de convergencia.

class Program { static void Main(string[] args) { double x_nueva, x_vieja, y_nueva, y_vieja, punto_medio, y_media, paso, variable_criterio; variable_criterio = 0.0000001; punto_medio = 0; x_vieja = 0; //Este es el punto de inicio x_nueva = -4; //Este es el tamaño de paso paso = 1; //Se evalúa la función antes de entrar al ciclo y_nueva = 1 * x_nueva * x_nueva * x_nueva - 1 * x_nueva * x_nueva + 4 * x_nueva - 2; y_vieja = y_nueva; //Mientras la y_nueva y la y_vieja tengan el mismo signo

Reporte //sigue en el ciclo buscando while (y_nueva * y_vieja > 0) { x_vieja = x_nueva; x_nueva = x_vieja + paso; y_vieja = y_nueva; //Esta es la función a evaluar y_nueva = 1 * x_nueva * x_nueva * x_nueva - 1 * x_nueva * x_nueva + 4 * x_nueva - 2; } if (y_nueva == 0) { Console.WriteLine("Ya se encontró la raiz en " + x_nueva); } while ((Math.Abs(y_nueva) > variable_criterio) & (Math.Abs(y_vieja) > variable_criterio)) { punto_medio = x_vieja + (y_nueva * (x_vieja - x_nueva) / (y_vieja - y_nueva)); y_media = 1 * punto_medio * punto_medio * punto_medio - 1 * punto_medio * punto_medio + 4 * punto_medio - 2;

}

if (y_media { x_nueva y_nueva } else { x_vieja y_vieja }

* y_nueva > 0) = punto_medio; = y_media;

= punto_medio; = y_media;

Console.WriteLine("El intervalo en el que está la raíz está entre "

+ x_vieja + " y " + x_nueva); Console.WriteLine("El punto medio es: " + punto_medio); } }

}

Console.ReadLine();

Reporte

2.

Haz un programa que haga lo siguiente: a. Encuentre la raíz de la ecuación

dY= 3x2 – 2x + 4 Por el método de Newton-Raphson. b.

El programa debe de contar cuantos ciclos se utilizaron para llegar al criterio de convergencia.

namespace ConsoleApplication1 { class Program { static void Main(string[] args) { double x, y, dy, variable_criterio;

Reporte variable_criterio = 0.001; x = -4; y = 1 * x * x * x - 1 * x * x + 4 *x - 2 ; while (Math.Abs(y) > variable_criterio) { y = 1 * x * x * x - 1 * x * x + 4 * x - 2; dy = 3 * x * x - 2 *x + 4; x = x - (y / dy); } Console.WriteLine("La x final es: " + x); Console.WriteLine("La y final es: " + y); }

Console.ReadLine(); } }

Conclusión: En esta actividad vimos lo diferentes ejemplos por los cuales por los cuales resolvemos de diferentes maneras para resolver las raíz de la ecuación. Y por lo tanto dependerá de la ecuación que se esté manejando será el método que se tomara en cuenta para resolver la ecuación.