• No results found

Born approximation of Elastic Waves

La forma más simple para trazar la gráfica de una función de R x R es mediante la instrucción

plot. Para ello creamos previamente un vector x para las abcisas y un vector y para las

ordenadas. El comando plot(x,y) representa los puntos de coordenadas (x(i),y(i) uniéndolos por defecto mediante líneas negras o de acuerdo a otro estilo que se haya especificado previamente. La calidad de la representación dependerá del número de puntos x(i),y(i) que se grafiquen .

El llamado general de la función es:

Con plot también se puede graficar un conjunto de curvas, es decir hacer gráficos múltiples.

plot(x1,y1,<lasp1>,x2,y2,<lasp2>,...xN,yN,<laspN>,<globprop1>, <globprop2>,..<globpropN>)

x debe ser una matriz o un vector de números reales. Si se omite se asume un vector de 1:n

donde n es el número de puntos de la variable y.

y debe ser una matriz o vector de reales, pero también puede ser una función definida.

<lasp> es un argumento opcional que especifica la manera en que se dibujan las líneas. Debe

ser una tira de caracteres y determina el estilo, las marcas y el color de las líneas dibujadas. (ver LineSpec en 4.3.1).

<globprop> es un argumento opcional que define las propiedades globales de los objetos

comunes a todas las curvas creadas por plot. Son tiras de caracteres colocadas como pares de sentencias {NombrePropiedad,ValorPropiedad}. (ver GlobalProperty).

Si y es un vector, plot(y) grafica el vector y versus el vector 1:size(y) .

Si y es una matriz, plot(y) grafica las columnas de y versus el vector 1:size(y,1) .

Si x e y son vectores, plot(x,y) grafica el vector y versus el vector x . Los vectores x e y deben tener el mismo tamaño.

Si x es un vector, e y una matriz, plot(x,y) dibuja cada una de las columnas de y versus el vector x . En este caso la dimensión de las columnas de y debe ser igual a las de x.

Si x e y son matrices, plot(x,y) dibuja cada columnas de y versus las correspondientes columnas de x . En este caso las dimensiones de x e y deben ser las mismas.

Si sólo x o y es una matriz, el vector se dibuja versus las filas o las columnas de la matriz. La elección depende si el vector, fila o columna, ajusta con las dimensiones de las filas o columna de la matriz. En el caso de una matriz cuadrada la prioridad la tienen las columnas.

y también puede ser una función, en este caso se debe proporcionar x (como un vector o

matriz) y el cálculo y(x) se hace implícitamente.

4.3.1 LineSpec

Se utiliza para cambiar rápidamente la apariencia de las líneas de un dibujo. Debe ser una tira de caracteres que hace referencias al del estilo de la línea, el marcador y el color. Estas referencias deben ser especificadas sin ambigüedades, el orden no es importante. Por ejemplo, para una línea roja de rayas largas con marcador tipo diamante, se puede escribir: 'r--d' o '--

-->x=linspace(0,3*%pi,50); y=x.*sin(x); -->plot(x,y) 0 1 2 3 4 5 6 7 8 9 10 -5 -3 -1 1 3 5 7 9 -->x=[0:0.1:2*%pi]’; -->plot(x-4,sin(x),x+2,cos(x))

dire' o '--reddiam'... o en forma completa 'diamondred--'. A continuación se proporciona

una lista completa de los tipos que se pueden especificar.

LineStyle: define el estilo de la línea.

Color: define el color.

Especificador Color r Rojo g Verde b Azul c Cian m Magenta y Amarillo k Negro w Blanco

Si no se especifica un color cuando se dibujan líneas múltiples, el color rota automáticamente según esta tabla.

Especificador Estilo de Línea

- Línea Sólida (default)

-- Línea de trazos

: Línea de puntos

Marker type: Define el tipo de marcador. Si se especifica un marcador sin un estilo de línea,

se dibuja solo el marcador.

Especificador Tipo de Marcador

+ Signo mas o Circulo * Asterisco . Punto x Cruz 'square' o 's' Cuadrado 'diamond' o 'd' Diamante

^ Triangulo hacia arriba

v Triangulo hacia abajo

> Triangulo hacia la derecha

< Triangulo hacia la izquierda

'pentagram' Estrella de cinco puntas

'none' Sin marcador (default)

Por ejemplo clf(); R G B 0. 0. 1. 0. 0.5 0. 1. 0. 0. 0. 0.75 0.75 0.75 0. 0.75 0.75 0.75 0. 0.25 0.25 0.25

x=1:0.1:10; plot(x,sin(x),'r-.>')

dibuja la función seno con una línea roja de raya-puntos con un triángulo apuntando a la derecha centrado sobre cada punto.

4.3.2. GlobalProperty

Es posible modificar la apariencia de todas las curvas en forma global. Se debe especificar el par {Nombre_Propiedad, Valor_Propiedad}, pudiéndose colocar en un gráfico varios pares al mismo tiempo. Nombre_Propiedad es una tira de caracteres con la propiedad a modificar. Valor_Propiedad puede ser un real, entero o tira de caracteres, dependiendo del tipo de propiedad. Por ejemplo, para especificar una línea roja (nombre Color), con raya y puntos (nombre Line Style) con marcador diamante (nombre Marker), la secuencia debe ser: 'Colo','red','LineSt','-.','Marker','diam'. No es necesario colocar el nombre o el valor completo de la propiedad. Tampoco importa el orden, pero no debe haber ambigüedades. GlobalProperty predomina sobre cualquier LineSpec previamente especificado.

A continuación se proporciona una lista de Nombres y sus Valores asociados:

Clipping: caracteres con valor "on" o "off" definiendo el modo de cortado ( "on" por

defecto).

Color o Foreground: caracteres especificando un color o un vector RGB de 1 x 3. Este último

es una 3-upla que corresponde a la intensidad de rojo, vede y azul entre 0 y 1.

LineStyle: una tira de caracteres que define el estilo de línea, en forma idéntica que con

LineSpec.

Marker o MarkStyle: Una tira de caracteres que define el tipo de marcador. Idéntico que con

LineSpec.

MarkerEdgeColor or MarkForeground: Una tira de caracteres definiendo un color en el

formato RGB. Idéntico a Color pero para el borde del marcador.

MarkerFaceColor or MarkBackground: Idéntico a Color pero para el fondo del marcador. MarkerSize or MarkSize: un escalar que define el tamaño del marcador en unidades de punto. Visible: una cadena de caracteres "on" o "off" definiendo la visibilidad ( "on" por defecto).

X data: un vector o matriz real redefiniendo los datos para todas las líneas o superficies

dibujadas. Debe ajustase con los X data previamente especificados. Es decir, todas las matrices de datos deben ser de la misma dimensión.

Y data: Idéntico al anterior pero para los datos Y.

Z data: cuando se usa con plot , un vector o matriz real agregando datos Z para todas las

líneas dibujadas; Este debe tener las mismas dimensiones que los X e Y data previamente especificados. Por ejemplo clf(); x=1:10; plot(x,sin(x),'colo','red','linest','-.','marker','>','markeredg', 'cyan','markerFace','yellow','markersize',5)

dibuja una línea de color rojo, con estilo raya-puntos, marcador triángulo hacia la derecha, los bordes del triángulo de color cian, las caras de color amarillo y tamaño 5 puntos.

La representación de una función se pueden hacer con el comando plot, pero para ello es necesario definir previamente la función que se va a representar. Por ejemplo, a continuación se grafica el cuadrado de un número:

deff('[y]=toto(x)','y=x.*x') plot(1:10,toto)

Se obtiene el mismo resultado mediante fplot2d

Cuando queremos superponer varias curvas en el mismo gráfico, se puede usar el comando plot2d, que permite fijar estilos diferentes para cada curva. La sintaxis general es la siguiente:

-->deff("y=f(x)","y=x.*sin(x)") -->x=linspace(0,3*%pi,100); -->fplot2d(x,f)

plot2d(abscisas, ordenadas, estilo, <marco, leyendas, límites, graduación>)

Los argumentos a partir del tercero son optativos, pero si se fija uno deberán fijarse los otros. El significado de estos argumentos es el siguiente:

abscisas, ordenadas: son matrices de la misma dimensión. Si fueran vectores (para trazar una

sola curva), deben ser fila o columna. Por defecto los puntos serán unidos por segmentos. A cada curva le corresponde un color ( hay 32 colores).

estilo: es un vector línea cuya dimensión es el número de curvas a trazar (número de

columnas de las matrices abscisas y ordenadas). Las coordenadas son positivas o negativas. Si el estilo es positivo, los puntos se unen por segmentos. Si el estilo es nulo, los puntos se presentan como pixeles negros. Si el estilo es negativo, se presentan como marcas de formas particulares.

marco : este parámetro es una tira de caracteres formado por tres cifras, tales que :

 la primera indica la presencia o no de leyendas ( 0 o 1),

 la segunda indica la forma de cálculo de las escalas,

 la tercera indica el trazado de ejes o del marco.

Por defecto el argumento marco vale “021” (sin leyendas, escalas calculadas automáticamente y con ejes). Si superponemos dos gráficos con esta opción por defecto, las escalas no serán las mismas. La solución consiste en trazar todos los gráficos a partir del segundo sobre una misma ventana con la opción “000” (sin leyenda, utilizar la escala precedente, sin trazar los ejes).

leyendas: es una cadena de caracteres que contiene las diferentes leyendas, separadas por @.

límites: es el rectángulo de la representación, descrito por las dos coordenadas de la esquina

inferior izquierda, seguidas de las dos coordenadas de la esquina superior derecha: [xmin,ymin,xmax,ymax].

graduaciones: este vector de cuatro enteros permite precisar las graduaciones y

abscisas de dividirá en 10, siendo cada uno de los subintervalos divididos en dos. Para las ordenadas habrá 5 subintervalos, cada uno dividido en 4.

logflag: Esta opción puede usarse para fijar las escala ( lineal o logarítmica) a lo largo de los

ejes. Los valores asociados son tiras de caracteres con los valores posibles: "nn" , "nl" , "ln" and "ll" . "l" para escala logarítmica y n para escala normal.

Los comandos plot y plot2d producen líneas continuas para las curvas que se grafican. Si queremos usar otro tipo de curvas debemos considera el uso de otros comandos gráficos como

plot2d2(gráficos en escalón), plot2d3(barras verticales), y plot2d4(estilo con flechas).