ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

METODO DE NEWTON


Enviado por   •  2 de Junio de 2013  •  2.720 Palabras (11 Páginas)  •  394 Visitas

Página 1 de 11

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

Graficar el siguiente Campo Vectorial F= xi-yj

Código del programa

Public Delta As Integer

Dim VecX() As Integer

Dim VecY() As Integer

Public xmax As Integer, Ymax As Integer, i%

Public cx As Integer, cy As Integer

Dim ejex As Integer, ejey As Integer

Dim x As Double

Dim y As Double

Dim X1 As Integer, Y1 As Integer, X2 As Integer, Y2 As Integer

Dim a As Integer, b As Integer

Dim PuntoMax As Integer

Dim px As Integer, py As Integer

Dim Dista As Integer

Dim inicio As Boolean

Dim Npuntos As Integer

Private Sub CmdGraficar_Click()

Frame3.Enabled = True

inicio = False

xmax = Val(TxtXmax)

Ymax = Val(TxtYmax)

PuntoMax = xmax

If Ymax > xmax Then

PuntoMax = Ymax

End If

If PuntoMax > 20 Then

MsgBox ("Escala No debe ser mayor a 20")

Else

inicio = True

Select Case PuntoMax

Case 1 To 5

Delta = 70

xmax = 5

Dista = 10

Case 6 To 10

Delta = 60

xmax = 10

Dista = 8

Case 11 To 15

Delta = 50

xmax = 15

Dista = 6

Case 16 To 20

Delta = 40

...

Descargar como (para miembros actualizados) txt (9 Kb)
Leer 10 páginas más »
Disponible sólo en Clubensayos.com