You are on page 1of 3

Mtodos Numricos: unidad II.

- Races de Ecuaciones y Polinomios

Nombre:

Gabriel Perez Avelar

El Mtodo de Biseccin (o del punto medio)

Matrcula: 020954

1. Para que la pieza central de un eje de rotacin de acerocomo el que se muestra en la figurapueda
embonar perfectamente en el ensamble, sta se debe enfriar muy por debajo de los 0C con el fin de causarle
cierto grado de contraccin y as pueda pasar a travs del orificio central. La ecuacin que determina la
temperatura ideal a la cul debe ser enfriada la pieza para lograr la contraccin deseada, es la siguiente:
f (T) = (0.50598*1010)T3 + (0.38292*107)T2 + (0.74363*104)T + 0.88318*102 = 0
Elabora un programa de computadora sencillo que utilice el mtodo de Biseccin para
encontrar la raz adecuada que te permita determinar la temperatura ideal a la cual debe
ser enfriada la pieza metlica.
Tip: al ser una ecuacin cbica, obviamente tendr 3 races. Para escoger el intervalo correspondiente a la
raz que resuelva correctamente el problema (slo una de las 3 races lo resuelve correctamente), debes
tener en cuenta que la temperatura ideal debe estar muy por debajo de los 0C; aunquepor razones
fsicasno puede ser menor de 273.15C (el cero absoluto).

Responde lo que a continuacin se te pide:


a) El intervalo de temperaturas (en C) que utilizaste para el clculo: T1=____0____; T2=____-273C_____
b) El nivel de precisin que escogiste (es decir, el porcentaje de error o error relativo): =____0.0001____

c) El nmero de iteraciones (repeticiones) que realiz el programa: _____5______


d) El valor final de la funcin f (Tc)=_____4.8E-5_______ ( 0)
e) El valor final que obtuviste para la temperatura ideal de enfriamiento: Tc =____-127.96_____
f) Seala con un pequeo crculo verde, cul punto en la siguiente grfica corresponde a la temperatura ideal
encontrada:

Mtodos Numricos: unidad II.- Races de Ecuaciones y Polinomios

El Mtodo de Biseccin (o del punto medio)

g) Pega abajo el cdigo del programa que elaboraste:


Nota: procura que se vea ordenado y agrega notas explicativas al cdigo /**/
using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
double T1, T2, T, f1, f2, f, Tol = 0;
double a, b, c, d;//constantes del polinomio
int i = 0;//contador de interaciones
Console.WriteLine("Metodo de Biseccion\n");
Console.WriteLine("Ingresa las constantes de la funcion (f(T)=aT^3+bT^2+cT+d)");
Console.Write("a = ");
a = Convert.ToDouble(Console.ReadLine());
Console.Write("b = ");
b = Convert.ToDouble(Console.ReadLine());
Console.Write("c = ");
c = Convert.ToDouble(Console.ReadLine());
Console.Write("d = ");
d = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("ingresa el nivel de precision del calculo (ejemplo: 0.0001)");
regresar:
Console.WriteLine("Ingresa un intervalo de temperatura: ");
Console.Write("T1 = ");
T1 = Convert.ToDouble(Console.ReadLine());
Console.Write("T2 = ");
T2 = Convert.ToDouble(Console.ReadLine());
f1 = a * Math.Pow(T1, 3) + b * Math.Pow(T1, 2) + c * T1 + d;
f2 = a * Math.Pow(T2, 3) + b * Math.Pow(T2, 2) + c * T2 + d;
if (f1 * f2 > 0)
{
Console.WriteLine("El intervalo de temperaturas no es adecuado!!!");
goto regresar;
}
else
{
do
{
T = (T1 + T2) / 2;
f = a * Math.Pow(T, 3) + b * Math.Pow(T, 2) + c * T + d;
i++;
Console.WriteLine("Iteracion: {0}
Temperatura: {1}
Funcion: {2}", i, T, f);
if (f1*f <0)
{
T2 = T;
}
else
{
T1 = T;
}
} while (Math.Abs(f) >= Tol);

Mtodos Numricos: unidad II.- Races de Ecuaciones y Polinomios

}
}
}
}

Console.ReadKey();

El Mtodo de Biseccin (o del punto medio)