hola, ante todo presentarme pues soi nuevotengo un examen de metodos numericos y no me entero muy bien.Un ejercicio es de resolucion de intregales por dos metodos, trapecio y simpson y otro ejercicio para hacer por los metodos de biseccion, secante o newton.La cosa es que no entiendo nada, ni porque hay tanto static void e static int o doubl, para que sirve cada uno....... Si me podeis ayudar a encontar alguna pagina o algo que explique cada metodo o ejemlos de dichos ejercicios porque no encuentro nada por internet.Sludos y gracias
el problema es que no tengo los codigos de dichos metodos, y los estoy buscando, en internet solo encuentro la forma matematica de cada metodo y su explicacion pero esque no encuentro como es el codigo para visual studio c#si alguien lo encuentra o puede pasrmelo se lo agradezco.
using System;class trapecios{ static double Fx1(double x) { return Math.Sin(x); } static double trapecio (double A, double B, int N) { double Integral = 0; double h = (B - A) / N; for (double x = A; x < B; x += h) { double xdch = x + h; double Fx = Fx1(x); double Fxdch = Fx1(xdch); Integral += (Fx + Fxdch) / 2 * h; } return Integral; } static void Main() { double Menor = 0.0, Mayor = Math.PI / 2.0; int Intervalos = 1000; double Ancho = (Mayor - Menor) / Intervalos; double Integral = (Fx1(Menor) + Fx1(Mayor)) / 2.0; for (int I = 1; I < Intervalos; I++) { Integral += Fx1(Menor + I * Ancho); } Integral *= Ancho; Console.WriteLine(Integral); Console.ReadLine(); }}
Citarusing System;class trapecios{ static double Fx1(double x) { return Math.Sin(x); } static double trapecio (double A, double B, int N) { double Integral = 0; double h = (B - A) / N; for (double x = A; x < B; x += h) { double xdch = x + h; double Fx = Fx1(x); double Fxdch = Fx1(xdch); Integral += (Fx + Fxdch) / 2 * h; } return Integral; } static void Main() { double Menor = 0.0, Mayor = Math.PI / 2.0; int Intervalos = 1000; double Ancho = (Mayor - Menor) / Intervalos; double Integral = (Fx1(Menor) + Fx1(Mayor)) / 2.0; for (int I = 1; I < Intervalos; I++) { Integral += Fx1(Menor + I * Ancho); } Integral *= Ancho; Console.WriteLine(Integral); Console.ReadLine(); }}hola de nuevo, probando en casa e hecho este progrmama para resolver la funcion seno de x entre 0 y pi/2, pero tengo una duda y es que con el codigo que os dejo me sale el programa pero si quito lo que pongo en rojo tambien salle, y queria saber porque
///desarrollar un programa que calcule la integral definida de la funcion 1/X ENTRE 1 y 2 por el metodo del trapecio , utilizando 1000 intervalos using System;class trapecio{ static double F(double x) { return 1/x; } static void Main() { double Menor = 1.0, Mayor = 2.0; int Intervalos = 1000; double Ancho = (Mayor - Menor) / Intervalos; double Integral = (F(Menor) + F(Mayor)) / 2.0; for (int I = 1; I < Intervalos; I++) Integral += F(Menor + I * Ancho); Integral *= Ancho; Console.WriteLine(Integral); Console.ReadLine(); }}
///desarrollar un programa que calcule la integrales definida de la funcion seno entre 0 y pi/2 por el metodo de simpson , utilizando 1000 intervalosusing System;class simpson{ static double F(double x) { return Math.Sin(x); } static void Main() { double Menor = 0.0, Mayor = Math.PI / 2.0; int Intervalos = 1000; double Ancho = (Mayor - Menor) / Intervalos, Integral = F(Menor) + 4.0 * F(Mayor - Ancho) + F(Mayor); for (int I = 2; I < Intervalos; I += 2) Integral += 4.0 * F(Menor + I * Ancho); Integral *= Ancho / 3.0; Console.WriteLine(Integral); Console.ReadLine(); }}
using System;class metodo{ static double F(double x) { return x * x - 100; } static double BISECCION(double A, double B, int N) { double FA = F(x), Fpm, pm; do { pm = (A + / 2; Fpm = F(pm); if (Fpm != 0 && FA * Fpm > 0) { A = pm; } if (Fpm != 0 && FA * Fpm < 0) { B = pm; } N--; } while (N > 0 && Fpm != 0); return pm; } static void Main() { Console.WriteLine("Dame A: "); double A = double.Parse(Console.ReadLine()); Console.WriteLine("Dame B: "); double B = double.Parse(Console.ReadLine()); Console.WriteLine("Dame N: "); int N = int.Parse(Console.ReadLine());.................................... }}
hola de nuevo, ya consegui arreglar el problema, ahora me viene otra duda a ver si em ayudaistengo este codigo, pero dentro del static void Main como hago para invocar el metodo de biseccion???saluddosCitarusing System;class metodo{ static double F(double x) { return x * x - 100; } static double BISECCION(double A, double B, int N) { double FA = F(x), Fpm, pm; do { pm = (A + / 2; Fpm = F(pm); if (Fpm != 0 && FA * Fpm > 0) { A = pm; } if (Fpm != 0 && FA * Fpm < 0) { B = pm; } N--; } while (N > 0 && Fpm != 0); return pm; } static void Main() { Console.WriteLine("Dame A: "); double A = double.Parse(Console.ReadLine()); Console.WriteLine("Dame B: "); double B = double.Parse(Console.ReadLine()); Console.WriteLine("Dame N: "); int N = int.Parse(Console.ReadLine());.................................... }}
ok, muchas gracias daniel dime si lo que e puesto esta bien, lo de resultadoahora despuesde hacer lo que dices, lo compilo todo pero me aparece un eror que no se arreglar que dice exactamente "El nombre 'x' no existe en el contexto actual" y no se como arreglarloCódigo: Textusing System; class metodo{ static double F(double x) { return x * x - 100; } static double BISECCION(double A, double B, int N) { double FA = F(x), Fpm, pm; do { pm = (A + B) / 2; Fpm = F(pm); if (Fpm != 0 && FA * Fpm > 0) { A = pm; } if (Fpm != 0 && FA * Fpm < 0) { B = pm; } N--; } while (N > 0 && Fpm != 0); return pm; } static void Main() { Console.WriteLine("Dame A: "); double A = double.Parse(Console.ReadLine()); Console.WriteLine("Dame B: "); double B = double.Parse(Console.ReadLine()); Console.WriteLine("Dame N: "); int N = int.Parse(Console.ReadLine()); double resultado = BISECCION(A, B, N); } }
hola de nuevocomo hago entonces para declarar la variable x, y que valor le doi