METODO DE NEWTON
Enviado por carlos92acost • 2 de Junio de 2013 • 2.720 Palabras (11 Páginas) • 374 Visitas
Método de Newton
El algoritmo fue programado en Visual.net
El programa consiste en hallar las raíces de los polinomios de hasta tercer grado, dando como parámetros los coeficientes del polinomio, el valor a iniciar, y la tolerancia. Un esquema sería:
Ejercicio
Hallar una de las raíces del polinomio X3+2x2 +2x+3
Xi= valor inicial
Ea= tolerancia
La raíz es: -1.8105
Código del programa
namespace NewtonRaphson
{
public partial class Form1 : Form
{
public double[] vec=new double[10];//polinomio
public double[] vec1=new double[10];//polinomio derivada
double Xi,resp,Ea,grado,expo,eps;
int i;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void btnCalcular_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
int k;
vec[0] = Convert.ToDouble(txtX3.Text);
vec[1] = Convert.ToDouble(txtX2.Text);
vec[2] = Convert.ToDouble(txtX1.Text);
vec[3] = Convert.ToDouble(txtX0.Text);
Xi =Convert.ToDouble(txtXi.Text);
Ea=Convert.ToDouble(txtEa.Text);
//*** obtiene la derivada del polinomio ***
grado = 3;
expo = grado;
for (i = 0; i <= grado; i++)
{
vec1[i] = expo * vec[i];
expo--;
}
k = 0;
do
{
eps = Math.Abs(Evaluar1(Xi) / Evaluar2(Xi));
resp = Xi - Evaluar1(Xi) / Evaluar2(Xi);
listBox1.Items.Add(" " +k + " " + Xi);
k++;
Xi = resp;
} while (eps > Ea);
//*********
}
public double Evaluar1(double x)
{
double expo = grado;
double suma1 = vec[Convert.ToInt32(grado)];
for (i = 0; i < grado; i++)
{
suma1 += vec[i] * Math.Pow(x, expo);
expo--;
}
return suma1;
}
public double Evaluar2(double x)
{
double expo = grado-1;
double suma2 = vec1[Convert.ToInt32(grado-1)];
for (i = 0; i < grado-1; i++)
{
suma2 += vec1[i] * Math.Pow(x, expo);
expo--;
}
return suma2;
}
private void btnCerrar_Click(object sender, EventArgs e)
{
Close();
}
private void btnNuevo_Click(object sender, EventArgs e)
{
txtEa.Clear();
txtX0.Clear();
txtX1.Clear();
txtX2.Clear();
txtX3.Clear();
txtXi.Clear();
txtX3.Focus();
listBox1.Items.Clear();
}
}
}
Campos Vectoriales
El algoritmo fue programado en Visual Basic
El programa consiste en dibujar el campo vectorial dando puntos en el eje x y y en donde los parámetros son los coeficientes de la ecuación del campo vectorial, longitud del plano.
Ejercicio
...