Visual basic 3
La primera vez que tuve una calculadora con capacidad gráfica en mis manos, me impresiono mucho ver las curvas de las funciones introducidas en la pantalla monocromática. Así que, cuando aprendí a programar en VB, y colocar controles activeX, decidí hacer un graficador en excel. No recuerdo exactamente como lo habré hecho en aquel entonces, sin embargo lo haremos empleando lo aprendido hasta ahora.
Primero crearemos las variables mostradas en la siguiente imagen
xmin y xmax definen el dominio en el eje x o de abscisas. xmin define el límite izquierdo y xmax define el límite derecho. Es en estos límites en donde la función será graficada.
presc define el incremento de graficación entre un punto y otro a lo largo del dominio. Por ejemplo si presc = 1, se tendrá la siguiente secuencia xmin, xmin+1, xmin+2, ......., xmax-2, xmax-1, xmax.
iteraciones define la cantidad de veces que se efectuará el calculo de la función f(x) en la secuencia de puntos.
k, x e y corresponde al encabezado de la tabla que construye la siguiente secuencia, para presc = 1
k: 0, 1, 2, 3....
x: xmin, xmin+1, xmin+2, xmin+3
y = f(x): f(xmin), f(xmin+1), f(xmin+2), f(xmin+3)
Vamos a definir las variables xmin, xmax, presc e iteraciones
Seleccionamos el rango E1:H1 y presionamos el botón Combinar y centrar
Seleccionamos la cinta de desarrollador, la cual debe estar activa
E insertamos un botón (control activeX) Se insertará en cualquier parte que demos clic dentro de la rejilla de la hoja del libro de excel. Veremos la siguiente caja de dialogo
En Nombre de la macro colocaremos graficar o cualquier nombre de nuestro agrado, luego damos clic en grabar. Veremos la siguiente caja de dialogo y damos clic en aceptar.
Seguidamente damos clic en detener grabación
y clic al botón Visual Basic
Se abre el entorno de desarrollo y buscamos el Módulo1, eliminamos las lineas que no están comentadas (de haber) Todo comentario de código en VB esta precedido del símbolo '
podemos editar el nombre de nuestro botón mientras este seleccionado, sino esta seleccionado, presionamos botón derecho del ratón sobre el y seleccionamos la opción modificar texto del menú emergente, de esta manera también podemos modificar su tamaño.
Es en el entorno de desarrollo en donde colocaremos el código VB para obtener la gráfica de la función escrita en el rango fx. Terminemos de arreglar nuestra hoja, vamos a definir las variables x en la celda F2, e y en la celda F3.
Es en el entorno de desarrollo en donde colocaremos el código VB para obtener la gráfica de la función escrita en el rango fx. Terminemos de arreglar nuestra hoja, vamos a definir las variables x en la celda F2, e y en la celda F3.
Inicialicemos las variables de acuerdo a la siguiente imagen. Iteraciones será calculado de acuerdo a la fórmula (xmax-xmin)/presc
Modifique el valor de presc y observe como cambia el número de iteraciones.
Modifique el valor de presc y observe como cambia el número de iteraciones.
Volvamos al entorno de desarrollo y coloquemos nuestro código
----------------------------------------------------------------------------------------------
Sub graficar() 'Nombre de la macro o función
' Recuerde que toda linea precedida de apóstrofo es un comentario
' De manera tal que haré comentarios explicativos dentro del código
' graficar Macro
'
Dim k As Integer 'declaración de la variable k tipo entero
Dim x As Double 'declaración de la variable x tipo doble
Range("a6:c10000").Select 'Se selecciona el rango a6:c10000
Selection.ClearContents 'ClearContents borra todo el contenido de la selección hecha
k = 1 'inicializamos la variable k en 1
x = Range("xmin") 'inicializamos la variable x en el valor del extremo izquierdo del dominio
'Definimos una estructura iterativa mientras k sea menor que el número total de iteraciones
Do While k <= Range("iteraciones")
'La función Cell contiene los argumentos de fila y columna por lo que el valor de la fila tendrá
'la siguiente secuencia k+5, 1+5, 2+5, 3+5,..
'Entonces el argumento de fila será variable. La columna queda fija en 1
Cells(5 + k, 1) = k
'Observe que para escribir la variable x se emplea también la función Cell(.,.), pero con el
'argumento de variable de columna en 2
Cells(5 + k, 2) = x
'En donde se definió la variable x se colocan los valores secuenciales calculados
Range("x") = x
'En donde se definió la variable y se concatena el operador "=" y la cadena de caracteres cuya
'función deseamos graficar y esta en la definición de variable de nombre "y"
Range("y") = "=" + Range("fx")
'Colocamos el valor calculado de y en la tercera columna de la tabla de datos para ello se
'emplea también la función Cell(.,.), pero con el
'argumento de variable de columna en 3
Cells(5 + k, 3) = Range("y")
'En la siguiente ecuación se efectúa el calculo secuencial de x (segunda columna)
x = x + Range("presc")
'En la siguiente ecuación se efectúa el calculo secuencial de k (primera columna)
k = 1 + k
Loop 'Cierre de la estructura iterativa
Range("fx").Select 'enfoque en la variable definida fx
End Sub 'fin de la macro o función
----------------------------------------------------------------------------------------------
Veamos como funciona en el siguiente video
El archivo lo encontrarás en la tercera descarga de la sección con el mismo nombre
Póngalo en practica :)
Comentarios
Publicar un comentario