Métodos numéricos en ingeniería
Enviado por Angeles Lozano • 5 de Febrero de 2016 • Apuntes • 1.681 Palabras (7 Páginas) • 175 Visitas
María de los Angeles Lozano Alanís. A01280763
Métodos numéricos en ingeniería. Gpo: 02.
Profesor: Juan Raúl Esparza Martínez.
Lunes 31 de agosto del 2015.
Tarea #3. Integración por trapecios y Simpson 1/3.
- Integración por trapecios.
Cálculo a mano:[pic 1]
Ejecución del programa:[pic 2]
[pic 3]
[pic 4]
[pic 5]
[pic 6]
[pic 7]
Programa en c#:
{
class MainClass
{
//María de los Angeles Lozano Alanís. a01280763
//Métodos numéricos para ingeniería.
//Programa que aproxima la integral de una función.
static double funcion(double x)
{
//Esta es la función a integrar
double r = 3 * Math.Pow(x, 3) + 2.5 * Math.Pow(x, 2) + 3.3333 * Math.Pow(x, 1) + 10;
return r;
}
static double Trapezoidal(double a, double b)
{
return (b - a) * ((funcion(a) + funcion(b)) / 2);
}
static double TrapezoidalExt(double a, double b, int n)
{
//saco la anchura
double h = (b - a) / n;
double sumatoria = 0;
for (int i = 1; i <= n - 1; i++)
sumatoria += funcion(a + i * h);
return sumatoria * h;
}
static void Main(string[] args)
{
Console.WriteLine("Este programa va a aproximar la integral");
Console.WriteLine("De la función f(x)= 3x^3+2.5x^2+3.3333x+10");
Console.WriteLine("Usando el método de trapecios");
//Pregunta los límites de integración
Console.WriteLine("Dame el valor de A:");
double a = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Dame el valor de B:");
double b = Convert.ToDouble(Console.ReadLine());
//Pregunta el número de segmentos
Console.WriteLine("Teclee el número de subintervalos (n): ");
int iN = Convert.ToInt32(Console.ReadLine());
double iAnterior = 0, iNueva = 0;
iN += 1;
//calcula la integral, va sumando segmento por segmento
double x0 = a;
double h = (b - a) / iN;
double dSumatoria = 0;
for (int i = 0; i < iN; i++)
{
double x2 = x0 + h;
double x1 = (x0 + x2) / 2;
double dIntegral = Trapezoidal(x0, x2);
dSumatoria += dIntegral;
x0 = x2;
}
iAnterior = iNueva;
iNueva = dSumatoria;
Console.WriteLine("El resultado de la Integral es: " +iNueva);
Console.ReadLine();
...