Código de Visual Basic para Aplicaciones - Análisis Numerico

Imágen de perfil

Análisis Numericográfica de visualizaciones


Visual Basic para Aplicaciones

Actualizado el 31 de Enero del 2019 por Alvin (Publicado el 3 de Noviembre del 2014)
9.918 visualizaciones desde el 3 de Noviembre del 2014
Del Libro: Programación Visual Basic (VBA) para Excel y Análisis Numérico Autores: M.Sc. Walter Mora F., M.Sc. José Luis Espinoza B. Escuela de Matemática. Instituto Tecnológico de Costa Rica. Octubre 2005. Versión 0.1. Estos son los programas que pude construir mientras leía el libro y realizaba las actividades que asignaba el mismo.

Analisis-Num
Analisis-Num2
Analisis_Num3

Requerimientos

Debe descargarse el modulo de Excel para poder escribir las ecuaciones y graficar las funciones en 2D y 3D. el modulo de llama: clsMathParser

Como es visual basic para aplicaciones debe funcionar con MicroSoft Excel. Preferiblemente 2007 o superior. No funciona con Calc u otra hoja de calculo de software libre.

1.0 - código para copiar
estrellaestrellaestrellaestrellaestrella(4)

Actualizado el 16 de Abril del 2015 (Publicado el 3 de Noviembre del 2014)gráfica de visualizaciones de la versión: 1.0 - código para copiar
4.272 visualizaciones desde el 3 de Noviembre del 2014
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
Sub Pascal()
   ' Macro Pascal
      ' Lectura de la cantidad de niveles:
   n = Cells(1, 5)
   ' Llenar unos:
   For i = 1 To n
      Cells(i, 1) = 1
      Cells(i, i) = 1
   Next i
   ' Llenar el resto:
   If n > 2 Then
      For i = 3 To n
         For j = 2 To i - 1
            Cells(i, j) = Cells(i - 1, j) + Cells(i - 1, j - 1)
         Next j
      Next i
   End If
End Sub
Sub Borrar()
   ' Borrar
   n = Cells(1, 5).Value
   For i = 1 To n
      For j = 1 To i
         Cells(i, j).Value = Null
      Next j
   Next i
End Sub
Sub G_2D()
   Dim n As Integer
   Dim h As Double
   Dim formula As String
   Dim graf As Chart
   Dim chartsTemp As ChartObjects 'contador de charts (gr¶aficos) para eliminar el anterior
   Dim OK As Boolean
   Dim Fun As New clsMathParser
   n = Cells(6, 5)
   a = Cells(6, 3)
   b = Cells(6, 4)
   h = (b - a) / n
   formula = Cells(2, 3)
   OK = Fun.StoreExpression(formula) 'lectura de la f¶ormula
   If Not OK Then GoTo Error_Handler
      For i = 0 To n
         Cells(6 + i, 1) = a + i * h
         Cells(6 + i, 2) = Fun.Eval1(a + i * h)
   Next i
   '----------------------- eliminar gr¶aficos anteriores-------------
   Set chartsTemp = ActiveSheet.ChartObjects
   If chartsTemp.Count > 0 Then
      chartsTemp(chartsTemp.Count).Delete
   End If
'-----------------------------------------------------------------
   datos = Range(Cells(6, 1), Cells(6 + n, 2)).Address 'rango a graficar
Set graf = Charts.Add 'gr¶afico y sus carater¶³sticas
With graf
   .Name = "Gr¶afico"
   .ChartType = xlXYScatterSmoothNoMarkers
   .SetSourceData Source:=Sheets("Graficas en 2D").Range(datos), PlotBy:=xlColumns
   .Location Where:=xlLocationAsObject, Name:="Graficas en 2D"
End With
'---------------------------------------------------------------
If Err Then GoTo Error_Handler
Error_Handler: Cells(1, 1) = Fun.ErrorDescription 'imprimir mensaje error
'---------------------------------------------------------------
End Sub
Sub G3D()
' Grafica en 3D
   Dim xmin, xmax, ymin, ymax, hx, hy, xi, yi As Double
   Dim n As Integer
   Dim fxy As String 'funci¶on f(x,y)
   Dim graf As Chart
   Dim OK As Boolean
   Dim Fun As New clsMathParser ' as¶³ se llama el m¶odulo de clase aqu¶³
   fxy = Cells(2, 2)
   xmin = Cells(5, 3)
   xmax = Cells(5, 4)
   ymin = Cells(5, 5)
   ymax = Cells(5, 6)
   n = Cells(3, 2) ' n¶umero de puntos n x n
   hx = (xmax - xmin) / n
   hy = (ymax - ymin) / n
   If hx > 0 And hy > 0 And n > 0 Then
      For i = 0 To n
         xi = xmin + i * hx
         Cells(7, 2 + i) = xi
         For j = 0 To n
            yi = ymin + j * hy
            Cells(8 + j, 1) = yi
            OK = Fun.StoreExpression(fxy) 'formula actual es 'f(x,y)'
            If Not OK Then GoTo Error_Handler
               Fun.Variable("x") = xi
               Fun.Variable("y") = yi
            Cells(8 + j, 2 + i) = Fun.Eval() 'retorna f(xa,ya)
         Next j
      Next i
   End If
'----------------------- eliminar gr¶aficos anteriores-------------
Set chartsTemp = ActiveSheet.ChartObjects
If chartsTemp.Count > 0 Then
chartsTemp(chartsTemp.Count).Delete
End If
'-----------------------------------------------------------------
datos = Range(Cells(7, 1), Cells(7 + n, n + 2)).Address 'rango a graficar
Range(datos).Select
Selection.NumberFormat = ";;;" 'ocular celdas
Charts.Add
ActiveChart.ChartType = xlSurface
ActiveChart.SetSourceData Source:=Sheets("Graficas en 3D").Range(datos), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Graficas en 3D"
'---------------------------------------------------------------
If Err Then GoTo Error_Handler
Error_Handler: Cells(1, 1) = Fun.ErrorDescription 'enviar un mensaje de error
'---------------------------------------------------------------
End Sub
Sub Romberg()
   ' Integración de Romber
   Dim R() As Double
   Dim a, b, h, suma As Double
   Dim n As Integer
   Dim formula As String
   Dim OK As Boolean
   Dim Fun As New clsMathParser ' as¶³ se llama el m¶odulo de clase aqu¶³
   formula = Cells(1, 2)
   a = Cells(2, 3)
   b = Cells(2, 4)
   n = Cells(2, 5)
   ReDim R(n, n)
   h = b - a
   OK = Fun.StoreExpression(formula) 'formula actual es 'formula'
   If Not OK Then GoTo Error_Handler
   '-------------------------------------------------------------------
   For i = 1 To 20 'limpiar
      For j = 1 To 20
         Cells(2 + i, j) = Null
      Next j
   Next i
   '-------------------------------------------------------------------
   R(1, 1) = h / 2 * (Fun.Eval1(a) + Fun.Eval1(b))
   'paso3 de algoritmo de Romberg
   For i = 1 To n
      'paso 4
      suma = 0
      For k = 1 To 2 ^ (i - 1)
         suma = suma + Fun.Eval1(a + h * (k - 0.5)) 'eval¶ua en la f¶ormula actual
      Next k
      R(2, 1) = 0.5 * (R(1, 1) + h * suma)
      'paso5
      For j = 2 To i
         R(2, j) = R(2, j - 1) + (R(2, j - 1) - R(1, j - 1)) / (4 ^ (j - 1) - 1)
      Next j
      'paso 6 salida R(2,j)
      For j = 1 To i
         Cells(3 + i - 1, j) = R(2, j) 'columnas 2,3,...n
      Next j
      'paso 7
      h = h / 2
      'paso 8
      For j = 1 To i
          R(1, j) = R(2, j)
      Next j
   Next i
   '---------------------------------------------------------------
   If Err Then GoTo Error_Handler
Error_Handler:        Cells(1, 1) = Fun.ErrorDescription
   '---------------------------------------------------------------
End Sub



Comentarios sobre la versión: 1.0 - código para copiar (4)

11 de Noviembre del 2014
estrellaestrellaestrellaestrellaestrella
como extraer de excel y grabar en una tabla de sql-server 2008 con vb6.0
Responder
14 de Diciembre del 2014
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
24 de Marzo del 2015
estrellaestrellaestrellaestrellaestrella
Nos puedes pasar el carchivo de excel.?
Responder
sergio ulmos
23 de Julio del 2023
estrellaestrellaestrellaestrellaestrella
ok
Responder

Comentar la versión: 1.0 - código para copiar

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

1.0 - archivo de Excel con VBA para descargar

Publicado el 15 de Abril del 2015gráfica de visualizaciones de la versión: 1.0 - archivo de Excel con VBA para descargar
5.647 visualizaciones desde el 15 de Abril del 2015
http://lwp-l.com/s2832