Autor |
Mensaje |
gira
Nivel 9
Edad: 36
Registrado: 13 Ago 2007
Mensajes: 2166
Carrera: Industrial
|
|
|
|
|
ignis
Nivel 8
Edad: 36
Registrado: 02 Dic 2006
Mensajes: 488
Ubicación: down the telegraph road
Carrera: Civil
|
|
gk_264 escribió:
|
Mariano escribió:
|
Hola! estoy tratando de hacer grafiquitos con el GnuPlot y tengo algunos problemitas:
Para ponerlos en tema, les cuento que estoy haciendo trazadores spline cúbicos en análisis numérico, por lo que tengo ciertos puntos con sus imágenes (a través de una función que no conozco).
Metiendo esos datos en un archivo, hice el gráfico puntual, ahora quiero hacer lo siguiente:
1) En el mismo gráfico mostrar los dos "sets" de puntos: el original, y el que se genere a partir de mis trazadores.
2) Los trazadores son polinomios cúbicos que unen pares de puntos. Quiero graficar la sucesión de trazadores.. ¿como hago? (la idea sería decirle: entre "a" y "b", graficá esta funcion, entre "b" y "c", esta otra.. etc)
//Edit: Soy un bobo... en este mismo topic pregunté lo mismo hace unos meses.
Desde ya, muchas gracias
|
Pero, ¿vos querés que gnu te calcule las splines? ¿o ya tenés las splines y querés graficarlas?
Porque me parece que no calcula nada gnuplot…
|
Refloto para desmentir eso último que marqué en negrita.
En el TP5 de Química que subí al wiki hay un par de funciones con parámetros, y vos le decís que te ajuste las funciones a un conjunto de datos experimentales (data fitting) variando esos parámetros.
Al término de la iteración quedan registrados en el log un montón de datos del algoritmo utilizado, de los resultados obtenidos y de su incertidumbre.
También le podés decir que te interpole con una bézier (no recuerdo de qué grado, pero creo que dependía de la cantidad de puntos), una spline, etcétera, usando algo así:
Código:
|
plot 'sarasa' using smooth unique / frequency / csplines / acsplines / bezier / sbezier
|
donde sarasa es el archivo de datos donde figuran los puntos a interpolar. (Más info en la documentación oficial de gnuplot).
|
|
|
|
_________________ ignis
|
|
|
|
|
Wetsa
Nivel 6
Edad: 36
Registrado: 02 Abr 2007
Mensajes: 235
Carrera: Industrial
|
|
Hola! Tengo un problemita que no me doy cuenta de como resolver. Mi intención es graficar una función por partes, pero quiero que sea discontínua. Es decir, la función sería:
f(x)=48x/2+500*50000/x, si x<900,
f(x)=48x/2+900*50000/x, si x>900
Pero mi intención es que se vea claramente el "salto" en el punto x=900, que ambos tramos NO estén unidos.
¿Alguna pista para lograr esto con gnuplot? Busqué en google, en este mismo foro y en turoriales básicos pero no logro aprender cómo hacerlo.
Con este código grafico la función pero de manera contínua, sin el salto deseado:
plot [0:10000][0:1000000] (x<900)? (48*x/2+500*50000/x):(48*x/2+900*50000/x)
Gracias al que me dedique unos minutos...
|
|
|
|
|
|
|
|
|
Fhran
Administrador
Edad: 39
Registrado: 25 Ago 2005
Mensajes: 3123
Ubicación: En la rama de un árbol... entre locos.
Carrera: Electrónica y Informática
|
|
*****
agustin88 escribió:
|
Hola! Tengo un problemita que no me doy cuenta de como resolver. Mi intención es graficar una función por partes, pero quiero que sea discontínua. Es decir, la función sería:
f(x)=48x/2+500*50000/x, si x<900>900
Pero mi intención es que se vea claramente el "salto" en el punto x=900, que ambos tramos NO estén unidos.
¿Alguna pista para lograr esto con gnuplot? Busqué en google, en este mismo foro y en turoriales básicos pero no logro aprender cómo hacerlo.
Con este código grafico la función pero de manera contínua, sin el salto deseado:
plot [0:10000][0:1000000] (x<900)? (48*x/2+500*50000/x):(48*x/2+900*50000/x)
Gracias al que me dedique unos minutos...
|
Yo para hacer funciones partidas siempre uso la sintaxis ( ) : ? . El salto es inevitable.
Se me ocurre que podés lograr lo que querés graficando dos funciones distintas, una con cada rama de la función partida. En principio van a salir con colores distintos, pero podés forzarlas a que usen el mismo.
Ahora no lo puedo probar...
Suerte.
*****
|
|
|
|
_________________
El horóscopo del ingeniero es un poco más amplio. Se compone de Amor, Dinero, Salud, Simetría y Linealidad Causa-Efecto.
|
|
|
|
|
Wetsa
Nivel 6
Edad: 36
Registrado: 02 Abr 2007
Mensajes: 235
Carrera: Industrial
|
|
Gracias Fhran por la respuesta!
Intentar graficar como dos funciones distintas fue lo primero que se me ocurrió, ya que no conocía la sintaxis ( ) : ? hasta que entré a buscar en el foro.
Sin embargo, no sé como ingresar los dominios diferentes de cada función. Realmente no es importante para mi el tema colores, es más, hasta me gustaría que queden de 2 colores diferentes. Pero no encuentro en gnuplot cómo definir que una función vaya de [0, 900] y la otra función de 900 en adelante (no necesariamente tiene que ser infinito, puedo cortarla en un punto determinado la segunda rama).
¿Es posible graficar en el mismo gráfico (valga la redundancia) dos funciones con distintos dominios?
Cualquier sugerencia es bienvenida,
Saludos !!
|
|
|
|
|
|
|
|
|
Fhran
Administrador
Edad: 39
Registrado: 25 Ago 2005
Mensajes: 3123
Ubicación: En la rama de un árbol... entre locos.
Carrera: Electrónica y Informática
|
|
*********
¡Ya lo tengo!
Código:
|
f(x) = (x<900)?(48*x/2+500*50000/x):1/0
g(x) = (x>900)?(48*x/2+900*50000/x):1/0
set samples 1000
plot [0:10000][0:1000000] f(x), g(x)
|
Cuando Gnuplot se encuentra con operaciones no definidas (como 1/0), no grafica nada. Eso es ideal para lo que vos querías hacer.
*********
|
|
|
|
_________________
El horóscopo del ingeniero es un poco más amplio. Se compone de Amor, Dinero, Salud, Simetría y Linealidad Causa-Efecto.
|
|
|
|
|
Wetsa
Nivel 6
Edad: 36
Registrado: 02 Abr 2007
Mensajes: 235
Carrera: Industrial
|
|
Genial ! Qué capo, nunca se me hubiera ocurrido. Quedó exactamente como me lo imaginaba (en la mente, porque nunca hubiera podido llevarlo a la pantalla). Perfecto!
Gracias de nuevo Fhran, pronto vas a ver tú obra de arte en el wiki jaja.
Saludos !!
|
|
|
|
|
|
|
|
|
|
Ir a página Anterior 1, 2, 3
|
Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro No podés responder a temas en este foro No podés editar tus mensajes en este foro No podés borrar tus mensajes en este foro No podés votar en encuestas en este foro No Podéspostear archivos en este foro No Podés bajar archivos de este foro
|
Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker365 Attacks blocked.
|