Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Método Numérico Programado en Visual Basic, Apuntes de Matemáticas Orientadas a las Enseñanzas Aplicadas

metodo newton raphson.... en visual basic

Tipo: Apuntes

2019/2020

Subido el 18/04/2020

gon-za-li-to
gon-za-li-to 🇧🇴

4 documentos

1 / 6

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA Y ARQUITECTURA
ACADEMIA DE SISTEMAS
PROFESOR: GONZÁLEZ NAVEDA GUSTAVO
METODO NUMERICO PROGRAMADO EN VISUAL BASIC
POR: ESPEJEL GONZÁLEZ CARLOS ALDAÍR
GRUPO: 2CM15
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Método Numérico Programado en Visual Basic y más Apuntes en PDF de Matemáticas Orientadas a las Enseñanzas Aplicadas solo en Docsity!

ESCUELA SUPERIOR DE INGENIERÍA Y ARQUITECTURA

ACADEMIA DE SISTEMAS

PROFESOR: GONZÁLEZ NAVEDA GUSTAVO

METODO NUMERICO PROGRAMADO EN VISUAL BASIC

POR: ESPEJEL GONZÁLEZ CARLOS ALDAÍR

GRUPO: 2CM

ESCUELA SUPERIOR DE INGENIERÍA Y ARQUITECTURA ACADEMIA DE SISTEMAS

PROFESOR: GONZÁLEZ NAVEDA GUSTAVO

CODIGO FUENTE: Public Class Form 'Puntos de la grafica de la función Dim Puntos(29, 1) As Double Dim n As Integer = 60 / 2 - 1 'Eje x Dim x(,) As Double = {{-2, 0}, {2, 0}} Dim n1 As Integer = x.Length / 2 - 1 'eje Y Dim y(,) As Double = {{0, -4}, {0, 4}} Dim n2 As Integer = y.Length / 2 - 1 Dim iter, imax As Integer 'Declaración de variables Dim xrold, xr, xi, er, dfxi, fxi, x0, tol As Double Function NewtonR(ByVal xi) As Double imax = 20 'incremento(max) iter = 1 'iteracion tol = Val(TxtTolerancia.Text) 'tolerancia Do While iter <= imax xrold = xr fxi = Math.Cos(xi) - (xi ^ 3) 'calculando dfxi = -Math.Sin(xi) - (3 * (xi ^ 2)) If dfxi = 0 Then MsgBox("La derivada f'(x)=0, no se puede realizar el calculo", MsgBoxStyle.Critical) Exit Do End If xr = xi - (fxi / dfxi) If xr <> 0 Then er = Math.Abs((xr - xrold) / xr) '* 100 End If xi = xr 'Actualiza x inicial Dim lvi As ListViewItem = Me.LVmetodoNWRP.Items.Add(iter) lvi.SubItems.Add(xr) 'Impresión de resultados en listview lvi.SubItems.Add(er) lvi.SubItems.Add(fxi) lvi.SubItems.Add(dfxi) iter = iter + 1 If er <= tol Then Exit Do End If If Not er <= tol And iter > imax Then MsgBox("El metodo fracaso despues de " & iter & " iteracion(es)", MsgBoxStyle.Critical) End If Loop NewtonR = xr Call Inicializar_puntos() End Function

ESCUELA SUPERIOR DE INGENIERÍA Y ARQUITECTURA ACADEMIA DE SISTEMAS

PROFESOR: GONZÁLEZ NAVEDA GUSTAVO

'Coordenadas de pantalla xpMin = 0 + margen xpMax = PictureBox1.Height - margen ypMin = 0 + margen ypMax = PictureBox1.Height - margen a = (xpMax - xpMin) / (xmMax - xmMin) c = (ypMax - ypMin) / (ymMax - ymMin) b = xpMin - a * xmMin d = ypMin - c * ymMin For i = 0 To n iCoordPant(i, 0) = CInt(a * Puntos(i, 0) + b) iCoordPant(i, 1) = CInt(c * Puntos(i, 1) + d) Next For i = 0 To n iCoordPantx(i, 0) = CInt(a * x(i, 0) + b) iCoordPantx(i, 1) = CInt(c * x(i, 1) + d) Next For i = 0 To n iCoordPanty(i, 0) = CInt(a * y(i, 0) + b) iCoordPanty(i, 1) = CInt(c * y(i, 1) + d) Next dibujo.TranslateTransform(0, ypMax) dibujo.ScaleTransform(1, -1) For i = 0 To n - 1 dibujo.DrawLine(lapiz, iCoordPant(i, 0), iCoordPant(i, 1), iCoordPant(i + 1, 0), iCoordPant(i + 1, 1)) Next For i = 0 To n1 - 1 dibujo.DrawLine(lapiz, iCoordPantx(i, 0), iCoordPantx(i, 1), iCoordPantx(i + 1, 0), iCoordPantx(i + 1, 1)) Next For i = 0 To n1 - 1 dibujo.DrawLine(lapiz, iCoordPanty(i, 0), iCoordPanty(i, 1), iCoordPanty(i + 1, 0), iCoordPanty(i + 1, 1)) Next End Sub Public Function xMin() As Double Dim i As Integer Dim min As Double min = Puntos(0, 0) For i = 1 To n If Puntos(i, 0) < min Then min = Puntos(i, 0) End If Next Return min End Function Public Function yMin() As Double

ESCUELA SUPERIOR DE INGENIERÍA Y ARQUITECTURA ACADEMIA DE SISTEMAS

PROFESOR: GONZÁLEZ NAVEDA GUSTAVO

Dim i As Integer Dim min As Double min = Puntos(0, 1) For i = 1 To n If Puntos(i, 1) < min Then min = Puntos(i, 1) End If Next Return min End Function Public Function xMax() As Double Dim i As Integer Dim max As Double max = Puntos(0, 0) For i = 1 To n If Puntos(i, 0) > max Then max = Puntos(i, 0) End If Next Return max End Function Public Function yMax() As Double Dim i As Integer Dim max As Double max = Puntos(0, 1) For i = 1 To n If Puntos(i, 1) > max Then max = Puntos(i, 1) End If Next Return max End Function Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTNEVAL.Click x0 = Val(TXTXinicial.Text) Call NewtonR(x0) End Sub Protected Overrides Sub Finalize() MyBase.Finalize() End Sub End Class