(%i1) load(draw) $
Construimos una escena paso a paso.
(%i2) draw2d(explicit(sin(x^2-x+1), x, -3,3)) $
Para facilitar la lectura del gráfico, podemos dibujar un retículo,
(%i3) draw2d(
grid = true,
explicit(sin(x^2-x+1), x, -3,3)) $
Ahora añadimos unas etiquetas a los ejes coordenadas y un título, además de redimensionar la ventana,
(%i4) draw2d(
title = "Composicion seno y polinomio",
xlabel = "x",
ylabel = "y",
dimensions = [600,300],
grid = true,
explicit(sin(x^2-x+1), x, -3,3)) $
Podemos incluir más de una función en la misma escena. Por ejemplo, vamos a añadirle a la gráfica su función derivada en color rojo; vemos también que podemos añadirle comentarios al código en cualquier sitio,
(%i5) draw2d(
title = "Composicion seno y polinomio",
xlabel = "x",
ylabel = "y",
dimensions = [600,300],
grid = true,
explicit(sin(x^2-x+1), x, -3,3),
/* ahora va la derivada en rojo */
color = red,
explicit(diff(sin(x^2-x+1),x), x, -3,3)) $
La curva azul se ha reescalado automáticamente para acomodar la derivada dentro de la escena.
Representación gráfica de una función definida a trozos. Nos planteamos representar gráficamente la función
Damos por sentado que ya hemos cargado en memoria el paquete draw.
El asunto consiste en dibujar los tres trozos como funciones explícitas independientes,
(%i6) draw2d(
grid = true,
explicit(-1, x, -6,-4),
explicit(x+2, x, -4,2),
explicit(8/x, x, 2,6)) $
(%i7) draw2d(
grid = true,
xaxis = true, xaxis_type = solid,
yaxis = true, yaxis_type = solid,
line_width = 3,
yrange = [-4,5],
/* ahora pintamos los tres trozos */
explicit(-1, x, -10,-4),
explicit(x+2, x, -4,2),
explicit(8/x, x, 2,20)) $(%i8) draw2d(
grid = true,
xaxis = true, xaxis_type = solid,
yaxis = true, yaxis_type = solid,
line_width = 3,
yrange = [-4,5],
/* ahora pintamos los tres trozos */
explicit(-1, x, -10,-4),
explicit(x+2, x, -4,2),
explicit(8/x, x, 2,20),
/* añadimos el punto grueso en (-4,-2) */
point_type = filled_circle,
point_size = 4,
points ([[-4,-2]]) ) $







No hay comentarios:
Publicar un comentario
Si tienes alguna pregunta sobre el contenido de esta entrada, puedes enviarme un comentario...