APPLICATIONSDIVERS ★ REPRESENTACION DE FUNCIONES (AMSTRAD USER) ★

Representacion de Funciones (Amstrad User)Applications Divers
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Los ordenadores personales tienen como principal característica la capacidad de poder realizar múltiples tareas, casi tantas como se le ocurran al usuario. En esta ocasión presentamos un programa, remitido por un lector, que permite la representación de funciones matemáticas de tres tipos diferentes y, además, la composición de ondas senoidales de direcciones perpendiculares. Como cualidades sobresalientes de este programa, hemos de señalar la posibilidad de utilizar un «Zoom» para ampliar sucesivas veces cualquier zona de la gráfica representada, así como la facilidad introducida para calcular gráficamente las raíces de la función, ya que mediante una flecha móvil podemos averiguar los valores de las coordenadas X e Y de cualquier punto de la pantalla.

Los tipos de funciones que podremos representar son los siguientes: funciones de dos varibles independientes, las cuales aparecen dibujadas en perspectiva en la pantalla; funciones paramétricas, en las cuales las variables X e Y dependen de un único parámetro t; y funciones en coordenadas polares, en las cuales lo que varía es el radio en función de un ángulo phi.

Las funciones a representar están almacenadas en líneas de programa, por lo que para introducir una función distinta, el programa edita la línea en la que ésta se encuentra, pudien-do entonces modificarse a voluntad, pero teniendo siempre mucho cuidado de mantener el número de línea que aparecerá delante del cursor. Una vez introducida la función, se retornará al menú del que hayamos salido pulsando la tecla de control [CTRL] junto con la tecla [ENTER] pequeña (en el 6128, la única tecla [ENTER])

Los usuarios de un CPC 464 deben mantener la línea 20 tal y como está escrita, mientras que los usuarios de los modelos 664 o 6128 deben eliminarla, cuidando de NO RENU-MERAR el programa, ya que si lo hacen tendrían
problemas a la hora de introducir sus propias funciones.

El manejo del programa es sencillo, pues basta con seleccionar mediante el menú principal el tipo de función que deseamos representar y, una vez en el submenú correspondiente, tan sólo es necesario introducir la función y los parámetros que detallaremos a continuación para obtener la representación deseada.

Como primera opción del menú se nos ofrece la representación de funciones de dos variables. Con ella podremos dibujar funciones de la forma Z=f(X,Y), en las que la Z (coordenada vertical) varía dependiendo de la X y de la Y simultáneamente.

Una vez en el submenú, la primera opción que se nos presenta es la de cambiar a función, lo cual se realiza como ya hemos explicado. La función introdu-cida por defecto es Z=(SIN(X)/X)*(SIN(Y)/Y).

La segunda opción de este primer submenú permite introducir los márgenes entre los que variarán las variables X e Y. Para ello, debemos introducir el valor mínimo y el máximo que queremos representar en la pantalla para cada variable. Inicialmente éstos son (-12,12) tanto para la X como para la Y.

La opción tres calcula primero los valores de la función en los márgenes especificados, y a continuación calcula las proyecciones a dibujar en la pantalla para obtener una imagen tridimensional. Este proceso resulta lento, si bien sólo es necesario la primera vez que se dibuja una función. Si ha vuelto al menú y desea dibujar la misma función otra vez, puede elegir la opción cuatro, la cual utiliza los valores ya calculados, ahorrando así bastante tiempo.

La opción cuatro dibujará la función sin realizar el cálculo de valores y su transformación a proyecciones, pero sólo si previamente se usó la opción tres.

Por último, la opción cinco nos permite salir de este submenú.

La segunda opción de programa principal nos permite el dibujo de las funciones en coordenadas para-métricas y la tercera, el dibujo de las funciones en coordenadas polares. Los submenús de ambas opciones los detallaremos en conjunto, ya que son los mismos pero aplicados a cada caso.

Empecemos con la primera opcion, mediante la cual podremos cambiar las coordenadas del punto donde los ejes se cruzan, permitiéndonos así colocarlos donde nos interese. Los valores de las coordenadas se darán tomando como referencia las coordenadas que usa el ordenador para dibujar puntos en la pantalla. Los valores prescritos por defecto en el programa son, en el caso de las fun* ciones paramétricas, 320 para la coordenada X y 200 pra la Y, lo cual corresponde al centro de la pantalla; en las funciones en coordenadas polares, dichos valores son 100 y 200 para la X y la Y respectivamente.

La segunda opción de ambos submenús, tanto el de funciones paramétricas como el de funciones en coordenadas polares, sirve para introducir los límites entre los cuales variará el valor del parámetro t, en el caso de las paramétricas, y el del ángulo phi en el caso de las polares. Los valores predefinidos en el programa son, para t, desde -15 hasta 15, y para el ángulo phi, desde -9.77 hasta 9.77.

La opción número tres permite que la función aparezca dibujada con mayor precisión, si bien esto hará que se ralentice el proceso de dibujo de la misma. Tanto en paramétricas como en polares la precisión está fijada en 0.3, aunque su valor podrá oscilar entre 0.1 y 10, y el dibujo resultará mejor cuanto mayor sea el número que introduzcamos.

La opción cuatro permite determinar a qué escala será dibujada la función. Cada eje puede ser dividido en escalas diferentes, de modo que podremos deformar una gráfica sin más que modificar las escalas de los ejes de forma distinta.

Si deseamos dividir los ejes en un número mayor de partes, podremos hacer uso de la opción número cinco de ambos submenús, la cual nos permite aumentar la precisión de las escalas de los ejes. Los valores que podemos introducir en esta opción van desde 40 hasta 640, siendo 80 el valor definido por defecto en el programa. Cuanto menor sea el número introducido en esta opción, mayor será la precisión de la escala.

La sexta opción de ambos submenús nos permite dibujar la función que hayamos introducido. Antes de empezar a dibujar se nos preguntará si deseamos que aparezcan las escalas de los ejes. Si contestamos afirmativamente, las escalas aparecerán numeradas; en caso contrario sólo aparecerán las divisiones en los ejes, pero sin numerar, lo cual puede ser útil para una mayor claridad de la función que representemos. Si estamos en el sub-menú de polares se nos interrogará además sobre si deseamos dibujar los radios. Estos son unas líneas que separan los cuatro cuadrantes, definidos por los ejes X e Y, en proporciones de 30 grados cada una, las cuales nos permitirán tener una idea aproximada de los valores entre los cuales varía el ángulo phi.

La séptima opción de ambos submenús nos permite modificar la función existente o introducir una nueva función. Para ello se emplea el sistema de edición de línea explicado anteriormente, y se vuelve al menú del que hayamos partido del mismo modo. En el caso de paramétri-cas, la función introduci; daen el programa está compuesta por:

*X=t ↑ 2-2*t
*Y=1/t ↑ 2+t ↑ 2

y en el caso de polares, la función es:

R=2*PI/p*SIN(3*p)

donde p representa el ángulo phi.

Si deseáramos representar una función en explícitas, de la forma Y=f(X), lo que tendríamos que hacer es convertirla en una función en paramétricas haciendo un sencillo cambio de variable. Donde pone X ponemos t, y cuando tengamos que introducir la función, y se nos pregunte por la X, pondremos X=t, y en la Y pondremos Y=f (t). Con un ejemplo esto se verá más claramente. Si desáramos representar la función Y=SIN(X)/X, haciendo el cambio de variable la función quedaría desglosada de la siguiente forma-

* X=t
* Y=SIN(t)/t

con lo cuál ya sólo tendríamos que introducir las dos partes de la función utilizando la séptima opción.

La última opción de los submenús nos permite regresar al menú principal, si bien existe una opción que no aparece en el menú, pero a la cual se puede acceder pulsando 9, y es la del cambio de colores. Dicho cambio se realiza con las teclas del cursor: [DERECHA] e [IZQUIERDA] cambian el color del papel, mientras que [ARRIBA] y [ABAJO] cambian el color de la pluma. Pulsando COPY se da por terminada esta opción.

La cuarta opción del menú principal nos permite la composición de dos ondas perpendiculares del tipo senoidal. En la pantalla obtenemos la figura resultante de la composic. matemática da ambas ondas. Estas figuras reciben el nombre de figuras «figuras de LISSAJOUS», y son las que se obtienen en las pantallas de los oscilosco-pios al componer dichas ondas. Las opciones con las que contamos son cambiar las frecuencias de ambas ondas; cambiar la fase inicial de una de ellas, lo que nos permite desfasar-las un ángulo entre 0 y 2*PI radianes; cambiar las amplitudes de ambas ondas; y aumentar la precisión del dibujo, con la consiguiente pérdida de velocidad en la representación.

Los valores introducidos por defecto en el programa son los siguientes:

Las frecuencias son 3 y 2 (pueden tomar cualquier valor, pero los más interesantes son los números enteros sencillos no divisibles entre sí).

La amplitud dada a ambas ondas es de 150. Este valor se da tomando como referencia los pixels de la pantalla.

La fase inicial dada es cero (ambas ondas están en fase).

La precisión puede tomar valores de 1 a 5, estando fijada inicialmente en 3.

Una vez explicadas las diferentes opciones de cada menú, pasaremos a estudiar una serie de comandos que podremos usar una vez dibujada la función correspondiente. Algunos son comunes a todas las opciones y otros solo están disponibles en las opciones de paramétricas y polares. Estos comandos se se ejecutan al pulsar la tecla correspondiente a la primera letra de su nombre, una vez que tenemos en la pantalla el dibujo correspondiente.

Como comandos comunes a todas las opciones tenemos el comando COLOR (que se obtiene pulsando la tecla [C]), el cual nos permite cambiar los colores del dibujo y del fondo con las teclas del cursor. Estas funcionan igual que en la opción 9 explicada anteriormente. El otro comando común es el comando PRINTER, que se obtiene pulsando la tecla [P].

Este nos hará una copia en impresora del dibujo que tengamos en pantalla, si bien solo funcionará si antes hemos cargado alguna rutina que nos simule el comando COPY para volcados de pantalla en impresora. El programa está preparado para cargar el coman do COPY creado por el programa TASCOPY. La rutina de carga está en las líneas 1490 a 1530, las cuales se pueden modificar fácilmente para captar la carga de otra rutina cualquiera.

Como comandos específicos de las opciones de paramétricas y polares tenemos dos que serán de gran utilidad a la hora de realizar un estudio matemático de la función. Se trata del comando ZOOM (tecla [Z]) que permite la ampliación de una parte cualquiera de la gráfica, y el comando VALORES (tecla [V]), que permite determinar de un modo aproximado los valores de las coordenadas x e y de un punto cualquiera.

El primer comando realiza una ampliación de la porción de la gráfica que se encuentra dentro de un rectángulo que aparecerá en la pantalla al pulsar la tecla [Z]. Dicho rectángulo puede moverse con las teclas del cursor (se moverá más rápidamente si las teclas del cursor se pulsan simultáneamente a la tecla [SHIFTI]), y puede agrandarse o reducirse con la tecla [M] y la tecla [N] respectivamente. Si se realizan varias ampliaciones sucesivas de una función se recomienda que se vaya aumentando la precisión de la función para que el dibujo sea más detallado. Para realizar la ampliación de la gráfica debemos pulsar la tecla [TAB]; si no, pulsaremos [COPY] para salir.

El segundo comando permite conocer los valores de un punto cualquiera de la pantalla gracias a una flecha indicadora que podremos mover del mismo modo que el rectángulo del comando anterior. En la esquina superior izquierda de la pantalla aparecen los valores de la abcisa x y la ordenada y correspondientes al punto señalado por el extremo superior de la flecha.

Pulsando la tecla [COPY] saldremos de cualquiera de los comandos, y pulsando [COPY] de nuevo volveremos al submenú del que ha hayamos partido.

En la opción de polares, si hemos solicitado que nos dibuje los radios de la función, no aparecerá en la pantalla ningún tipo de mensaje, y tan solo escucharemos un pitido para saber que nuestras ordenes han sido ejecutadas.

Ahora daremos algunos ejemplos de funciones interesantes, junto con los parámetros necesarios para que su representación sea la adecuada.

Como ejemplo de función de dos variables podemos intruducir la siguiente:

Z=(SIN(X)/X+EXP( Y)/Y

con unos intérvalos para la X entre -12 y 12 y para la Y entre -1 y 8.

En la opción de funciones en paramétricas podemos probar que las que se detallan a continuación:

*Xd(20*t)/(1 +t ↑ 3)
*Yd(20*t2)/(1+t ↑ 3)

con los ejes centrados, una precisión de 0.1 y con el parámetro t variando entre -20 y 20 (este es el llamado folium de Descartes).

*X=(t  ↑ 4/2)-(t  ↑ 2/2)-2
*Y=t  ↑ 3-(27/4*t)

con el origen de los ejes en el punto (100,200), una precisión de 0.3 y con el parámetro 3 variando entre -15 y 15.

* X=t
* Y=SIN(t)/t

con los ejes en el centro, una precisión de 0.3, el parámetro t variando entre -15 y 15 y con las escalas 15 para la X y 3 para la Y.
En polares tenemos también funciones muy interesantes:

R=2*SIN (3*p)

con una precisión de 0.3, con phi variando entre 0 y 180 grados, el origen de coordenadas en 320,200 y con las escalas 4 para la X y 4 para la Y.

R=3+2*COS(3*p)

con una precisión de 0.3, con phi variando entre 0 y 360 grados, los ejes centrados y las escalas de 6 para la X y 6 para la Y.

Amstrad User #7

★ PUBLISHER: Amstrad User
★ YEAR: 1986
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: ???
★ AUTHOR: Juan José Valverde
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Representacion  de  Funciones-Juan  Jose  Valverde    (Amstrad  User)    SPANISH    LISTINGDATE: 2022-03-10
DL: 150
TYPE: PDF
SiZE: 5653Ko
NOTE: 17 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Dibujo en Funciones Explicitas
» Applications » Grafica Funciones
» Applications » Representacion de Funciones (Amstrad User)
» Applications » DMF : Deriving Mathematical Functions
» Applications » Function Keys Definer and Reader (Amstrad Action)
» Applications » Function Keys (Amstrad Action)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 264 millisecondes et consultée 509 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.