SlideShare uma empresa Scribd logo
1 de 8
GNUPlot una
alternativa libre
para graficar funciones
GNUPlot es un programa muy flexible para generar gráficas de funciones y datos. Su
compatibilidad con casi todos los sistemas operativos, ha permitido que su uso se
extienda, considerando además su sencillez, rápido aprendizaje y robustez.

                                                  ✔      Permite interactuar con muchísimos
                                                         programas matemáticos, estadísticos,
                                                         económicos, etc


                                               Requisitos
                                               Actualmente todas las distribuciones de
                                               Linux, lo incluyen por defecto, en caso de no
                                               estar presente podemos hacer uso del gestor
                                               de paquetes propio de cada distribución:
                                                  ✔      YUM para CentOS, Fedora
Introducción                                      ✔      apt-get para Debian y derivados

Son muchas las áreas de aplicación donde
se precisan contar con representaciones        Funciones
gráficas de los datos, dentro del mundo
científico y académico si bien existe un        Función                Descripción
amplia variedad de programas orientados a
este aspecto, podemos asegurar que              abs(x)       valor absoluto de x, |x|
GNUPlot se ha convertido en la solución por
defecto al momento de requerir realizar         acos(x)      arco coseno de x
gráficas de datos.
                                                asin(x)      arco seno de x
GNUPlot al ser una aplicación dentro el
mundo del software libre, su uso no             atan(x)      arco tangente de x
necesariamente se ha enfrascado en
entornos como GNULinux, sino más al             cos(x)       coseno de x,     x expresado en
contrario se ha venido utilizando en casi                    radianes.
todos los sistemas operativos.
                                                cosh(x)      coseno hiperbólico de x,      x
                                                             expresado en radianes
Características
                                                erf(x)       función de error de x
   ✔   Produce resultados tanto en pantalla,
       como en diversos formatos (PNG,          exp(x)       función exponencial de x, base
       EPS, SVG, JPEG, etc).                                 e
   ✔   Posibilidad de manejo de forma
       interactiva o por medio de scripts       inverf(x) función de error inverso de x
invnorm( distribución normal inversa de x          Uso de constantes
 x)
                                                    GNUPlot al igual que la mayoría de los
 log(x)    logaritmo de x, base e                   lenguajes tiene la posibilidad de hacer uso de
                                                    constantes, algunos ejemplos sencillos son
 log10(x) logaritmo de x, base 10                   mostrados a continuación:

 norm(x)   función de distribución             de
           Gauss normal                             a = 10
                                                    b = 5
                                                    y = a*x+b
 rand(x)   generador de números pseudo
           aleatorios
                                                    Gráficas de datos externos
 sgn(x)    1 If x > 0, -1 if x < 0, 0 if x=0        En la mayoría de los casos, los usuarios
                                                    tenemos la necesidad de hacer uso de datos
 sin(x)    seno de x, x expresado en
                                                    que están almacenados de forma externa,
           radianes
                                                    GNUPlot permite acceder a estos datos
 sinh(x)   seno hiperbólico de            x,    x   siempre     y    cuando      cumplan    ciertas
           expresado en radianes                    características básicas como ser en un
                                                    archivo texto separado por tabuladores,
 sqrt(x)   raíz cuadrada de x                       dentro el cual pueden existir una serie de
                                                    columnas que puede ser utilizadas de forma
 tan(x)    tangente de x, x expresado en            indistinta para realizar las gráficas que sean
           radianes                                 necesarias. Al momento de hacer uso de
                                                    estos datos tenemos la posibilidad de
 tanh(x)   tangente hiperbólica de x, x             seleccionar un conjunto de columnas y/o
           expresado en radianes                    realizar operaciones entre ellas para poder
                                                    ser utilizadas como entradas para los
                                                    gráficas correspondientes.
                                                    En el ejemplo siguiente se muestra un
Gráficas de funciones                               ejemplo   de   un   archivo de   datos
plot [-2*pi:2*pi] sin(x),cos(x)                     (ejemplo.dat).


                                                    0.000                0                0
                                                    0.001              100               50
                                                    0.002              200              100
                                                    0.003              300              150
                                                    0.004              400              200
                                                    0.005              500              250
                                                    0.006              600              300
                                                    0.007              700              350


                                                    Para utilizar alguna columna específica
                                                    desde un archivo de datos podemos hacer
                                                    uso de:  plot   ’ejemplo.dat’   using   1:2 
                                                    de forma directa, y en caso de requerir
                                                    utilizar alguna columna dentro de un cálculo
                                                    podríamos       hacer   uso     de:    plot 
                                                    ’ejemplo.dat’   using   (sqrt($1**2+
                                                    $2**2+$3**2))
GNUPlot Script                                   Gráficas 2D y 3D
Muchas veces el realizar una gráfica requiere    plot sin(x)
realizar un conjunto de pasos previos,
reflejados en un conjunto de instrucciones,
para este caso GNUPlot permite que ese
conjunto de instrucciones sea almacenado en
un archivo de texto (script) y sea invocado de
forma interactiva o como parámetro de la
instrucción de ploteo.


load 'archivo_script' (de forma
interactiva)


o


gnuplot “archivo_script” (como argumento)

                                                 splot sin(x)

#Gnuplot script de ejemplo
set autoscale
unset label #remove any log-scaling
set xtic auto
set ytic auto
set title "Script de ejemplo"
set xlabel "Titulo Eje x"
set ylabel "Titutlo Eje y"
set key 0.01,100
set label "Punto Clave" at 0.003,260
set arrow from 0.0028, 250 to 0.003,280
set xr [0.0:0.022]
set yr [0:325]
plot "ejemplo.dat" using 1:2 t 'Serie 1'
with linespoints,"ejemplo.dat" using 1:3
t 'Serie 2' with points
pause 5 "Wait for 5 seconds"
plot sin(x) with impulses
Estilo de gráficas
GNUPlot permite la personalización de
estilos, más propiamente la personalización
del estilo de trazo que se utiliza para las
gráficas.
Los estilos disponibles son:


  lines                points
  impulses             yerrorbars
  fsteps               histeps
  boxxyerrorbars       vector
  error lines          xerrorlines
  linespoints          dots
                                                 plot sin(x) with steps
  xyerrorbars          steps
  boxes                boxerrorbars
  financebars          candlesticks
  yerrorlines          xyerrorlines


Estos estilos son asignados con la
instrucción: plot sin(x) with impulses




Personalizar las gráficas

                Instrucción                                Descripción

 set title "Force-Deflection Data"    Asignar un título

 set xlabel "Deflection (meters)"     Asignar una etiqueta en el eje X

 set ylabel "Force (kN)"              Asignar una etiqueta en el eje Y

 set xrange [0.001:0.005]             Cambiar el rango en el eje X

 set yrange [20:500]                  Cambiar el rango en el eje Y

 set autoscale                        Dejar que Gnuplot establezca el rango de los ejes
set key 0.01,100                        Mover el identificador de la gráfica a la coordenada x,y

 unset key                               Eliminar el identificador de la gráfica

 set label "yield point" at 0.003, 260   Poner una etiqueta en una coordenada x,y

 unset label                             Eliminar todas las etiquetas

 set logscale                            Dibujar usando ejes logarítmicos

 unset logscale; set logscale y          Activar y desactivar escala logarítmica

 set xtics (0.002,0.004,0.006,0.008)

 unset xtics; set xtics auto


set title 'Gráfico de la variación de la velocidad'
set xlabel 'Tiempo/s'
set ylabel 'Velocidad/ms^{-1}'
set xrange[0:7]
plot x*sin(1.2*x)




Incluir indicadores
set title 'Gráfico de la Velocidad Vs el
tiempo'
set xlabel 'Tiempo/s'
set ylabel 'Velocidad/ms^{-1}'
set xrange[0:7]
set mxtics 4
set arrow 1 from 1.9,-1.0 to 2.01,1.8
set label 1 "Primer maximo" at 1.8,-1.0
right
plot x*sin(x) title "Velocidad"
Ajuste de curvas
Muchas veces surge la necesidad de poder
ajustar nuestros datos, bajo un cierto criterio
(lineal, no lineal, etc), una de las ventajas de
usar GNUPlot va referida al ajuste de curvas
dados los datos y el tiempo de ajuste que se
precisa, aspecto que facilita enormemente el
trabajo y la facilidad para los usuarios.
Inicialmente    debemos     considerar  la
presencia de un archivo que contenga los
datos que serán ajustados, como se muestra
en el ejemplo siguiente:
datos.dat 
                                                   Ajuste a una ecuación
1      6
2      5                                           polinomial de 2do grado
3      5
4      4
5      2
                                                   f2(x)=a*(x**2)+b*x+c
                                                   fit f2(x) 'datos.dat' via a, b, c
                                                   plot f2(x) w l, 'datos.dat' w l
Realzamos el ploteo de los datos originales,
para luego contrastar con los datos ajustados
según diversas curvas.


plot “datos.dat” w l




                                                   Ajuste a una ecuación
                                                   polinomial de 3er grado

                                                   f3(x)=a*(x**3)+b*(x**2)+c*x+d
Ajuste a una ecuación lineal                       fit f3(x) 'datos.dat' via a, b, c, d
                                                   plot f3(x) w l, 'datos.dat' w l


f1(x)=a*x+b
fit f1(x) 'datos.dat' via a, b
# a=-0.9, b=7.1
plot f1(x) w l, 'datos.dat' w l
Ajuste a una ecuación                         Grabar trabajos
polinomial de 4to grado                       Generalmente cuando estamos realizando
                                              trabajos con cierto grado de complejidad, el
                                              cual vamos ajustando paulatinamente hasta
f4(x)=a*(x**4)+b*(x**3)+c*(x**2)+d*x+e        lograr los resultados esperados, es
fit f4(x) 'datos.dat' via a, b, c, d, e
plot f4(x) w l, 'datos.dat' w l               conveniente disponer de la posibilidad de
                                              poder grabar la secuencia de instrucciones
                                              realizadas para tal efecto, para este caso
                                              GNUPlot dispone de la instrucción save, y la
                                              load para recuperar la secuencia de
                                              instrucciones desde un archivo previamente
                                              guardado.
                                              A continuación mostramos algunos ejemplos
                                              de su uso:


                                              save   'trabajo.gnu'
                                              save   functions 'funciones.dat'
                                              save   var 'variables.dat'
                                              save   set 'opciones.dat'
                                              save   term 'terminal.gnu'
                                              save   '-'
                                              save   '|grep title >titulo.gp'
Gráficas múltiples
                                              load 'trabajo.gnu'
GNUPlot permite realizar más de una gráfica   load "funciones.dat"
en cada una de las salidas, permitiendo de    load "< loadfile_generador.sh"
esta forma realizar comparativas entre las
distintas gráficas realizadas.
                                              Salida impresa y gráfica
                                              GNUPlot provee la posibilidad de direccionar
set multiplot;                            #
get into multiplot mode
                                              la salida de sus gráficas, estas pueden ser
set size 1,0.5;                               redirigidas para ser impresas (formato
set origin 0.0,0.5;   plot sin(x);            PostScript) o pueden ser redirigidas hacia un
set origin 0.0,0.0;   plot cos(x)             archivo de imagen (gif, tgiff, jpeg, pbm, pdf,
unset multiplot                           #
exit multiplot mode
                                              latex, pstricks, postscripts etc... ) o la terminal
                                              X11 (opción por defecto)
                                              Su uso podría ser:
set terminal gif                                todo el mundo han incluido a esta
set output 'archivo01.gif'
plot....#<como usualmente se realiza>
                                                herramienta por sus buenas características,
set output #puede ser necesario para            innumerables funciones implementadas y
algunas terminales                              sobre todo por su facilidad de uso y rapidez
                                                en su curva de aprendizaje.
Un ejemplo práctico con una salida a un
archivo gif:                                    Referencias
set terminal gif
set output 'archivo01.gif'                      [1]    http://www.gnuplot.info/
set title 'Gráfico de la Velocidad Vs el
tiempo'
set xlabel 'Tiempo/s'
set ylabel 'Velocidad/ms^{-1}'
                                                Autores
set xrange[0:7]
set mxtics 4
set arrow 1 from 1.9,-1.0 to 2.01,1.8
set label 1 "Primer maximo" at 1.8,-1.0
right
plot x*sin(x) title "Velocidad"


Un ejemplo práctico con una salida a un
archivo eps:

                                                Pilar Castel Diaz
set xlabel 'time in seconds'
set ylabel 'throughput packets/second'          Centro de Investigación en Física y
set yrange [15:25]                              Matemáticas (ES)
set term postscript enhanced color eps          pilar.castel.diaz@gmail.com
set output 'grafico.eps'
plot 'ejemplo.dat' using 1:2 t
'throughput (with RTS)' w l,
'ejemplo.dat' using 1:3 t 'throughput
(without RTS)' w l


Interacción con lenguajes de
programación
Una de las grandes virtudes de GNUPlot es
brindar la posibilidad de ser utilizado desde
una aplicación desarrollada en lenguajes de
programación como Python, Perl, C, C++;
cualidad que hace que se pueda reutilizar       Esteban Saavedra López
esta poderosa herramienta desde nuestras        Presidente de la Fundación AtixLibre (Bolivia)
propias aplicaciones.                           Activista de Software Libre en Bolivia
                                                jesaavedra@opentelematics.org
                                                esteban.saavedra@atixlibre.org
Poder de GNUPlot                                http://jesaavedra.opentelematics.org
                                                http://www.atixlibre.org
Este artículo solo intenta mostrar una
pequeña parte del gran potencial que se
dispone   en   GNUPlot. Adicionalmente
comentar que muchísimas universidades en

Mais conteúdo relacionado

Mais procurados

desplazamiento y reflejo de funciones
desplazamiento y reflejo de funcionesdesplazamiento y reflejo de funciones
desplazamiento y reflejo de funcionesCris Panchi
 
Problemas de p f-e
Problemas de p f-eProblemas de p f-e
Problemas de p f-ejoaquings
 
Potencial eléctrico (1)
Potencial eléctrico (1)Potencial eléctrico (1)
Potencial eléctrico (1)Daniel Villota
 
Autómata de pila (AP)
Autómata de pila (AP)Autómata de pila (AP)
Autómata de pila (AP)Rodrigo GC
 
Ejercicios de integrales_impropias
Ejercicios de integrales_impropiasEjercicios de integrales_impropias
Ejercicios de integrales_impropiasSabena29
 
Manual de uso en MATLAB.pdf
Manual de uso en MATLAB.pdfManual de uso en MATLAB.pdf
Manual de uso en MATLAB.pdfThemenkMenma
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automataJacqui Venegas
 
Diferencia kirchhoff maxwell y caidatension
Diferencia kirchhoff maxwell y caidatensionDiferencia kirchhoff maxwell y caidatension
Diferencia kirchhoff maxwell y caidatensionleticiapc
 
4 problemas electrostatica_valor_en_frontera
4 problemas electrostatica_valor_en_frontera4 problemas electrostatica_valor_en_frontera
4 problemas electrostatica_valor_en_fronteraFrancisco Sandoval
 
Resolviendo problemas de composicion de funciones en Algebra Superior
Resolviendo problemas de composicion de funciones en Algebra SuperiorResolviendo problemas de composicion de funciones en Algebra Superior
Resolviendo problemas de composicion de funciones en Algebra SuperiorGuzano Morado
 
Logica de predicado
Logica de predicadoLogica de predicado
Logica de predicadorober_09
 
Tippens potencial eléctrico
Tippens potencial eléctricoTippens potencial eléctrico
Tippens potencial eléctricoaguilera461
 
Maximos y minimos funcion de varias variables
Maximos y minimos funcion de varias variablesMaximos y minimos funcion de varias variables
Maximos y minimos funcion de varias variablesRAQUEL CARDENAS GONZALEZ
 

Mais procurados (20)

Operadores de c++
Operadores de c++Operadores de c++
Operadores de c++
 
desplazamiento y reflejo de funciones
desplazamiento y reflejo de funcionesdesplazamiento y reflejo de funciones
desplazamiento y reflejo de funciones
 
Demostraciones inductivas
Demostraciones inductivasDemostraciones inductivas
Demostraciones inductivas
 
Problemas de p f-e
Problemas de p f-eProblemas de p f-e
Problemas de p f-e
 
Potencial eléctrico (1)
Potencial eléctrico (1)Potencial eléctrico (1)
Potencial eléctrico (1)
 
Autómata de pila (AP)
Autómata de pila (AP)Autómata de pila (AP)
Autómata de pila (AP)
 
Ejercicios de integrales_impropias
Ejercicios de integrales_impropiasEjercicios de integrales_impropias
Ejercicios de integrales_impropias
 
Manual de uso en MATLAB.pdf
Manual de uso en MATLAB.pdfManual de uso en MATLAB.pdf
Manual de uso en MATLAB.pdf
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata
 
Diferencia kirchhoff maxwell y caidatension
Diferencia kirchhoff maxwell y caidatensionDiferencia kirchhoff maxwell y caidatension
Diferencia kirchhoff maxwell y caidatension
 
Tabla De Transicion
Tabla De TransicionTabla De Transicion
Tabla De Transicion
 
Curso de LaTeX - Clase III Matemática
Curso de LaTeX - Clase III MatemáticaCurso de LaTeX - Clase III Matemática
Curso de LaTeX - Clase III Matemática
 
Energia potencial electrica o trabajo
Energia potencial electrica  o trabajoEnergia potencial electrica  o trabajo
Energia potencial electrica o trabajo
 
4 problemas electrostatica_valor_en_frontera
4 problemas electrostatica_valor_en_frontera4 problemas electrostatica_valor_en_frontera
4 problemas electrostatica_valor_en_frontera
 
Resolviendo problemas de composicion de funciones en Algebra Superior
Resolviendo problemas de composicion de funciones en Algebra SuperiorResolviendo problemas de composicion de funciones en Algebra Superior
Resolviendo problemas de composicion de funciones en Algebra Superior
 
Lógica+pr..
Lógica+pr..Lógica+pr..
Lógica+pr..
 
Logica de predicado
Logica de predicadoLogica de predicado
Logica de predicado
 
Tippens potencial eléctrico
Tippens potencial eléctricoTippens potencial eléctrico
Tippens potencial eléctrico
 
CODIGO DE HUFFMAN
CODIGO DE HUFFMANCODIGO DE HUFFMAN
CODIGO DE HUFFMAN
 
Maximos y minimos funcion de varias variables
Maximos y minimos funcion de varias variablesMaximos y minimos funcion de varias variables
Maximos y minimos funcion de varias variables
 

Destaque

Curso del software matemático GNUPLOT
Curso del software matemático GNUPLOTCurso del software matemático GNUPLOT
Curso del software matemático GNUPLOTEducagratis
 
Gnuplot
GnuplotGnuplot
Gnuplotdklajd
 
Tema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadTema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadCarlos A. Iglesias
 
Desmostración de la función Sigmoide en gnuplot
Desmostración de la función Sigmoide en gnuplotDesmostración de la función Sigmoide en gnuplot
Desmostración de la función Sigmoide en gnuplotLevy GT
 
Sistema De Gestion De Proyectos
Sistema De Gestion De ProyectosSistema De Gestion De Proyectos
Sistema De Gestion De ProyectosSebastian San Juan
 
ODMF Präsentation 2006
ODMF Präsentation 2006ODMF Präsentation 2006
ODMF Präsentation 2006Philipp Sauber
 
7% The Plain Dialer
7%  The  Plain  Dialer7%  The  Plain  Dialer
7% The Plain DialerJose Ortolá
 
Software Libre Y Web 2 0
Software Libre Y Web 2 0Software Libre Y Web 2 0
Software Libre Y Web 2 0condele3
 
Auf dem Weg zur Medienschule
Auf dem Weg zur Medienschule Auf dem Weg zur Medienschule
Auf dem Weg zur Medienschule HeFre
 
Information Broker 2.0 - Recherche im Sozialen Web
Information Broker 2.0 - Recherche im Sozialen WebInformation Broker 2.0 - Recherche im Sozialen Web
Information Broker 2.0 - Recherche im Sozialen WebUniversity St. Gallen
 
La Economía Dominicana en el Contexto de la Economía Global y Perspectivas
La Economía Dominicana en el Contexto de la Economía Global y PerspectivasLa Economía Dominicana en el Contexto de la Economía Global y Perspectivas
La Economía Dominicana en el Contexto de la Economía Global y PerspectivasLuis Bourget
 

Destaque (20)

Curso del software matemático GNUPLOT
Curso del software matemático GNUPLOTCurso del software matemático GNUPLOT
Curso del software matemático GNUPLOT
 
Gnuplot
GnuplotGnuplot
Gnuplot
 
Tutorial de GNUPlot
Tutorial de GNUPlotTutorial de GNUPlot
Tutorial de GNUPlot
 
Tema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadTema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidad
 
Desmostración de la función Sigmoide en gnuplot
Desmostración de la función Sigmoide en gnuplotDesmostración de la función Sigmoide en gnuplot
Desmostración de la función Sigmoide en gnuplot
 
Generalidades computación Gráfica
Generalidades computación GráficaGeneralidades computación Gráfica
Generalidades computación Gráfica
 
Operaciones con polinomios sexto grado
Operaciones con polinomios sexto gradoOperaciones con polinomios sexto grado
Operaciones con polinomios sexto grado
 
Hardware para Computación Gráfica
Hardware para Computación GráficaHardware para Computación Gráfica
Hardware para Computación Gráfica
 
Verbos Para Un Educador
Verbos Para Un EducadorVerbos Para Un Educador
Verbos Para Un Educador
 
Sistema De Gestion De Proyectos
Sistema De Gestion De ProyectosSistema De Gestion De Proyectos
Sistema De Gestion De Proyectos
 
Open Content
Open ContentOpen Content
Open Content
 
Ohio State
Ohio StateOhio State
Ohio State
 
ODMF Präsentation 2006
ODMF Präsentation 2006ODMF Präsentation 2006
ODMF Präsentation 2006
 
7% The Plain Dialer
7%  The  Plain  Dialer7%  The  Plain  Dialer
7% The Plain Dialer
 
Presentación PROSENASA
Presentación PROSENASAPresentación PROSENASA
Presentación PROSENASA
 
Software Libre Y Web 2 0
Software Libre Y Web 2 0Software Libre Y Web 2 0
Software Libre Y Web 2 0
 
Auf dem Weg zur Medienschule
Auf dem Weg zur Medienschule Auf dem Weg zur Medienschule
Auf dem Weg zur Medienschule
 
web2.0
web2.0web2.0
web2.0
 
Information Broker 2.0 - Recherche im Sozialen Web
Information Broker 2.0 - Recherche im Sozialen WebInformation Broker 2.0 - Recherche im Sozialen Web
Information Broker 2.0 - Recherche im Sozialen Web
 
La Economía Dominicana en el Contexto de la Economía Global y Perspectivas
La Economía Dominicana en el Contexto de la Economía Global y PerspectivasLa Economía Dominicana en el Contexto de la Economía Global y Perspectivas
La Economía Dominicana en el Contexto de la Economía Global y Perspectivas
 

Semelhante a GNUPlot una alternativa libre para graficar funciones

Semelhante a GNUPlot una alternativa libre para graficar funciones (20)

Gráficos en matlab eda
Gráficos en matlab edaGráficos en matlab eda
Gráficos en matlab eda
 
Conceptos básicos de un lenguaje de programación
Conceptos básicos de un lenguaje de programaciónConceptos básicos de un lenguaje de programación
Conceptos básicos de un lenguaje de programación
 
Apuntes scilab
Apuntes scilabApuntes scilab
Apuntes scilab
 
Apuntes scilab
Apuntes scilabApuntes scilab
Apuntes scilab
 
Introduccion rapida a SCILAB.pdf
Introduccion rapida a SCILAB.pdfIntroduccion rapida a SCILAB.pdf
Introduccion rapida a SCILAB.pdf
 
Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
 
Práctica 1 introducción al matlab
Práctica 1  introducción al matlabPráctica 1  introducción al matlab
Práctica 1 introducción al matlab
 
Matlab
MatlabMatlab
Matlab
 
Revista digital
Revista digitalRevista digital
Revista digital
 
Programación de código
Programación de códigoProgramación de código
Programación de código
 
programacion-Devian-C.pdf
programacion-Devian-C.pdfprogramacion-Devian-C.pdf
programacion-Devian-C.pdf
 
Calculo discreto-conceptos-y-aplicaciones
Calculo discreto-conceptos-y-aplicacionesCalculo discreto-conceptos-y-aplicaciones
Calculo discreto-conceptos-y-aplicaciones
 
Introducción a dr racket
Introducción a dr racketIntroducción a dr racket
Introducción a dr racket
 
librerias.pptx
librerias.pptxlibrerias.pptx
librerias.pptx
 
Programación C++ - DEV C++
Programación C++ - DEV C++Programación C++ - DEV C++
Programación C++ - DEV C++
 
A1 u1-16230227
A1 u1-16230227A1 u1-16230227
A1 u1-16230227
 
T 25
T 25T 25
T 25
 
Microprocesadores1
Microprocesadores1Microprocesadores1
Microprocesadores1
 
T 25
T 25T 25
T 25
 

Mais de Esteban Saavedra (20)

Atix30
Atix30Atix30
Atix30
 
Atix29
Atix29Atix29
Atix29
 
Atix28
Atix28Atix28
Atix28
 
Atix27
Atix27Atix27
Atix27
 
Atix26
Atix26Atix26
Atix26
 
Atix25
Atix25Atix25
Atix25
 
Rabbitmq
RabbitmqRabbitmq
Rabbitmq
 
Ansible
AnsibleAnsible
Ansible
 
Perl
PerlPerl
Perl
 
Atix24
Atix24Atix24
Atix24
 
Atix23
Atix23Atix23
Atix23
 
Lineas Base Migracion a Software Libre
Lineas Base Migracion a Software LibreLineas Base Migracion a Software Libre
Lineas Base Migracion a Software Libre
 
Seguridad Sistemas de Gobierno
Seguridad Sistemas de GobiernoSeguridad Sistemas de Gobierno
Seguridad Sistemas de Gobierno
 
Tunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y FirewallsTunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y Firewalls
 
Bi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar EmpresasBi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar Empresas
 
Clouds privadas
Clouds privadasClouds privadas
Clouds privadas
 
Introduccion Computacion Ubicua
Introduccion Computacion UbicuaIntroduccion Computacion Ubicua
Introduccion Computacion Ubicua
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web Grails
 
Avances Tecnologicos
Avances TecnologicosAvances Tecnologicos
Avances Tecnologicos
 
Dni Electronico Bolivia
Dni Electronico BoliviaDni Electronico Bolivia
Dni Electronico Bolivia
 

Último

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Último (10)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

GNUPlot una alternativa libre para graficar funciones

  • 1. GNUPlot una alternativa libre para graficar funciones GNUPlot es un programa muy flexible para generar gráficas de funciones y datos. Su compatibilidad con casi todos los sistemas operativos, ha permitido que su uso se extienda, considerando además su sencillez, rápido aprendizaje y robustez. ✔ Permite interactuar con muchísimos programas matemáticos, estadísticos, económicos, etc Requisitos Actualmente todas las distribuciones de Linux, lo incluyen por defecto, en caso de no estar presente podemos hacer uso del gestor de paquetes propio de cada distribución: ✔ YUM para CentOS, Fedora Introducción ✔ apt-get para Debian y derivados Son muchas las áreas de aplicación donde se precisan contar con representaciones Funciones gráficas de los datos, dentro del mundo científico y académico si bien existe un Función Descripción amplia variedad de programas orientados a este aspecto, podemos asegurar que abs(x) valor absoluto de x, |x| GNUPlot se ha convertido en la solución por defecto al momento de requerir realizar acos(x) arco coseno de x gráficas de datos. asin(x) arco seno de x GNUPlot al ser una aplicación dentro el mundo del software libre, su uso no atan(x) arco tangente de x necesariamente se ha enfrascado en entornos como GNULinux, sino más al cos(x) coseno de x, x expresado en contrario se ha venido utilizando en casi radianes. todos los sistemas operativos. cosh(x) coseno hiperbólico de x, x expresado en radianes Características erf(x) función de error de x ✔ Produce resultados tanto en pantalla, como en diversos formatos (PNG, exp(x) función exponencial de x, base EPS, SVG, JPEG, etc). e ✔ Posibilidad de manejo de forma interactiva o por medio de scripts inverf(x) función de error inverso de x
  • 2. invnorm( distribución normal inversa de x Uso de constantes x) GNUPlot al igual que la mayoría de los log(x) logaritmo de x, base e lenguajes tiene la posibilidad de hacer uso de constantes, algunos ejemplos sencillos son log10(x) logaritmo de x, base 10 mostrados a continuación: norm(x) función de distribución de Gauss normal a = 10 b = 5 y = a*x+b rand(x) generador de números pseudo aleatorios Gráficas de datos externos sgn(x) 1 If x > 0, -1 if x < 0, 0 if x=0 En la mayoría de los casos, los usuarios tenemos la necesidad de hacer uso de datos sin(x) seno de x, x expresado en que están almacenados de forma externa, radianes GNUPlot permite acceder a estos datos sinh(x) seno hiperbólico de x, x siempre y cuando cumplan ciertas expresado en radianes características básicas como ser en un archivo texto separado por tabuladores, sqrt(x) raíz cuadrada de x dentro el cual pueden existir una serie de columnas que puede ser utilizadas de forma tan(x) tangente de x, x expresado en indistinta para realizar las gráficas que sean radianes necesarias. Al momento de hacer uso de estos datos tenemos la posibilidad de tanh(x) tangente hiperbólica de x, x seleccionar un conjunto de columnas y/o expresado en radianes realizar operaciones entre ellas para poder ser utilizadas como entradas para los gráficas correspondientes. En el ejemplo siguiente se muestra un Gráficas de funciones ejemplo de un archivo de datos plot [-2*pi:2*pi] sin(x),cos(x) (ejemplo.dat). 0.000 0 0 0.001 100 50 0.002 200 100 0.003 300 150 0.004 400 200 0.005 500 250 0.006 600 300 0.007 700 350 Para utilizar alguna columna específica desde un archivo de datos podemos hacer uso de:  plot   ’ejemplo.dat’   using   1:2  de forma directa, y en caso de requerir utilizar alguna columna dentro de un cálculo podríamos hacer uso de: plot  ’ejemplo.dat’   using   (sqrt($1**2+ $2**2+$3**2))
  • 3. GNUPlot Script Gráficas 2D y 3D Muchas veces el realizar una gráfica requiere plot sin(x) realizar un conjunto de pasos previos, reflejados en un conjunto de instrucciones, para este caso GNUPlot permite que ese conjunto de instrucciones sea almacenado en un archivo de texto (script) y sea invocado de forma interactiva o como parámetro de la instrucción de ploteo. load 'archivo_script' (de forma interactiva) o gnuplot “archivo_script” (como argumento) splot sin(x) #Gnuplot script de ejemplo set autoscale unset label #remove any log-scaling set xtic auto set ytic auto set title "Script de ejemplo" set xlabel "Titulo Eje x" set ylabel "Titutlo Eje y" set key 0.01,100 set label "Punto Clave" at 0.003,260 set arrow from 0.0028, 250 to 0.003,280 set xr [0.0:0.022] set yr [0:325] plot "ejemplo.dat" using 1:2 t 'Serie 1' with linespoints,"ejemplo.dat" using 1:3 t 'Serie 2' with points pause 5 "Wait for 5 seconds"
  • 4. plot sin(x) with impulses Estilo de gráficas GNUPlot permite la personalización de estilos, más propiamente la personalización del estilo de trazo que se utiliza para las gráficas. Los estilos disponibles son: lines points impulses yerrorbars fsteps histeps boxxyerrorbars vector error lines xerrorlines linespoints dots plot sin(x) with steps xyerrorbars steps boxes boxerrorbars financebars candlesticks yerrorlines xyerrorlines Estos estilos son asignados con la instrucción: plot sin(x) with impulses Personalizar las gráficas Instrucción Descripción set title "Force-Deflection Data" Asignar un título set xlabel "Deflection (meters)" Asignar una etiqueta en el eje X set ylabel "Force (kN)" Asignar una etiqueta en el eje Y set xrange [0.001:0.005] Cambiar el rango en el eje X set yrange [20:500] Cambiar el rango en el eje Y set autoscale Dejar que Gnuplot establezca el rango de los ejes
  • 5. set key 0.01,100 Mover el identificador de la gráfica a la coordenada x,y unset key Eliminar el identificador de la gráfica set label "yield point" at 0.003, 260 Poner una etiqueta en una coordenada x,y unset label Eliminar todas las etiquetas set logscale Dibujar usando ejes logarítmicos unset logscale; set logscale y Activar y desactivar escala logarítmica set xtics (0.002,0.004,0.006,0.008) unset xtics; set xtics auto set title 'Gráfico de la variación de la velocidad' set xlabel 'Tiempo/s' set ylabel 'Velocidad/ms^{-1}' set xrange[0:7] plot x*sin(1.2*x) Incluir indicadores set title 'Gráfico de la Velocidad Vs el tiempo' set xlabel 'Tiempo/s' set ylabel 'Velocidad/ms^{-1}' set xrange[0:7] set mxtics 4 set arrow 1 from 1.9,-1.0 to 2.01,1.8 set label 1 "Primer maximo" at 1.8,-1.0 right plot x*sin(x) title "Velocidad"
  • 6. Ajuste de curvas Muchas veces surge la necesidad de poder ajustar nuestros datos, bajo un cierto criterio (lineal, no lineal, etc), una de las ventajas de usar GNUPlot va referida al ajuste de curvas dados los datos y el tiempo de ajuste que se precisa, aspecto que facilita enormemente el trabajo y la facilidad para los usuarios. Inicialmente debemos considerar la presencia de un archivo que contenga los datos que serán ajustados, como se muestra en el ejemplo siguiente: datos.dat  Ajuste a una ecuación 1 6 2 5 polinomial de 2do grado 3 5 4 4 5 2 f2(x)=a*(x**2)+b*x+c fit f2(x) 'datos.dat' via a, b, c plot f2(x) w l, 'datos.dat' w l Realzamos el ploteo de los datos originales, para luego contrastar con los datos ajustados según diversas curvas. plot “datos.dat” w l Ajuste a una ecuación polinomial de 3er grado f3(x)=a*(x**3)+b*(x**2)+c*x+d Ajuste a una ecuación lineal fit f3(x) 'datos.dat' via a, b, c, d plot f3(x) w l, 'datos.dat' w l f1(x)=a*x+b fit f1(x) 'datos.dat' via a, b # a=-0.9, b=7.1 plot f1(x) w l, 'datos.dat' w l
  • 7. Ajuste a una ecuación Grabar trabajos polinomial de 4to grado Generalmente cuando estamos realizando trabajos con cierto grado de complejidad, el cual vamos ajustando paulatinamente hasta f4(x)=a*(x**4)+b*(x**3)+c*(x**2)+d*x+e lograr los resultados esperados, es fit f4(x) 'datos.dat' via a, b, c, d, e plot f4(x) w l, 'datos.dat' w l conveniente disponer de la posibilidad de poder grabar la secuencia de instrucciones realizadas para tal efecto, para este caso GNUPlot dispone de la instrucción save, y la load para recuperar la secuencia de instrucciones desde un archivo previamente guardado. A continuación mostramos algunos ejemplos de su uso: save 'trabajo.gnu' save functions 'funciones.dat' save var 'variables.dat' save set 'opciones.dat' save term 'terminal.gnu' save '-' save '|grep title >titulo.gp' Gráficas múltiples load 'trabajo.gnu' GNUPlot permite realizar más de una gráfica load "funciones.dat" en cada una de las salidas, permitiendo de load "< loadfile_generador.sh" esta forma realizar comparativas entre las distintas gráficas realizadas. Salida impresa y gráfica GNUPlot provee la posibilidad de direccionar set multiplot; # get into multiplot mode la salida de sus gráficas, estas pueden ser set size 1,0.5; redirigidas para ser impresas (formato set origin 0.0,0.5; plot sin(x); PostScript) o pueden ser redirigidas hacia un set origin 0.0,0.0; plot cos(x) archivo de imagen (gif, tgiff, jpeg, pbm, pdf, unset multiplot # exit multiplot mode latex, pstricks, postscripts etc... ) o la terminal X11 (opción por defecto) Su uso podría ser:
  • 8. set terminal gif todo el mundo han incluido a esta set output 'archivo01.gif' plot....#<como usualmente se realiza> herramienta por sus buenas características, set output #puede ser necesario para innumerables funciones implementadas y algunas terminales sobre todo por su facilidad de uso y rapidez en su curva de aprendizaje. Un ejemplo práctico con una salida a un archivo gif: Referencias set terminal gif set output 'archivo01.gif' [1] http://www.gnuplot.info/ set title 'Gráfico de la Velocidad Vs el tiempo' set xlabel 'Tiempo/s' set ylabel 'Velocidad/ms^{-1}' Autores set xrange[0:7] set mxtics 4 set arrow 1 from 1.9,-1.0 to 2.01,1.8 set label 1 "Primer maximo" at 1.8,-1.0 right plot x*sin(x) title "Velocidad" Un ejemplo práctico con una salida a un archivo eps: Pilar Castel Diaz set xlabel 'time in seconds' set ylabel 'throughput packets/second' Centro de Investigación en Física y set yrange [15:25] Matemáticas (ES) set term postscript enhanced color eps pilar.castel.diaz@gmail.com set output 'grafico.eps' plot 'ejemplo.dat' using 1:2 t 'throughput (with RTS)' w l, 'ejemplo.dat' using 1:3 t 'throughput (without RTS)' w l Interacción con lenguajes de programación Una de las grandes virtudes de GNUPlot es brindar la posibilidad de ser utilizado desde una aplicación desarrollada en lenguajes de programación como Python, Perl, C, C++; cualidad que hace que se pueda reutilizar Esteban Saavedra López esta poderosa herramienta desde nuestras Presidente de la Fundación AtixLibre (Bolivia) propias aplicaciones. Activista de Software Libre en Bolivia jesaavedra@opentelematics.org esteban.saavedra@atixlibre.org Poder de GNUPlot http://jesaavedra.opentelematics.org http://www.atixlibre.org Este artículo solo intenta mostrar una pequeña parte del gran potencial que se dispone en GNUPlot. Adicionalmente comentar que muchísimas universidades en