1This is maxima.info, produced by makeinfo version 6.6 from maxima.texi. 2 3Este es el Manual de Maxima en versión Texinfo 4 5Copyright 1994, 2001 William F. Schelter 6 7START-INFO-DIR-ENTRY 8* Maxima: (maxima). Un sistema de cálculo simbólico 9END-INFO-DIR-ENTRY 10 11 12File: maxima.info, Node: Funciones y variables para gráficos estadísticos, Prev: Funciones y variables de parámetros descriptivos, Up: descriptive 13 1444.4 Funciones y variables para gráficos estadísticos 15===================================================== 16 17 -- Función: barsplot (<data1>, <data2>, ..., <option_1>, <option_2>, 18 ...) 19 -- Función: barsplot_description (...) 20 21 Dibuja diagramas de barras para variables estadísticas discretas, 22 tanto para una como para más muestras. 23 24 <data> puede ser una lista de resultados provenientes de una 25 muestra o una matriz de <m> filas y <n> columnas, representando <n> 26 muestras de tamaño <m> cada una. 27 28 Las opciones disponibles son: 29 30 <box_width> (valor por defecto, '3/4'): ancho relativo de los 31 rectángulos. Este valor debe pertenecer al rango '[0,1]'. 32 33 * <grouping> (valor por defecto, 'clustered'): indica cómo se 34 agrupan las diferentes muestras. Son valores válidos: 35 'clustered' y 'stacked'. 36 37 * <groups_gap> (valor por defecto, '1'): un número positivo que 38 representa la separación entre dos grupos consecutivos de 39 barras. 40 41 * <bars_colors> (valor por defecto, '[]'): una lista de colores 42 para múltiples muestras. Cuando el número de muestras sea 43 mayor que el de colores especificados, los colores adicionales 44 necesarios se seleccionan aleatoriamente. Véase 'color' para 45 más información. 46 47 * <frequency> (valor por defecto, 'absolute'): indica la escala 48 de las ordenadas. Valores admitidos son: 'absolute', 49 'relative' y and 'percent'. 50 51 * <ordering> (valor por defecto, 'orderlessp'): los valores 52 admitidos para esta opción son: 'orderlessp' y 'ordergreatp', 53 indicando cómo se deben ordenar los resultados muestrales 54 sobre el eje-<x>. 55 56 * <sample_keys> (valor por defecto, '[]'): es una lista de 57 cadenas de texto a usar como leyendas. Cuando la lista tenga 58 una longitud diferente de cero o del número de muestras, se 59 devolverá un mensaje de error. 60 61 * <start_at> (valor por defecto, '0'): indica a qué altura 62 comienza a dibujarse el gráfico de barra sobre el eje de 63 abscisas. 64 65 * Todas las opciones globales de 'draw', excepto 'xtics', que se 66 asigna internamente por 'barsplot'. Si es necesario que el 67 usuario le dé su propio valor a esta opción, o quiere 68 construir una escena más compleja, debe hacer uso de 69 'barsplot_description'. Véase el ejemplo más abajo. 70 71 * Las siguientes opciones locales de 'draw': 'key', 'color', 72 'fill_color', 'fill_density' y 'line_width'. Véase también 73 'bars'. 74 75 La función 'barsplot_description' crea un objeto gráfico útil para 76 formar escenas complejas, junto con otros objetos gráficos. Se 77 dispone también de la función 'wxbarsplot' para crear histogramas 78 incorporados en los interfaces wxMaxima y iMaxima. 79 80 Ejemplos: 81 82 Muestra univariante en formato matricial. Frecuencias absolutas. 83 84 (%i1) load (descriptive)$ 85 (%i2) m : read_matrix (file_search ("biomed.data"))$ 86 (%i3) barsplot( 87 col(m,2), 88 title = "Ages", 89 xlabel = "years", 90 box_width = 1/2, 91 fill_density = 3/4)$ 92 93 Dos muestras de diferente tamaño, con frecuencias relativas y 94 colores definidos por el usuario. 95 96 (%i1) load (descriptive)$ 97 (%i2) l1:makelist(random(10),k,1,50)$ 98 (%i3) l2:makelist(random(10),k,1,100)$ 99 (%i4) barsplot( 100 l1,l2, 101 box_width = 1, 102 fill_density = 1, 103 bars_colors = [black, grey], 104 frequency = relative, 105 sample_keys = ["A", "B"])$ 106 107 Cuatro muestras no numéricas de igual tamaño. 108 109 (%i1) load (descriptive)$ 110 (%i2) barsplot( 111 makelist([Yes, No, Maybe][random(3)+1],k,1,50), 112 makelist([Yes, No, Maybe][random(3)+1],k,1,50), 113 makelist([Yes, No, Maybe][random(3)+1],k,1,50), 114 makelist([Yes, No, Maybe][random(3)+1],k,1,50), 115 title = "Asking for something to four groups", 116 ylabel = "# of individuals", 117 groups_gap = 3, 118 fill_density = 0.5, 119 ordering = ordergreatp)$ 120 121 Barras apiladas verticalmente. 122 123 (%i1) load (descriptive)$ 124 (%i2) barsplot( 125 makelist([Yes, No, Maybe][random(3)+1],k,1,50), 126 makelist([Yes, No, Maybe][random(3)+1],k,1,50), 127 makelist([Yes, No, Maybe][random(3)+1],k,1,50), 128 makelist([Yes, No, Maybe][random(3)+1],k,1,50), 129 title = "Asking for something to four groups", 130 ylabel = "# of individuals", 131 grouping = stacked, 132 fill_density = 0.5, 133 ordering = ordergreatp)$ 134 135 'barsplot' en un contexto multiplot. 136 137 (%i1) load (descriptive)$ 138 (%i2) l1:makelist(random(10),k,1,50)$ 139 (%i3) l2:makelist(random(10),k,1,100)$ 140 (%i4) bp1 : 141 barsplot_description( 142 l1, 143 box_width = 1, 144 fill_density = 0.5, 145 bars_colors = [blue], 146 frequency = relative)$ 147 (%i5) bp2 : 148 barsplot_description( 149 l2, 150 box_width = 1, 151 fill_density = 0.5, 152 bars_colors = [red], 153 frequency = relative)$ 154 (%i6) draw(gr2d(bp1), gr2d(bp2))$ 155 156 Para las opciones relacionadas con los diagramas de barras, véase 157 'bars' del paquete 'draw'. 158 159 Véanse también las funciones 'histogram' y 'piechart'. 160 161 -- Función: boxplot (<data>) 162 -- Función: boxplot (<data>, <option_1>, <option_2>, ...) 163 -- Función: boxplot_description (...) 164 165 Dibuja diagramas de cajas (box-and-whishker). El argumento <data> 166 puede ser una lista, lo cual no es de gran interés, puesto que 167 estos gráficos se utilizan principalmente para comparar distintas 168 muestras, o una matriz, de manera que sea posible comparar dos o 169 más componentes de una muestra multivariante. También se permite 170 que <data> sea una lista de muestras con posibles tamaños 171 diferentes; de hecho, esta es la única función del paquete 172 'descriptive' que admite esta estructura de datos. 173 174 La caja se dibuja desde el primer cuartil hasta el tercero, con un 175 segmento horizontal situado a la altura del segundo cuartil o 176 mediana. Por defecto, los bigotes inferior y superior se sitúan a 177 la altura de los valores mínimo y máximo, respectivamente. La 178 opción <range> se puede utilizar para indicar que los valores 179 mayores que 180 'quantile(x,3/4)+range*(quantile(x,3/4)-quantile(x,1/4))', o 181 menores que 182 'quantile(x,1/4)-range*(quantile(x,3/4)-quantile(x,1/4))', deben 183 considerarse atípicos, en cuyo caso se dibujan como puntos 184 aislados, al tiempo que los bigotes se colocan en los extremos del 185 resto de la muestra. 186 187 Opciones disponibles: 188 189 * <box_width> (valor por defecto, '3/4'): ancho relativo de las 190 cajas. This value must be in the range '[0,1]'. 191 192 * <box_orientation> (valor por defecto, 'vertical'): valores 193 posibles: 'vertical' y 'horizontal'. 194 195 * <range> (valor por defecto, 'inf'): coeficiente positivo del 196 rango intercuartílico para declarar los límites de los datos 197 atípicos. 198 199 * <outliers_size> (valor por defecto, '1'): tamaño de los 200 círculos para los datos atípicos. 201 202 * Todas las opciones globales de 'draw', excepto 203 'points_joined', 'point_size', 'point_type', 'xtics', 'ytics', 204 'xrange' y 'yrange', que se asignan internamente por 205 'boxplot'. Si es necesario que el usuario le dé sus propios 206 valores a estas opciones, o quiere construir una escena más 207 compleja, debe hacer uso de 'boxplot_description'. 208 209 * Las siguientes opciones locales de 'draw': 'key', 'color', y 210 'line_width'. 211 212 La función 'boxplot_description' crea un objeto gráfico útil para 213 formar escenas complejas, junto con otros objetos gráficos. Se 214 dispone también de la función 'wxboxplot' para crear histogramas 215 incorporados en los interfaces wxMaxima y iMaxima. 216 217 Ejemplos: 218 219 Diagrama de cajas de una muestra multivariante. 220 221 (%i1) load (descriptive)$ 222 (%i2) s2 : read_matrix(file_search("wind.data"))$ 223 (%i3) boxplot(s2, 224 box_width = 0.2, 225 title = "Windspeed in knots", 226 xlabel = "Stations", 227 color = red, 228 line_width = 2)$ 229 230 Diagrama de cajas de tres muestras de tamaños diferentes. 231 232 (%i1) load (descriptive)$ 233 (%i2) A : 234 [[6, 4, 6, 2, 4, 8, 6, 4, 6, 4, 3, 2], 235 [8, 10, 7, 9, 12, 8, 10], 236 [16, 13, 17, 12, 11, 18, 13, 18, 14, 12]]$ 237 (%i3) boxplot (A, box_orientation = horizontal)$ 238 239 La opción <range> puede utilizarse para tratar con datos atípicos. 240 241 (%i1) load (descriptive)$ 242 (%i2) B: [[7, 15, 5, 8, 6, 5, 7, 3, 1], 243 [10, 8, 12, 8, 11, 9, 20], 244 [23, 17, 19, 7, 22, 19]] $ 245 (%i3) boxplot (B, range=1)$ 246 (%i4) boxplot (B, range=1.5, box_orientation = horizontal)$ 247 (%i5) draw2d( 248 boxplot_description( 249 B, 250 range = 1.5, 251 line_width = 3, 252 outliers_size = 2, 253 color = red, 254 background_color = light_gray), 255 xtics = {["Low",1],["Medium",2],["High",3]}) $ 256 257 -- Función: histogram (<list>) 258 -- Función: histogram (<list>, <option_1>, <option_2>, ...) 259 -- Función: histogram (<one_column_matrix>) 260 -- Función: histogram (<one_column_matrix>, <option_1>, <option_2>, 261 ...) 262 -- Función: histogram (<one_row_matrix>) 263 -- Función: histogram (<one_row_matrix>, <option_1>, <option_2>, ...) 264 -- Función: histogram_description (...) 265 266 Dibuja un histograma a partir de una muestra continua. Los datos 267 muestrales deben darse en forma de lista de números o como una 268 matriz unidimensional. 269 270 Opciones dispponibles: 271 272 * <nclasses> (valor por defecto, '10'): número de clases del 273 histograma, o una lista indicando los límites de las clases y 274 su número, o solamente los límites. 275 276 * <frequency> (valor por defecto, 'absolute'): indica la escala 277 de las ordenadas. Valores admitidos son: 'absolute', 278 'relative', 'percent' y 'density'. Con 'density', el 279 histograma adquiere un área total igual a uno. 280 281 * <htics> (valor por defecto, 'auto'): formato para las marcas 282 sobre el eje de las abscisas. Valores admitidos son: 'auto', 283 'endpoints', 'intervals' o una lista de etiquetas. 284 285 * Todas las opciones globales de 'draw', excepto 'xrange', 286 'yrange' y 'xtics', que son asignadas internamente por 287 'histogram'. Si es necesario que el usuario le dé sus propios 288 valores a estas opciones, debe hacer uso de 289 'histogram_description'. Véase el ejemplo más abajo. 290 291 * Las siguientes opciones locales de 'draw': 'key', 'color', 292 'fill_color', 'fill_density' y 'line_width'. Véase también 293 'bars'. 294 295 La función 'histogram_description' crea un objeto gráfico útil para 296 formar escenas complejas, junto con otros objetos gráficos. Se 297 dispone también de la función 'wxhistogram' para crear histogramas 298 incorporados en los interfaces wxMaxima y iMaxima. 299 300 Ejemplos: 301 302 Un histograma con seis clases: 303 304 (%i1) load (descriptive)$ 305 (%i2) s1 : read_list (file_search ("pidigits.data"))$ 306 (%i3) histogram ( 307 s1, 308 nclasses = 8, 309 title = "pi digits", 310 xlabel = "digits", 311 ylabel = "Absolute frequency", 312 fill_color = grey, 313 fill_density = 0.6)$ 314 315 Ajustando los límites del histograma a -2 y 12, con 3 clases. 316 También se establece un formato predefinido a las marcas del eje de 317 abscisas: 318 319 (%i1) load (descriptive)$ 320 (%i2) s1 : read_list (file_search ("pidigits.data"))$ 321 (%i3) histogram ( 322 s1, 323 nclasses = [-2,12,3], 324 htics = ["A", "B", "C"], 325 terminal = png, 326 fill_color = "#23afa0", 327 fill_density = 0.6)$ 328 329 Se hace uso de 'histogram_description' para ajustar la opción 330 'xrange' y añadir una curva explícita a la escena: 331 332 (%i1) load (descriptive)$ 333 (%i2) ( load("distrib"), 334 m: 14, s: 2, 335 s2: random_normal(m, s, 1000) ) $ 336 (%i3) draw2d( 337 grid = true, 338 xrange = [5, 25], 339 histogram_description( 340 s2, 341 nclasses = 9, 342 frequency = density, 343 fill_density = 0.5), 344 explicit(pdf_normal(x,m,s), x, m - 3*s, m + 3* s))$ 345 346 -- Función: piechart (<list>) 347 -- Función: piechart (<list>, <option_1>, <option_2>, ...) 348 -- Función: piechart (<one_column_matrix>) 349 -- Función: piechart (<one_column_matrix>, <option_1>, <option_2>, ...) 350 -- Función: piechart (<one_row_matrix>) 351 -- Función: piechart (<one_row_matrix>, <option_1>, <option_2>, ...) 352 -- Función: piechart_description (...) 353 354 Similar a 'barsplot', pero dibuja sectores en lugar de rectángulos. 355 356 Opciones disponibles: 357 358 * <sector_colors> (valor por defecto, '[]'): una lista de 359 colores para los sectores. Cuando el número de sectores sea 360 mayor que el de colores especificados, los colores adicionales 361 necesarios se seleccionan aleatoriamente. Véase 'color' para 362 más información. 363 364 * <pie_center> (valor por defecto, '[0,0]'): centro del diagrama 365 366 * <pie_radius> (valor por defecto, '1'): radio del diagrama. 367 368 * Todas las opciones globales de 'draw', excepto 'key', que se 369 asigna internamente por 'piechart'. Si es necesario que el 370 usuario le dé su propio valor a esta opción, o quiere 371 construir una escena más compleja, debe hacer uso de 372 'piechart_description'. 373 374 * Las siguientes opciones locales de 'draw': 'key', 'color', 375 'fill_density' y 'line_width'. Véase también 'bars'. 376 377 La función 'piechart_description' crea un objeto gráfico útil para 378 formar escenas complejas, junto con otros objetos gráficos. Se 379 dispone también de la función 'wxpiechart' para crear histogramas 380 incorporados en los interfaces wxMaxima y iMaxima. 381 382 Ejemplo: 383 384 (%i1) load (descriptive)$ 385 (%i2) s1 : read_list (file_search ("pidigits.data"))$ 386 (%i3) piechart( 387 s1, 388 xrange = [-1.1, 1.3], 389 yrange = [-1.1, 1.1], 390 title = "Digit frequencies in pi")$ 391 392 Véase también la función 'barsplot'. 393 394 -- Función: scatterplot (<list>) 395 -- Función: scatterplot (<list>, <option_1>, <option_2>, ...) 396 -- Función: scatterplot (<matrix>) 397 -- Función: scatterplot (<matrix>, <option_1>, <option_2>, ...) 398 -- Función: scatterplot_description (...) 399 400 Dibuja diagramas de dispersión, tanto de muestras univariantes 401 (<list>) como multivariantes (<matrix>). 402 403 Las opciones disponibles son las mismas que admite 'histogram'. 404 405 La función 'scatterplot_description' crea un objeto gráfico útil 406 para formar escenas complejas, junto con otros objetos gráficos. 407 Se dispone también de la función 'wxscatterplot' para crear 408 histogramas incorporados en los interfaces wxMaxima y iMaxima. 409 410 Ejemplos: 411 412 Diagrama de dispersión univariante a partir de una muestra normal 413 simulada. 414 415 (%i1) load (descriptive)$ 416 (%i2) load (distrib)$ 417 (%i3) scatterplot( 418 random_normal(0,1,200), 419 xaxis = true, 420 point_size = 2, 421 dimensions = [600,150])$ 422 423 Diagrama de dispersión bidimensional. 424 425 (%i1) load (descriptive)$ 426 (%i2) s2 : read_matrix (file_search ("wind.data"))$ 427 (%i3) scatterplot( 428 submatrix(s2, 1,2,3), 429 title = "Data from stations #4 and #5", 430 point_type = diamant, 431 point_size = 2, 432 color = blue)$ 433 434 Diagrama de dispersión tridimensional. 435 436 (%i1) load (descriptive)$ 437 (%i2) s2 : read_matrix (file_search ("wind.data"))$ 438 (%i3) scatterplot(submatrix (s2, 1,2), nclasses=4)$ 439 440 Diagrama de dispersión de cinco dimensiones, con histogramas de 441 cinco classes. 442 443 (%i1) load (descriptive)$ 444 (%i2) s2 : read_matrix (file_search ("wind.data"))$ 445 (%i3) scatterplot( 446 s2, 447 nclasses = 5, 448 frequency = relative, 449 fill_color = blue, 450 fill_density = 0.3, 451 xtics = 5)$ 452 453 Para dibujar puntos aislados o unidos por segmentos, tanto en dos 454 como en tres dimensiones, véase 'points'. Véase también 455 'histogram'. 456 457 -- Función: starplot (<data1>, <data2>, ..., <option_1>, <option_2>, 458 ...) 459 -- Función: starplot_description (...) 460 461 Dibuja diagramas de estrellas para variables estadísticas 462 discretas, tanto para una como para más muestras. 463 464 <data> puede ser una lista de resultados provenientes de una 465 muestra o una matriz de <m> filas y <n> columnas, representando <n> 466 muestras de tamaño <m> cada una. 467 468 Las opciones disponibles son: 469 470 * <stars_colors> (valor por defecto, '[]'): una lista de colores 471 para muestras múltiples. Cuando haya más muestras que colores 472 especificados, los colores que faltan se eligen 473 aleatoriamente. Véase 'color' para más información. 474 475 * <frequency> (valor por defecto, 'absolute'): indica la escala 476 de los radios. Valores admitidos son: 'absolute' y 477 'relative'. 478 479 * <ordering> (valor por defecto, 'orderlessp'): los valores 480 admitidos para esta opción son: 'orderlessp' y 'ordergreatp', 481 indicando cómo se deben ordenar los resultados muestrales 482 sobre el eje-<x>. 483 484 * <sample_keys> (valor por defecto, '[]'): es una lista de 485 cadenas de texto a usar como leyendas. Cuando la lista tenga 486 una longitud diferente de cero o del número de muestras, se 487 devolverá un mensaje de error. 488 489 * <star_center> (valor por defecto, '[0,0]'): centro del 490 diagrama. 491 492 * <star_radius> (valor por defecto, '1'): radio del diagrama. 493 494 * Todas las opciones globales de 'draw', excepto 495 'points_joined', 'point_type', and 'key', que se asignan 496 internamente por 'starplot'. Si es necesario que el usuario 497 les dé sus propios valores a estas opciones, o quiere 498 construir una escena más compleja, debe hacer uso de 499 'starplot_description'. 500 501 * La siguiente opción local de 'draw': 'line_width'. 502 503 La función 'starplot_description' crea un objeto gráfico útil para 504 formar escenas complejas, junto con otros objetos gráficos. Se 505 dispone también de la función 'wxstarplot' para crear histogramas 506 incorporados en los interfaces wxMaxima y iMaxima. 507 508 Ejemplo: 509 510 Gráfico basado en frecuencias absolutas. La localización y el 511 radios lo define el usuario. 512 513 (%i1) load (descriptive)$ 514 (%i2) l1: makelist(random(10),k,1,50)$ 515 (%i3) l2: makelist(random(10),k,1,200)$ 516 (%i4) starplot( 517 l1, l2, 518 stars_colors = [blue,red], 519 sample_keys = ["1st sample", "2nd sample"], 520 star_center = [1,2], 521 star_radius = 4, 522 proportional_axes = xy, 523 line_width = 2 ) $ 524 525 -- Función: stemplot (<m>) 526 -- Función: stemplot (<m>, <option>) 527 528 Dibuja diagrama de tallos y hojas. 529 530 La única opción disponible es: 531 532 * <leaf_unit> (valor por defecto, '1'): indica la unidad de las 533 hojas; debe ser una potencia de 10. 534 535 Ejemplo: 536 537 (%i1) load (descriptive)$ 538 (%i2) load(distrib)$ 539 (%i3) stemplot( 540 random_normal(15, 6, 100), 541 leaf_unit = 0.1); 542 -5|4 543 0|37 544 1|7 545 3|6 546 4|4 547 5|4 548 6|57 549 7|0149 550 8|3 551 9|1334588 552 10|07888 553 11|01144467789 554 12|12566889 555 13|24778 556 14|047 557 15|223458 558 16|4 559 17|11557 560 18|000247 561 19|4467799 562 20|00 563 21|1 564 22|2335 565 23|01457 566 24|12356 567 25|455 568 27|79 569 key: 6|3 = 6.3 570 (%o3) done 571 572 573File: maxima.info, Node: diag, Next: distrib, Prev: descriptive, Up: Top 574 57545 diag 576******* 577 578* Menu: 579 580* Funciones y variables para diag:: 581 582 583File: maxima.info, Node: Funciones y variables para diag, Prev: diag, Up: diag 584 58545.1 Funciones y variables para diag 586==================================== 587 588 -- Función: diag (<lm>) 589 Genera una matriz cuadrada con las matrices de <lm> en la diagonal, 590 siendo <lm> una lista de matrices o de escalares. 591 592 Ejemplo: 593 (%i1) load("diag")$ 594 595 (%i2) a1:matrix([1,2,3],[0,4,5],[0,0,6])$ 596 597 (%i3) a2:matrix([1,1],[1,0])$ 598 599 (%i4) diag([a1,x,a2]); 600 [ 1 2 3 0 0 0 ] 601 [ ] 602 [ 0 4 5 0 0 0 ] 603 [ ] 604 [ 0 0 6 0 0 0 ] 605 (%o4) [ ] 606 [ 0 0 0 x 0 0 ] 607 [ ] 608 [ 0 0 0 0 1 1 ] 609 [ ] 610 [ 0 0 0 0 1 0 ] 611 612 Antes de hacer uso de esta función ejecútese 'load("diag")'. 613 614 -- Función: JF (<lambda>,<n>) 615 Devuelve la célula de Jordan de orden <n> con valor propio 616 <lambda>. 617 618 Ejemplo: 619 (%i1) load("diag")$ 620 621 (%i2) JF(2,5); 622 [ 2 1 0 0 0 ] 623 [ ] 624 [ 0 2 1 0 0 ] 625 [ ] 626 (%o2) [ 0 0 2 1 0 ] 627 [ ] 628 [ 0 0 0 2 1 ] 629 [ ] 630 [ 0 0 0 0 2 ] 631 (%i3) JF(3,2); 632 [ 3 1 ] 633 (%o3) [ ] 634 [ 0 3 ] 635 636 Antes de hacer uso de esta función ejecútese 'load("diag")'. 637 638 -- Función: jordan (<mat>) 639 Devuelve la forma de Jordan de la matriz <mat>, pero en formato de 640 lista de Maxima. Para obtener la matriz correspondiente, llámese a 641 la función 'dispJordan' utilizando como argumento la salida de 642 'jordan'. 643 644 Ejemplo: 645 (%i1) load("diag")$ 646 647 (%i3) a:matrix([2,0,0,0,0,0,0,0], 648 [1,2,0,0,0,0,0,0], 649 [-4,1,2,0,0,0,0,0], 650 [2,0,0,2,0,0,0,0], 651 [-7,2,0,0,2,0,0,0], 652 [9,0,-2,0,1,2,0,0], 653 [-34,7,1,-2,-1,1,2,0], 654 [145,-17,-16,3,9,-2,0,3])$ 655 656 (%i34) jordan(a); 657 (%o4) [[2, 3, 3, 1], [3, 1]] 658 (%i5) dispJordan(%); 659 [ 2 1 0 0 0 0 0 0 ] 660 [ ] 661 [ 0 2 1 0 0 0 0 0 ] 662 [ ] 663 [ 0 0 2 0 0 0 0 0 ] 664 [ ] 665 [ 0 0 0 2 1 0 0 0 ] 666 (%o5) [ ] 667 [ 0 0 0 0 2 1 0 0 ] 668 [ ] 669 [ 0 0 0 0 0 2 0 0 ] 670 [ ] 671 [ 0 0 0 0 0 0 2 0 ] 672 [ ] 673 [ 0 0 0 0 0 0 0 3 ] 674 675 Antes de hacer uso de esta función ejecútese 'load("diag")'. 676 Véanse también 'dispJordan' y 'minimalPoly'. 677 678 -- Función: dispJordan (<l>) 679 Devuelve la matriz de Jordan asociada a la codificación dada por la 680 lista <l>, que habitualmente será la salida de la función 'jordan'. 681 682 Ejemplo: 683 (%i1) load("diag")$ 684 685 (%i2) b1:matrix([0,0,1,1,1], 686 [0,0,0,1,1], 687 [0,0,0,0,1], 688 [0,0,0,0,0], 689 [0,0,0,0,0])$ 690 691 (%i3) jordan(b1); 692 (%o3) [[0, 3, 2]] 693 (%i4) dispJordan(%); 694 [ 0 1 0 0 0 ] 695 [ ] 696 [ 0 0 1 0 0 ] 697 [ ] 698 (%o4) [ 0 0 0 0 0 ] 699 [ ] 700 [ 0 0 0 0 1 ] 701 [ ] 702 [ 0 0 0 0 0 ] 703 704 Antes de hacer uso de esta función ejecútese 'load("diag")'. 705 Véanse también 'jordan' y 'minimalPoly'. 706 707 -- Función: minimalPoly (<l>) 708 Devuelve el polinomio mínimo asociado a la codificación dada por la 709 lista <l>, que habitualmente será la salida de la función 'jordan'. 710 711 Ejemplo: 712 (%i1) load("diag")$ 713 714 (%i2) a:matrix([2,1,2,0], 715 [-2,2,1,2], 716 [-2,-1,-1,1], 717 [3,1,2,-1])$ 718 719 (%i3) jordan(a); 720 (%o3) [[- 1, 1], [1, 3]] 721 (%i4) minimalPoly(%); 722 3 723 (%o4) (x - 1) (x + 1) 724 725 Antes de hacer uso de esta función ejecútese 'load("diag")'. 726 Véanse también 'jordan' y 'dispJordan'. 727 728 -- Función: ModeMatrix (<A>,<l>) 729 Devuelve la matriz <M> tal que (M^^-1).A.M=J, donde <J> es la forma 730 de Jordan de <A>. La lista <l> es la forma codificada de la forma 731 de Jordan tal como la devuelve la función 'jordan'. 732 733 Ejemplo: 734 (%i1) load("diag")$ 735 736 (%i2) a:matrix([2,1,2,0], 737 [-2,2,1,2], 738 [-2,-1,-1,1], 739 [3,1,2,-1])$ 740 741 (%i3) jordan(a); 742 (%o3) [[- 1, 1], [1, 3]] 743 (%i4) M: ModeMatrix(a,%); 744 [ 1 - 1 1 1 ] 745 [ ] 746 [ 1 ] 747 [ - - - 1 0 0 ] 748 [ 9 ] 749 [ ] 750 (%o4) [ 13 ] 751 [ - -- 1 - 1 0 ] 752 [ 9 ] 753 [ ] 754 [ 17 ] 755 [ -- - 1 1 1 ] 756 [ 9 ] 757 (%i5) is( (M^^-1).a.M = dispJordan(%o3) ); 758 (%o5) true 759 Nótese que 'dispJordan(%o3)' es la forma de Jordan de la matriz 760 'a'. 761 762 Antes de hacer uso de esta función ejecútese 'load("diag")'. 763 Véanse también 'jordan' y 'dispJordan'. 764 765 -- Función: mat_function (<f>,<mat>) 766 Devuelve f(mat), siendo <f> una función analítica y <mat> una 767 matriz. Este cálculo se basa en la fórmula integral de Cauchy, que 768 establece que si 'f(x)' es analítica y 769 mat=diag([JF(m1,n1),...,JF(mk,nk)]), 770 771 entonces 772 773 f(mat)=ModeMatrix*diag([f(JF(m1,n1)),...,f(JF(mk,nk))]) 774 * ModeMatrix^^(-1) 775 776 Nótese que hay otros métodos alternativos para realizar este 777 cálculo. 778 779 Se presentan algunos ejemplos. 780 781 Ejemplo 1: 782 (%i1) load("diag")$ 783 784 (%i2) b2:matrix([0,1,0], [0,0,1], [-1,-3,-3])$ 785 786 (%i3) mat_function(exp,t*b2); 787 2 - t 788 t %e - t - t 789 (%o3) matrix([-------- + t %e + %e , 790 2 791 - t - t - t 792 2 %e %e - t - t %e 793 t (- ----- - ----- + %e ) + t (2 %e - -----) 794 t 2 t 795 t 796 - t - t - t 797 - t - t %e 2 %e %e 798 + 2 %e , t (%e - -----) + t (----- - -----) 799 t 2 t 800 2 - t - t - t 801 - t t %e 2 %e %e - t 802 + %e ], [- --------, - t (- ----- - ----- + %e ), 803 2 t 2 804 t 805 - t - t 2 - t 806 2 %e %e t %e - t 807 - t (----- - -----)], [-------- - t %e , 808 2 t 2 809 - t - t - t 810 2 %e %e - t - t %e 811 t (- ----- - ----- + %e ) - t (2 %e - -----), 812 t 2 t 813 t 814 - t - t - t 815 2 %e %e - t %e 816 t (----- - -----) - t (%e - -----)]) 817 2 t t 818 (%i4) ratsimp(%); 819 [ 2 - t ] 820 [ (t + 2 t + 2) %e ] 821 [ -------------------- ] 822 [ 2 ] 823 [ ] 824 [ 2 - t ] 825 (%o4) Col 1 = [ t %e ] 826 [ - -------- ] 827 [ 2 ] 828 [ ] 829 [ 2 - t ] 830 [ (t - 2 t) %e ] 831 [ ---------------- ] 832 [ 2 ] 833 [ 2 - t ] 834 [ (t + t) %e ] 835 [ ] 836 Col 2 = [ 2 - t ] 837 [ - (t - t - 1) %e ] 838 [ ] 839 [ 2 - t ] 840 [ (t - 3 t) %e ] 841 [ 2 - t ] 842 [ t %e ] 843 [ -------- ] 844 [ 2 ] 845 [ ] 846 [ 2 - t ] 847 Col 3 = [ (t - 2 t) %e ] 848 [ - ---------------- ] 849 [ 2 ] 850 [ ] 851 [ 2 - t ] 852 [ (t - 4 t + 2) %e ] 853 [ -------------------- ] 854 [ 2 ] 855 856 857 Ejemplo 2: 858 (%i5) b1:matrix([0,0,1,1,1], 859 [0,0,0,1,1], 860 [0,0,0,0,1], 861 [0,0,0,0,0], 862 [0,0,0,0,0])$ 863 864 (%i6) mat_function(exp,t*b1); 865 [ 2 ] 866 [ t ] 867 [ 1 0 t t -- + t ] 868 [ 2 ] 869 [ ] 870 (%o6) [ 0 1 0 t t ] 871 [ ] 872 [ 0 0 1 0 t ] 873 [ ] 874 [ 0 0 0 1 0 ] 875 [ ] 876 [ 0 0 0 0 1 ] 877 (%i7) minimalPoly(jordan(b1)); 878 3 879 (%o7) x 880 (%i8) ident(5)+t*b1+1/2*(t^2)*b1^^2; 881 [ 2 ] 882 [ t ] 883 [ 1 0 t t -- + t ] 884 [ 2 ] 885 [ ] 886 (%o8) [ 0 1 0 t t ] 887 [ ] 888 [ 0 0 1 0 t ] 889 [ ] 890 [ 0 0 0 1 0 ] 891 [ ] 892 [ 0 0 0 0 1 ] 893 (%i9) mat_function(exp,%i*t*b1); 894 [ 2 ] 895 [ t ] 896 [ 1 0 %i t %i t %i t - -- ] 897 [ 2 ] 898 [ ] 899 (%o9) [ 0 1 0 %i t %i t ] 900 [ ] 901 [ 0 0 1 0 %i t ] 902 [ ] 903 [ 0 0 0 1 0 ] 904 [ ] 905 [ 0 0 0 0 1 ] 906 (%i10) mat_function(cos,t*b1)+%i*mat_function(sin,t*b1); 907 [ 2 ] 908 [ t ] 909 [ 1 0 %i t %i t %i t - -- ] 910 [ 2 ] 911 [ ] 912 (%o10) [ 0 1 0 %i t %i t ] 913 [ ] 914 [ 0 0 1 0 %i t ] 915 [ ] 916 [ 0 0 0 1 0 ] 917 [ ] 918 [ 0 0 0 0 1 ] 919 920 Ejemplo 3: 921 (%i11) a1:matrix([2,1,0,0,0,0], 922 [-1,4,0,0,0,0], 923 [-1,1,2,1,0,0], 924 [-1,1,-1,4,0,0], 925 [-1,1,-1,1,3,0], 926 [-1,1,-1,1,1,2])$ 927 928 (%i12) fpow(x):=block([k],declare(k,integer),x^k)$ 929 930 (%i13) mat_function(fpow,a1); 931 [ k k - 1 ] [ k - 1 ] 932 [ 3 - k 3 ] [ k 3 ] 933 [ ] [ ] 934 [ k - 1 ] [ k k - 1 ] 935 [ - k 3 ] [ 3 + k 3 ] 936 [ ] [ ] 937 [ k - 1 ] [ k - 1 ] 938 [ - k 3 ] [ k 3 ] 939 (%o13) Col 1 = [ ] Col 2 = [ ] 940 [ k - 1 ] [ k - 1 ] 941 [ - k 3 ] [ k 3 ] 942 [ ] [ ] 943 [ k - 1 ] [ k - 1 ] 944 [ - k 3 ] [ k 3 ] 945 [ ] [ ] 946 [ k - 1 ] [ k - 1 ] 947 [ - k 3 ] [ k 3 ] 948 [ 0 ] [ 0 ] 949 [ ] [ ] 950 [ 0 ] [ 0 ] 951 [ ] [ ] 952 [ k k - 1 ] [ k - 1 ] 953 [ 3 - k 3 ] [ k 3 ] 954 [ ] [ ] 955 Col 3 = [ k - 1 ] Col 4 = [ k k - 1 ] 956 [ - k 3 ] [ 3 + k 3 ] 957 [ ] [ ] 958 [ k - 1 ] [ k - 1 ] 959 [ - k 3 ] [ k 3 ] 960 [ ] [ ] 961 [ k - 1 ] [ k - 1 ] 962 [ - k 3 ] [ k 3 ] 963 [ 0 ] 964 [ ] [ 0 ] 965 [ 0 ] [ ] 966 [ ] [ 0 ] 967 [ 0 ] [ ] 968 [ ] [ 0 ] 969 Col 5 = [ 0 ] Col 6 = [ ] 970 [ ] [ 0 ] 971 [ k ] [ ] 972 [ 3 ] [ 0 ] 973 [ ] [ ] 974 [ k k ] [ k ] 975 [ 3 - 2 ] [ 2 ] 976 977 Antes de hacer uso de esta función ejecútese 'load("diag")'. 978 979 980File: maxima.info, Node: distrib, Next: draw, Prev: diag, Up: Top 981 98246 distrib 983********** 984 985* Menu: 986 987* Introducción a distrib:: 988* Funciones y variables para distribuciones continuas:: 989* Funciones y variables para distribuciones discretas:: 990 991 992File: maxima.info, Node: Introducción a distrib, Next: Funciones y variables para distribuciones continuas, Prev: distrib, Up: distrib 993 99446.1 Introducción a distrib 995=========================== 996 997El paquete 'distrib' contiene un conjunto de funciones para la 998realización de cálculos probabilísticos con modelos univariantes, tanto 999discretos como continuos. 1000 1001A continuación un breve recordatorio de las deficiones básicas sobre 1002distribuciones de probabilidad. 1003 1004Sea f(x) la <función de densidad> de una variable aleatoria X 1005absolutamente continua. La <función de distribución> se define como 1006 x 1007 / 1008 [ 1009 F(x) = I f(u) du 1010 ] 1011 / 1012 minf 1013que es igual a la probabilidad <Pr(X <= x)>. 1014 1015La <media> es un parámetro de localización y se define como 1016 inf 1017 / 1018 [ 1019 E[X] = I x f(x) dx 1020 ] 1021 / 1022 minf 1023 1024La <varianza> es una medida de dispersión, 1025 inf 1026 / 1027 [ 2 1028 V[X] = I f(x) (x - E[X]) dx 1029 ] 1030 / 1031 minf 1032que es un número real positivo. La raíz cuadrada de la varianza es la 1033<desviación típica>, D[X]=sqrt(V[X]), siendo otra medida de dispersión. 1034 1035El <coeficiente de asimetría> es una medida de forma, 1036 inf 1037 / 1038 1 [ 3 1039 SK[X] = ----- I f(x) (x - E[X]) dx 1040 3 ] 1041 D[X] / 1042 minf 1043 1044Y el <coeficiente de curtosis> mide el apuntamiento de la densidad, 1045 inf 1046 / 1047 1 [ 4 1048 KU[X] = ----- I f(x) (x - E[X]) dx - 3 1049 4 ] 1050 D[X] / 1051 minf 1052Si X es normal, KU[X]=0. De hecho, tanto la asimetría como la curtosis 1053son parámetros de forma para medir la no normalidad de una distribución. 1054 1055Si la variable aleatoria X es discreta, su función de densidad, o de 1056<probabiliad>, f(x) toma valores positivos dentro de un conjunto 1057numerable de valores x_i, y cero en cualquier otro lugar. En este caso, 1058la función de distribución es 1059 ==== 1060 \ 1061 F(x) = > f(x ) 1062 / i 1063 ==== 1064 x <= x 1065 i 1066 1067La media, varianza, desviación típica y los coeficientes de asimetría y 1068curtosis adquieren las formas 1069 ==== 1070 \ 1071 E[X] = > x f(x ) , 1072 / i i 1073 ==== 1074 x 1075 i 1076 1077 ==== 1078 \ 2 1079 V[X] = > f(x ) (x - E[X]) , 1080 / i i 1081 ==== 1082 x 1083 i 1084 1085 D[X] = sqrt(V[X]), 1086 1087 ==== 1088 1 \ 3 1089 SK[X] = ------- > f(x ) (x - E[X]) 1090 D[X]^3 / i i 1091 ==== 1092 x 1093 i 1094y 1095 ==== 1096 1 \ 4 1097 KU[X] = ------- > f(x ) (x - E[X]) - 3 , 1098 D[X]^4 / i i 1099 ==== 1100 x 1101 i 1102respectivamente. 1103 1104Por favor, consúltese cualquier manual introductorio de probabilidad y 1105estadística para más información sobre toda esta parafernalia 1106matemática. 1107 1108Se sigue cierta convención a la hora de nombrar las funciones del 1109paquete 'distrib'. Cada nombre tiene dos partes, el primero hace 1110referencia a la función o parámetro que se quiere calcular, 1111 Funciones: 1112 Función de densidad (pdf_*) 1113 Función de distribución (cdf_*) 1114 Cuantil (quantile_*) 1115 Media (mean_*) 1116 Varianza (var_*) 1117 Desviación típica (std_*) 1118 Coeficiente de asimetría (skewness_*) 1119 Coeficiente de curtosis (kurtosis_*) 1120 Valor aleatorio (random_*) 1121 1122La segunda parte hace referencia explícita al modelo probabilístico, 1123 Distribuciones continuas: 1124 Normal (*normal) 1125 Student (*student_t) 1126 Chi^2 (*chi2) 1127 Chi^2 no central (*noncentral_chi2) 1128 F (*f) 1129 Exponencial (*exp) 1130 Lognormal (*lognormal) 1131 Gamma (*gamma) 1132 Beta (*beta) 1133 Continua uniforme (*continuous_uniform) 1134 Logística (*logistic) 1135 Pareto (*pareto) 1136 Weibull (*weibull) 1137 Rayleigh (*rayleigh) 1138 Laplace (*laplace) 1139 Cauchy (*cauchy) 1140 Gumbel (*gumbel) 1141 1142 Distribuciones discretas: 1143 Binomial (*binomial) 1144 Poisson (*poisson) 1145 Bernoulli (*bernoulli) 1146 Geométrica (*geometric) 1147 Uniforme discreta (*discrete_uniform) 1148 Hipergeométrica (*hypergeometric) 1149 Binomial negativa (*negative_binomial) 1150 Finita discreta (*general_finite_discrete) 1151 1152Por ejemplo, 'pdf_student_t(x,n)' es la función de densidad de la 1153distribución de Student con <n> grados de libertad, 'std_pareto(a,b)' es 1154la desviación típica de la distribución de Pareto de parámetros <a> y 1155<b>, y 'kurtosis_poisson(m)' es el coeficiente de curtosis de la 1156distribución de Poisson de media <m>. 1157 1158Para poder hacer uso del paquete 'distrib' es necesario cargarlo primero 1159tecleando 1160 (%i1) load(distrib)$ 1161 1162Para comentarios, errores o sugerencias, por favor contáctese conmigo en 1163<'riotorto AT yahoo DOT com'>. 1164 1165 1166File: maxima.info, Node: Funciones y variables para distribuciones continuas, Next: Funciones y variables para distribuciones discretas, Prev: Introducción a distrib, Up: distrib 1167 116846.2 Funciones y variables para distribuciones continuas 1169======================================================== 1170 1171 -- Función: pdf_normal (<x>,<m>,<s>) 1172 Devuelve el valor correspondiente a <x> de la función de densidad 1173 de la variable aleatoria Normal(m,s), con s>0. Para hacer uso de 1174 esta función, ejecútese primero 'load(distrib)'. 1175 1176 -- Función: cdf_normal (<x>,<m>,<s>) 1177 Devuelve el valor correspondiente a <x> de la función de 1178 distribución de la variable aleatoria Normal(m,s), con s>0. Esta 1179 función se define en términos de la función de error, 'erf', de 1180 Maxima. 1181 1182 (%i1) load (distrib)$ 1183 (%i2) cdf_normal(x,m,s); 1184 x - m 1185 erf(---------) 1186 sqrt(2) s 1 1187 (%o2) -------------- + - 1188 2 2 1189 1190 Véase también 'erf'. 1191 1192 -- Función: quantile_normal (<q>,<m>,<s>) 1193 Devuelve el <q>-cuantil de una variable aleatoria Normal(m,s), con 1194 s>0; en otras palabras, es la inversa de 'cdf_normal'. El 1195 argumento <q> debe ser un número de [0,1]. Para hacer uso de esta 1196 función, ejecútese primero 'load(distrib)'. 1197 1198 (%i1) load (distrib)$ 1199 (%i2) quantile_normal(95/100,0,1); 1200 9 1201 (%o2) sqrt(2) inverse_erf(--) 1202 10 1203 (%i3) float(%); 1204 (%o3) 1.644853626951472 1205 1206 -- Función: mean_normal (<m>,<s>) 1207 Devuelve la media de una variable aleatoria Normal(m,s), con s>0, 1208 es decir <m>. Para hacer uso de esta función, ejecútese primero 1209 'load(distrib)'. 1210 1211 -- Función: var_normal (<m>,<s>) 1212 Devuelve la varianza de una variable aleatoria Normal(m,s), con 1213 s>0, es decir <s^2>. 1214 1215 -- Función: std_normal (<m>,<s>) 1216 Devuelve la desviación típica de una variable aleatoria 1217 Normal(m,s), con s>0, es decir <s>. Para hacer uso de esta 1218 función, ejecútese primero 'load(distrib)'. 1219 1220 -- Función: skewness_normal (<m>,<s>) 1221 Devuelve el coeficiente de asimetría de una variable aleatoria 1222 Normal(m,s), con s>0, que es siempre igual a 0. Para hacer uso de 1223 esta función, ejecútese primero 'load(distrib)'. 1224 1225 -- Función: kurtosis_normal (<m>,<s>) 1226 Devuelve el coeficiente de curtosis de una variable aleatoria 1227 Normal(m,s), con s>0, que es siempre igual a 0. Para hacer uso de 1228 esta función, ejecútese primero 'load(distrib)'. 1229 1230 -- Función: random_normal (<m>,<s>) 1231 -- Función: random_normal (<m>,<s>,<n>) 1232 Devuelve un valor aleatorio Normal(m,s), con s>0. Llamando a 1233 'random_normal' con un tercer argumento <n>, se simula una muestra 1234 aleatoria de tamaño <n>. 1235 1236 El algoritmo de simulación es el de Box-Mueller, tal como está 1237 descrito en Knuth, D.E. (1981) <Seminumerical Algorithms. The Art 1238 of Computer Programming.> Addison-Wesley. 1239 1240 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 1241 1242 -- Función: pdf_student_t (<x>,<n>) 1243 Devuelve el valor correspondiente a <x> de la función de densidad 1244 de una variable aleatoria de Student t(n), con n>0. Para hacer uso 1245 de esta función, ejecútese primero 'load(distrib)'. 1246 1247 -- Función: cdf_student_t (<x>,<n>) 1248 Devuelve el valor correspondiente a <x> de la función de 1249 distribución de una variable aleatoria de Student t(n), con n>0. 1250 1251 (%i1) load (distrib)$ 1252 (%i2) cdf_student_t(1/2, 7/3); 1253 7 1 28 1254 beta_incomplete_regularized(-, -, --) 1255 6 2 31 1256 (%o2) 1 - ------------------------------------- 1257 2 1258 (%i3) float(%); 1259 (%o3) .6698450596140415 1260 1261 -- Función: quantile_student_t (<q>,<n>) 1262 Devuelve el <q>-cuantil de una variable aleatoria de Student t(n), 1263 con n>0; en otras palabras, se trata de la inversa de 1264 'cdf_student_t'. El argumento <q> debe ser un número de [0,1]. 1265 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 1266 1267 -- Función: mean_student_t (<n>) 1268 Devuelve la media de una variable aleatoria de Student t(n), con 1269 n>0, que vale siempre 0. Para hacer uso de esta función, ejecútese 1270 primero 'load(distrib)'. 1271 1272 -- Función: var_student_t (<n>) 1273 Devuelve la varianza de una variable aleatoria de Student t(n), con 1274 n>2. 1275 1276 (%i1) load (distrib)$ 1277 (%i2) var_student_t(n); 1278 n 1279 (%o2) ----- 1280 n - 2 1281 1282 -- Función: std_student_t (<n>) 1283 Devuelve la desviación típica de una variable aleatoria de Student 1284 t(n), con n>2. Para hacer uso de esta función, ejecútese primero 1285 'load(distrib)'. 1286 1287 -- Función: skewness_student_t (<n>) 1288 Devuelve el coeficiente de asimetría de una variable aleatoria de 1289 Student t(n), con n>3, que vale siempre 0. Para hacer uso de esta 1290 función, ejecútese primero 'load(distrib)'. 1291 1292 -- Función: kurtosis_student_t (<n>) 1293 Devuelve el coeficiente de curtosis una variable aleatoria de 1294 Student t(n), con n>4. Para hacer uso de esta función, ejecútese 1295 primero 'load(distrib)'. 1296 1297 -- Función: random_student_t (<n>) 1298 -- Función: random_student_t (<n>,<m>) 1299 Devuelve un valor aleatorio t(n), con n>0. Llamando a 1300 'random_student_t' con un segundo argumento <m>, se obtiene una 1301 muestra aleatoria simulada de tamaño <m>. 1302 1303 El algoritmo utilizado está basado en el hecho de que si <Z> es una 1304 variable aleatoria normal N(0,1) y S^2 es una chi cuadrada de <n> 1305 grados de libertad, Chi^2(n), entonces 1306 Z 1307 X = ------------- 1308 / 2 \ 1/2 1309 | S | 1310 | --- | 1311 \ n / 1312 1313 es una variable aleatoria de Student de <n> grados de libertad, 1314 t(n). 1315 1316 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 1317 1318 -- Función: pdf_noncentral_student_t (<x>,<n>,<ncp>) 1319 Devuelve el valor correspondiente a <x> de la función de densidad 1320 de una variable aleatoria no central de Student nc_t(n,ncp), con 1321 n>0 grados de libertad y parámetro de no centralidad ncp. Para 1322 hacer uso de esta función, ejecútese primero 'load(distrib)'. 1323 1324 En ocasiones es necesario hacer algún trabajo extra para obtener el 1325 resultado final. 1326 1327 (%i1) load (distrib)$ 1328 (%i2) expand(pdf_noncentral_student_t(3,5,0.1)); 1329 7/2 7/2 1330 0.04296414417400905 5 1.323650307289301e-6 5 1331 (%o2) ------------------------ + ------------------------- 1332 3/2 5/2 sqrt(%pi) 1333 2 14 sqrt(%pi) 1334 7/2 1335 1.94793720435093e-4 5 1336 + ------------------------ 1337 %pi 1338 (%i3) float(%); 1339 (%o3) .02080593159405669 1340 1341 -- Función: cdf_noncentral_student_t (<x>,<n>,<ncp>) 1342 Devuelve el valor correspondiente a <x> de la función de 1343 distribución de una variable aleatoria no central de Student 1344 nc_t(n,ncp), con n>0 grados de libertad y parámetro de no 1345 centralidad ncp. Esta función no tiene expresión compacta y se 1346 calcula numéricamente. Para hacer uso de esta función, ejecútese 1347 primero 'load(distrib)'. 1348 1349 (%i1) load (distrib)$ 1350 (%i2) cdf_noncentral_student_t(-2,5,-5); 1351 (%o2) .9952030093319743 1352 1353 -- Función: quantile_noncentral_student_t (<q>,<n>,<ncp>) 1354 Devuelve el <q>-cuantil de una variable aleatoria no central de 1355 Student nc_t(n,ncp), con n>0 grados de libertad y parámetro de no 1356 centralidad ncp; en otras palabras, se trata de la inversa de 1357 'cdf_noncentral_student_t'. El argumento <q> debe ser un número de 1358 [0,1]. Para hacer uso de esta función, ejecútese primero 1359 'load(distrib)'. 1360 1361 -- Función: mean_noncentral_student_t (<n>,<ncp>) 1362 Devuelve la media de una variable aleatoria no central de Student 1363 nc_t(n,ncp), con n>1 grados de libertad y parámetro de no 1364 centralidad ncp. Para hacer uso de esta función, ejecútese primero 1365 'load(distrib)'. 1366 1367 (%i1) load (distrib)$ 1368 (%i2) mean_noncentral_student_t(df,k); 1369 df - 1 1370 gamma(------) sqrt(df) k 1371 2 1372 (%o2) ------------------------ 1373 df 1374 sqrt(2) gamma(--) 1375 2 1376 1377 -- Función: var_noncentral_student_t (<n>,<ncp>) 1378 Devuelve la varianza de una variable aleatoria no central de 1379 Student nc_t(n,ncp), con n>2 grados de libertad y parámetro de no 1380 centralidad ncp. Para hacer uso de esta función, ejecútese primero 1381 'load(distrib)'. 1382 1383 -- Función: std_noncentral_student_t (<n>,<ncp>) 1384 Devuelve la desviación típica de una variable aleatoria no central 1385 de Student nc_t(n,ncp), con n>2 grados de libertad y parámetro de 1386 no centralidad ncp. Para hacer uso de esta función, ejecútese 1387 primero 'load(distrib)'. 1388 1389 -- Función: skewness_noncentral_student_t (<n>,<ncp>) 1390 Devuelve el coeficiente de asimetría de una variable aleatoria no 1391 central de Student nc_t(n,ncp), con n>3 grados de libertad y 1392 parámetro de no centralidad ncp. Para hacer uso de esta función, 1393 ejecútese primero 'load(distrib)'. 1394 1395 -- Función: kurtosis_noncentral_student_t (<n>,<ncp>) 1396 Devuelve el coeficiente de curtosis de una variable aleatoria no 1397 central de Student nc_t(n,ncp), con n>4 grados de libertad y 1398 parámetro de no centralidad ncp. Para hacer uso de esta función, 1399 ejecútese primero 'load(distrib)'. 1400 1401 -- Función: random_noncentral_student_t (<n>,<ncp>) 1402 -- Función: random_noncentral_student_t (<n>,<ncp>,<m>) 1403 Devuelve un valor aleatorio nc_t(n,ncp), con n>0. Llamando a 1404 'random_noncentral_student_t' con un tercer argumento <m>, se 1405 obtiene una muestra aleatoria simulada de tamaño <m>. 1406 1407 El algoritmo utilizado está basado en el hecho de que si <X> es una 1408 variable aleatoria normal N(ncp,1) y S^2 es una chi cuadrada de <n> 1409 grados de libertad, Chi^2(n), entonces 1410 X 1411 U = ------------- 1412 / 2 \ 1/2 1413 | S | 1414 | --- | 1415 \ n / 1416 1417 es una variable aleatoria no central de Student de <n> grados de 1418 libertad y parámetro de no centralidad ncp, nc_t(n,ncp). 1419 1420 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 1421 1422 -- Función: pdf_chi2 (<x>,<n>) 1423 Devuelve el valor correspondiente a <x> de la función de densidad 1424 de una variable aleatoria chi-cuadrado Chi^2(n), con n>0. La 1425 variable aleatoria Chi^2(n) equivale a una Gamma(n/2,2). 1426 1427 (%i1) load (distrib)$ 1428 (%i2) pdf_chi2(x,n); 1429 n/2 - 1 - x/2 1430 x %e 1431 (%o2) ---------------- 1432 n/2 n 1433 2 gamma(-) 1434 2 1435 1436 -- Función: cdf_chi2 (<x>,<n>) 1437 Devuelve el valor correspondiente a <x> de la función de 1438 distribución de una variable aleatoria chi-cuadrado Chi^2(n), con 1439 n>0. 1440 1441 (%i1) load (distrib)$ 1442 (%i2) cdf_chi2(3,4); 1443 3 1444 (%o2) 1 - gamma_incomplete_regularized(2, -) 1445 2 1446 (%i3) float(%); 1447 (%o3) .4421745996289256 1448 1449 -- Función: quantile_chi2 (<q>,<n>) 1450 Devuelve el <q>-cuantil de una variable aleatoria Chi^2(n), con 1451 n>0; en otras palabras, se trata de la inversa de 'cdf_chi2'. El 1452 argumento <q> debe ser un número de [0,1]. 1453 1454 Esta función no tiene expresión compacta y se calcula 1455 numéricamente. 1456 1457 (%i1) load (distrib)$ 1458 (%i2) quantile_chi2(0.99,9); 1459 (%o2) 21.66599433346194 1460 1461 -- Función: mean_chi2 (<n>) 1462 Devuelve la media de una variable aleatoria Chi^2(n), con n>0. 1463 1464 La variable aleatoria Chi^2(n) equivale a una Gamma(n/2,2). 1465 1466 (%i1) load (distrib)$ 1467 (%i2) mean_chi2(n); 1468 (%o2) n 1469 1470 -- Función: var_chi2 (<n>) 1471 Devuelve la varianza de una variable aleatoria Chi^2(n), con n>0. 1472 1473 La variable aleatoria Chi^2(n) equivale a una Gamma(n/2,2). 1474 1475 (%i1) load (distrib)$ 1476 (%i2) var_chi2(n); 1477 (%o2) 2 n 1478 1479 -- Función: std_chi2 (<n>) 1480 Devuelve la desviación típica de una variable aleatoria Chi^2(n), 1481 con n>0. 1482 1483 La variable aleatoria Chi^2(n) equivale a una Gamma(n/2,2). 1484 1485 (%i1) load (distrib)$ 1486 (%i2) std_chi2(n); 1487 (%o2) sqrt(2) sqrt(n) 1488 1489 -- Función: skewness_chi2 (<n>) 1490 Devuelve el coeficiente de asimetría de una variable aleatoria 1491 Chi^2(n), con n>0. 1492 1493 La variable aleatoria Chi^2(n) equivale a una Gamma(n/2,2). 1494 1495 (%i1) load (distrib)$ 1496 (%i2) skewness_chi2(n); 1497 3/2 1498 2 1499 (%o2) ------- 1500 sqrt(n) 1501 1502 -- Función: kurtosis_chi2 (<n>) 1503 Devuelve el coeficiente de curtosis una variable aleatoria 1504 Chi^2(n), con n>0. 1505 1506 La variable aleatoria Chi^2(n) equivale a una Gamma(n/2,2). 1507 1508 (%i1) load (distrib)$ 1509 (%i2) kurtosis_chi2(n); 1510 12 1511 (%o2) -- 1512 n 1513 1514 -- Función: random_chi2 (<n>) 1515 -- Función: random_chi2 (<n>,<m>) 1516 Devuelve un valor aleatorio Chi^2(n), con n>0. Llamando a 1517 'random_chi2' con un segundo argumento <m>, se simulará una muestra 1518 aleatoria de tamaño <m>. 1519 1520 La simulación está basada en el algoritmo de Ahrens-Cheng. Véase 1521 'random_gamma' para más detalles. 1522 1523 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 1524 1525 -- Función: pdf_noncentral_chi2 (<x>,<n>,<ncp>) 1526 Devuelve el valor correspondiente a <x> de la función de densidad 1527 de una variable aleatoria chi-cuadrado no centrada nc_Chi^2(n,ncp), 1528 con n>0 y parámetro de no centralidad ncp>=0. Para hacer uso de 1529 esta función ejecútese primero 'load(distrib)'. 1530 1531 -- Función: cdf_noncentral_chi2 (<x>,<n>,<ncp>) 1532 Devuelve el valor correspondiente a <x> de la función de 1533 distribución de una variable aleatoria chi-cuadrado no centrada 1534 nc_Chi^2(n,ncp), con n>0 y parámetro de no centralidad ncp>=0. 1535 1536 -- Función: quantile_noncentral_chi2 (<q>,<n>,<ncp>) 1537 Devuelve el <q>-cuantil de una variable aleatoria chi-cuadrado no 1538 centrada nc_Chi^2(n,ncp), con n>0 y parámetro de no centralidad 1539 ncp>=0; en otras palabras, se trata de la inversa de 1540 'cdf_noncentral_chi2'. El argumento <q> debe ser un número de 1541 [0,1]. 1542 1543 Esta función no tiene expresión compacta y se calcula 1544 numéricamente. 1545 1546 -- Función: mean_noncentral_chi2 (<n>,<ncp>) 1547 Devuelve la media de una variable aleatoria chi-cuadrado no 1548 centrada nc_Chi^2(n,ncp), con n>0 y parámetro de no centralidad 1549 ncp>=0. 1550 1551 -- Función: var_noncentral_chi2 (<n>,<ncp>) 1552 Devuelve la varianza de una variable aleatoria chi-cuadrado no 1553 centrada nc_Chi^2(n,ncp), con n>0 y parámetro de no centralidad 1554 ncp>=0. 1555 1556 -- Función: std_noncentral_chi2 (<n>,<ncp>) 1557 Devuelve la desviación típica de una variable aleatoria 1558 chi-cuadrado no centrada nc_Chi^2(n,ncp), con n>0 y parámetro de no 1559 centralidad ncp>=0. 1560 1561 -- Función: skewness_noncentral_chi2 (<n>,<ncp>) 1562 Devuelve el coeficiente de asimetría de una variable aleatoria 1563 chi-cuadrado no centrada nc_Chi^2(n,ncp), con n>0 y parámetro de no 1564 centralidad ncp>=0. 1565 1566 -- Función: kurtosis_noncentral_chi2 (<n>,<ncp>) 1567 Devuelve el coeficiente de curtosis una variable aleatoria 1568 chi-cuadrado no centrada nc_Chi^2(n,ncp), con n>0 y parámetro de no 1569 centralidad ncp>=0. 1570 1571 -- Función: random_noncentral_chi2 (<n>,<ncp>) 1572 -- Función: random_noncentral_chi2 (<n>,<ncp>,<m>) 1573 Devuelve un valor aleatorio nc_Chi^2(n,ncp), con n>0 y parámetro de 1574 no centralidad ncp>=0. Llamando a 'random_noncentral_chi2' con un 1575 tercer argumento <m>, se simulará una muestra aleatoria de tamaño 1576 <m>. 1577 1578 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 1579 1580 -- Función: pdf_f (<x>,<m>,<n>) 1581 Devuelve el valor correspondiente a <x> de la función de densidad 1582 de una variable aleatoria F(m,n), con m,n>0. Para hacer uso de 1583 esta función, ejecútese primero 'load(distrib)'. 1584 1585 -- Función: cdf_f (<x>,<m>,<n>) 1586 Devuelve el valor correspondiente a <x> de la función de 1587 distribución de una variable aleatoria F(m,n), con m,n>0. 1588 1589 (%i1) load (distrib)$ 1590 (%i2) cdf_f(2,3,9/4); 1591 9 3 3 1592 (%o2) 1 - beta_incomplete_regularized(-, -, --) 1593 8 2 11 1594 (%i3) float(%); 1595 (%o3) 0.66756728179008 1596 1597 -- Función: quantile_f (<q>,<m>,<n>) 1598 Devuelve el <q>-cuantil de una variable aleatoria F(m,n), con 1599 m,n>0; en otras palabras, se trata de la inversa de 'cdf_f'. El 1600 argumento <q> debe ser un número de [0,1]. 1601 1602 (%i1) load (distrib)$ 1603 (%i2) quantile_f(2/5,sqrt(3),5); 1604 2 1605 (%o2) quantile_f(-, sqrt(3), 5) 1606 5 1607 (%i3) %,numer; 1608 (%o3) 0.518947838573693 1609 1610 -- Función: mean_f (<m>,<n>) 1611 Devuelve la media de una variable aleatoria F(m,n), con m>0, n>2. 1612 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 1613 1614 -- Función: var_f (<m>,<n>) 1615 Devuelve la varianza de una variable aleatoria F(m,n), con m>0, 1616 n>4. Para hacer uso de esta función, ejecútese primero 1617 'load(distrib)'. 1618 1619 -- Función: std_f (<m>,<n>) 1620 Devuelve la desviación típica de una variable aleatoria F(m,n), con 1621 m>0, n>4. Para hacer uso de esta función, ejecútese primero 1622 'load(distrib)'. 1623 1624 -- Función: skewness_f (<m>,<n>) 1625 Devuelve el coeficiente de asimetría de una variable aleatoria 1626 F(m,n), con m>0, n>6. Para hacer uso de esta función, ejecútese 1627 primero 'load(distrib)'. 1628 1629 -- Función: kurtosis_f (<m>,<n>) 1630 Devuelve el coeficiente de curtosis una variable aleatoria F(m,n), 1631 con m>0, n>8. Para hacer uso de esta función, ejecútese primero 1632 'load(distrib)'. 1633 1634 -- Función: random_f (<m>,<n>) 1635 -- Función: random_f (<m>,<n>,<k>) 1636 Devuelve un valor aleatorio F(m,n), con m,n>0. Llamando a 1637 'random_f' con un tercer argumento <k>, se simulará una muestra 1638 aleatoria de tamaño <k>. 1639 1640 El algoritmo de simulación está basado en el hecho de que si <X> es 1641 una variable aleatoria Chi^2(m) y Y es una Chi^2(n), entonces 1642 n X 1643 F = --- 1644 m Y 1645 1646 es una variable aleatoria F con <m> y <n> grados de libertad, 1647 F(m,n). 1648 1649 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 1650 1651 -- Función: pdf_exp (<x>,<m>) 1652 Devuelve el valor correspondiente a <x> de la función de densidad 1653 de una variable aleatoria Exponencial(m), con m>0. 1654 1655 La variable aleatoria Exponencial(m) equivale a una Weibull(1,1/m). 1656 1657 (%i1) load (distrib)$ 1658 (%i2) pdf_exp(x,m); 1659 - m x 1660 (%o2) m %e 1661 1662 -- Función: cdf_exp (<x>,<m>) 1663 Devuelve el valor correspondiente a <x> de la función de 1664 distribución de una variable aleatoria Exponencial(m), con m>0. 1665 1666 La variable aleatoria Exponencial(m) equivale a una Weibull(1,1/m). 1667 1668 (%i1) load (distrib)$ 1669 (%i2) cdf_exp(x,m); 1670 - m x 1671 (%o2) 1 - %e 1672 1673 -- Función: quantile_exp (<q>,<m>) 1674 Devuelve el <q>-cuantil de una variable aleatoria Exponencial(m), 1675 con m>0; en otras palabras, se trata de la inversa de 'cdf_exp'. 1676 El argumento <q> debe ser un número de [0,1]. 1677 1678 La variable aleatoria Exponencial(m) equivale a una Weibull(1,1/m). 1679 1680 (%i1) load (distrib)$ 1681 (%i2) quantile_exp(0.56,5); 1682 (%o2) .1641961104139661 1683 (%i3) quantile_exp(0.56,m); 1684 1 1685 (%o3) quantile_weibull(0.56, 1, -) 1686 m 1687 1688 -- Función: mean_exp (<m>) 1689 Devuelve la media de una variable aleatoria Exponencial(m), con 1690 m>0. 1691 1692 La variable aleatoria Exponencial(m) equivale a una Weibull(1,1/m). 1693 1694 (%i1) load (distrib)$ 1695 (%i2) mean_exp(m); 1696 1 1697 (%o2) - 1698 m 1699 1700 -- Función: var_exp (<m>) 1701 Devuelve la varianza de una variable aleatoria Exponencial(m), con 1702 m>0. 1703 1704 La variable aleatoria Exponencial(m) equivale a una Weibull(1,1/m). 1705 1706 (%i1) load (distrib)$ 1707 (%i2) var_exp(m); 1708 1 1709 (%o2) -- 1710 2 1711 m 1712 1713 -- Función: std_exp (<m>) 1714 Devuelve la desviación típica de una variable aleatoria 1715 Exponencial(m), con m>0. 1716 1717 La variable aleatoria Exponencial(m) equivale a una Weibull(1,1/m). 1718 1719 (%i1) load (distrib)$ 1720 (%i2) std_exp(m); 1721 1 1722 (%o2) - 1723 m 1724 1725 -- Función: skewness_exp (<m>) 1726 Devuelve el coeficiente de asimetría de una variable aleatoria 1727 Exponencial(m), con m>0. 1728 1729 La variable aleatoria Exponencial(m) equivale a una Weibull(1,1/m). 1730 1731 (%i1) load (distrib)$ 1732 (%i2) skewness_exp(m); 1733 (%o2) 2 1734 1735 -- Función: kurtosis_exp (<m>) 1736 Devuelve el coeficiente de curtosis una variable aleatoria 1737 Exponencial(m), con m>0. 1738 1739 La variable aleatoria Exponencial(m) equivale a una Weibull(1,1/m). 1740 1741 (%i1) load (distrib)$ 1742 (%i2) kurtosis_exp(m); 1743 (%o3) 6 1744 1745 -- Función: random_exp (<m>) 1746 -- Función: random_exp (<m>,<k>) 1747 Devuelve un valor aleatorio Exponencial(m), con m>0. Llamando a 1748 'random_exp2' con un segundo argumento <k>, se simulará una muestra 1749 aleatoria de tamaño <k>. 1750 1751 El algoritmo de simulación está basado en el método inverso. 1752 1753 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 1754 1755 -- Función: pdf_lognormal (<x>,<m>,<s>) 1756 Devuelve el valor correspondiente a <x> de la función de densidad 1757 de una variable aleatoria Lognormal(m,s), con s>0. Para hacer uso 1758 de esta función, ejecútese primero 'load(distrib)'. 1759 1760 -- Función: cdf_lognormal (<x>,<m>,<s>) 1761 Devuelve el valor correspondiente a <x> de la función de 1762 distribución de una variable aleatoria Lognormal(m,s), con s>0. 1763 Esta función se define en términos de la función de error, 'erf', 1764 de Maxima. 1765 1766 (%i1) load (distrib)$ 1767 (%i2) assume(x>0, s>0)$ cdf_lognormal(x,m,s); 1768 log(x) - m 1769 erf(----------) 1770 sqrt(2) s 1 1771 (%o2) --------------- + - 1772 2 2 1773 1774 Véase también 'erf'. 1775 1776 -- Función: quantile_lognormal (<q>,<m>,<s>) 1777 Devuelve el <q>-cuantil de una variable aleatoria Lognormal(m,s), 1778 con s>0; en otras palabras, se trata de la inversa de 1779 'cdf_lognormal'. El argumento <q> debe ser un número de [0,1]. 1780 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 1781 1782 -- Función: mean_lognormal (<m>,<s>) 1783 Devuelve la media de una variable aleatoria Lognormal(m,s), con 1784 s>0. Para hacer uso de esta función, ejecútese primero 1785 'load(distrib)'. 1786 1787 -- Función: var_lognormal (<m>,<s>) 1788 Devuelve la varianza de una variable aleatoria Lognormal(m,s), con 1789 s>0. Para hacer uso de esta función, ejecútese primero 1790 'load(distrib)'. 1791 1792 -- Función: std_lognormal (<m>,<s>) 1793 Devuelve la desviación típica de una variable aleatoria 1794 Lognormal(m,s), con s>0. Para hacer uso de esta función, ejecútese 1795 primero 'load(distrib)'. 1796 1797 -- Función: skewness_lognormal (<m>,<s>) 1798 Devuelve el coeficiente de asimetría de una variable aleatoria 1799 Lognormal(m,s), con s>0. Para hacer uso de esta función, ejecútese 1800 primero 'load(distrib)'. 1801 1802 -- Función: kurtosis_lognormal (<m>,<s>) 1803 Devuelve el coeficiente de curtosis una variable aleatoria 1804 Lognormal(m,s), con s>0. Para hacer uso de esta función, ejecútese 1805 primero 'load(distrib)'. 1806 1807 -- Función: random_lognormal (<m>,<s>) 1808 -- Función: random_lognormal (<m>,<s>,<n>) 1809 Devuelve un valor aleatorio Lognormal(m,s), con s>0. Llamando a 1810 'random_lognormal' con un tercer argumento <n>, se simulará una 1811 muestra aleatoria de tamaño <n>. 1812 1813 Las variables lognormales se simulan mediante variables normales. 1814 Véase 'random_normal' para más detalles. 1815 1816 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 1817 1818 -- Función: pdf_gamma (<x>,<a>,<b>) 1819 Devuelve el valor correspondiente a <x> de la función de densidad 1820 de una variable aleatoria Gamma(a,b), con a,b>0. Para hacer uso de 1821 esta función, ejecútese primero 'load(distrib)'. 1822 1823 -- Función: cdf_gamma (<x>,<a>,<b>) 1824 Devuelve el valor correspondiente a <x> de la función de 1825 distribución de una variable aleatoria Gamma(a,b), con a,b>0. 1826 1827 (%i1) load (distrib)$ 1828 (%i2) cdf_gamma(3,5,21); 1829 1 1830 (%o2) 1 - gamma_incomplete_regularized(5, -) 1831 7 1832 (%i3) float(%); 1833 (%o3) 4.402663157376807E-7 1834 1835 -- Función: quantile_gamma (<q>,<a>,<b>) 1836 Devuelve el <q>-cuantil de una variable aleatoria Gamma(a,b), con 1837 a,b>0; en otras palabras, se trata de la inversa de 'cdf_gamma'. 1838 El argumento <q> debe ser un número de [0,1]. Para hacer uso de 1839 esta función, ejecútese primero 'load(distrib)'. 1840 1841 -- Función: mean_gamma (<a>,<b>) 1842 Devuelve la media de una variable aleatoria Gamma(a,b), con a,b>0. 1843 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 1844 1845 -- Función: var_gamma (<a>,<b>) 1846 Devuelve la varianza de una variable aleatoria Gamma(a,b), con 1847 a,b>0. Para hacer uso de esta función, ejecútese primero 1848 'load(distrib)'. 1849 1850 -- Función: std_gamma (<a>,<b>) 1851 Devuelve la desviación típica de una variable aleatoria Gamma(a,b), 1852 con a,b>0. Para hacer uso de esta función, ejecútese primero 1853 'load(distrib)'. 1854 1855 -- Función: skewness_gamma (<a>,<b>) 1856 Devuelve el coeficiente de asimetría de una variable aleatoria 1857 Gamma(a,b), con a,b>0. Para hacer uso de esta función, ejecútese 1858 primero 'load(distrib)'. 1859 1860 -- Función: kurtosis_gamma (<a>,<b>) 1861 Devuelve el coeficiente de curtosis una variable aleatoria 1862 Gamma(a,b), con a,b>0. Para hacer uso de esta función, ejecútese 1863 primero 'load(distrib)'. 1864 1865 -- Función: random_gamma (<a>,<b>) 1866 -- Función: random_gamma (<a>,<b>,<n>) 1867 Devuelve un valor aleatorio Gamma(a,b), con a,b>0. Llamando a 1868 'random_gamma' con un tercer argumento <n>, se simulará una muestra 1869 aleatoria de tamaño <n>. 1870 1871 El algoritmo de simulación es una combinación de dos 1872 procedimientos, según sea el valor del parámetro <a>: 1873 1874 Para a>=1, Cheng, R.C.H. y Feast, G.M. (1979). <Some simple gamma 1875 variate generators>. Appl. Stat., 28, 3, 290-295. 1876 1877 Para 0<a<1, Ahrens, J.H. y Dieter, U. (1974). <Computer methods 1878 for sampling from gamma, beta, poisson and binomial distributions>. 1879 Computing, 12, 223-246. 1880 1881 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 1882 1883 -- Función: pdf_beta (<x>,<a>,<b>) 1884 Devuelve el valor correspondiente a <x> de la función de densidad 1885 de una variable aleatoria Beta(a,b), con a,b>0. Para hacer uso de 1886 esta función, ejecútese primero 'load(distrib)'. 1887 1888 -- Función: cdf_beta (<x>,<a>,<b>) 1889 Devuelve el valor correspondiente a <x> de la función de 1890 distribución de una variable aleatoria Beta(a,b), con a,b>0. 1891 1892 (%i1) load (distrib)$ 1893 (%i2) cdf_beta(1/3,15,2); 1894 11 1895 (%o2) -------- 1896 14348907 1897 (%i3) float(%); 1898 (%o3) 7.666089131388195E-7 1899 1900 -- Función: quantile_beta (<q>,<a>,<b>) 1901 Devuelve el <q>-cuantil de una variable aleatoria Beta(a,b), con 1902 a,b>0; en otras palabras, se trata de la inversa de 'cdf_beta'. El 1903 argumento <q> debe ser un número de [0,1]. Para hacer uso de esta 1904 función, ejecútese primero 'load(distrib)'. 1905 1906 -- Función: mean_beta (<a>,<b>) 1907 Devuelve la media de una variable aleatoria Beta(a,b), con a,b>0. 1908 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 1909 1910 -- Función: var_beta (<a>,<b>) 1911 Devuelve la varianza de una variable aleatoria Beta(a,b), con 1912 a,b>0. Para hacer uso de esta función, ejecútese primero 1913 'load(distrib)'. 1914 1915 -- Función: std_beta (<a>,<b>) 1916 Devuelve la desviación típica de una variable aleatoria Beta(a,b), 1917 con a,b>0. Para hacer uso de esta función, ejecútese primero 1918 'load(distrib)'. 1919 1920 -- Función: skewness_beta (<a>,<b>) 1921 Devuelve el coeficiente de asimetría de una variable aleatoria 1922 Beta(a,b), con a,b>0. Para hacer uso de esta función, ejecútese 1923 primero 'load(distrib)'. 1924 1925 -- Función: kurtosis_beta (<a>,<b>) 1926 Devuelve el coeficiente de curtosis de una variable aleatoria 1927 Beta(a,b), con a,b>0. Para hacer uso de esta función, ejecútese 1928 primero 'load(distrib)'. 1929 1930 -- Función: random_beta (<a>,<b>) 1931 -- Función: random_beta (<a>,<b>,<n>) 1932 Devuelve un valor aleatorio Beta(a,b), con a,b>0. Llamando a 1933 'random_beta' con un tercer argumento <n>, se simulará una muestra 1934 aleatoria de tamaño <n>. 1935 1936 El algoritmo de simulación es el decrito en Cheng, R.C.H. (1978). 1937 <Generating Beta Variates with Nonintegral Shape Parameters>. 1938 Communications of the ACM, 21:317-322. 1939 1940 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 1941 1942 -- Función: pdf_continuous_uniform (<x>,<a>,<b>) 1943 Devuelve el valor correspondiente a <x> de la función de densidad 1944 de una variable aleatoria Uniforme Continua(a,b), con a<b. Para 1945 hacer uso de esta función, ejecútese primero 'load(distrib)'. 1946 1947 -- Función: cdf_continuous_uniform (<x>,<a>,<b>) 1948 Devuelve el valor correspondiente a <x> de la función de 1949 distribución de una variable aleatoria Uniforme Continua(a,b), con 1950 a<b. Para hacer uso de esta función, ejecútese primero 1951 'load(distrib)'. 1952 1953 -- Función: quantile_continuous_uniform (<q>,<a>,<b>) 1954 Devuelve el <q>-cuantil de una variable aleatoria Uniforme 1955 Continua(a,b), con a<b; en otras palabras, se trata de la inversa 1956 de 'cdf_continuous_uniform'. El argumento <q> debe ser un número 1957 de [0,1]. Para hacer uso de esta función, ejecútese primero 1958 'load(distrib)'. 1959 1960 -- Función: mean_continuous_uniform (<a>,<b>) 1961 Devuelve la media de una variable aleatoria Uniforme Continua(a,b), 1962 con a<b. Para hacer uso de esta función, ejecútese primero 1963 'load(distrib)'. 1964 1965 -- Función: var_continuous_uniform (<a>,<b>) 1966 Devuelve la varianza de una variable aleatoria Uniforme 1967 Continua(a,b), con a<b. Para hacer uso de esta función, ejecútese 1968 primero 'load(distrib)'. 1969 1970 -- Función: std_continuous_uniform (<a>,<b>) 1971 Devuelve la desviación típica de una variable aleatoria Uniforme 1972 Continua(a,b), con a<b. Para hacer uso de esta función, ejecútese 1973 primero 'load(distrib)'. 1974 1975 -- Función: skewness_continuous_uniform (<a>,<b>) 1976 Devuelve el coeficiente de asimetría de una variable aleatoria 1977 Uniforme Continua(a,b), con a<b. Para hacer uso de esta función, 1978 ejecútese primero 'load(distrib)'. 1979 1980 -- Función: kurtosis_continuous_uniform (<a>,<b>) 1981 Devuelve el coeficiente de curtosis una variable aleatoria Uniforme 1982 Continua(a,b), con a<b. Para hacer uso de esta función, ejecútese 1983 primero 'load(distrib)'. 1984 1985 -- Función: random_continuous_uniform (<a>,<b>) 1986 -- Función: random_continuous_uniform (<a>,<b>,<n>) 1987 Devuelve un valor aleatorio Uniforme Continuo(a,b), con a<b. 1988 Llamando a 'random_continuous_uniform' con un tercer argumento <n>, 1989 se simulará una muestra aleatoria de tamaño <n>. 1990 1991 Esta función es una aplicación directa de la función 'random' de 1992 Maxima. 1993 1994 Véase también 'random'. Para hacer uso de esta función, ejecútese 1995 primero 'load(distrib)'. 1996 1997 -- Función: pdf_logistic (<x>,<a>,<b>) 1998 Devuelve el valor correspondiente a <x> de la función de densidad 1999 de una variable aleatoria Logística(a,b), con b>0. Para hacer uso 2000 de esta función, ejecútese primero 'load(distrib)'. 2001 2002 -- Función: cdf_logistic (<x>,<a>,<b>) 2003 Devuelve el valor correspondiente a <x> de la función de 2004 distribución de una variable aleatoria Logística(a,b), con b>0. 2005 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2006 2007 -- Función: quantile_logistic (<q>,<a>,<b>) 2008 Devuelve el <q>-cuantil de una variable aleatoria Logística(a,b), 2009 con b>0; en otras palabras, se trata de la inversa de 2010 'cdf_logistic'. El argumento <q> debe ser un número de [0,1]. 2011 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2012 2013 -- Función: mean_logistic (<a>,<b>) 2014 Devuelve la media de una variable aleatoria Logística(a,b), con 2015 b>0. Para hacer uso de esta función, ejecútese primero 2016 'load(distrib)'. 2017 2018 -- Función: var_logistic (<a>,<b>) 2019 Devuelve la varianza de una variable aleatoria Logística(a,b), con 2020 b>0. Para hacer uso de esta función, ejecútese primero 2021 'load(distrib)'. 2022 2023 -- Función: std_logistic (<a>,<b>) 2024 Devuelve la desviación típica de una variable aleatoria 2025 Logística(a,b), con b>0. Para hacer uso de esta función, ejecútese 2026 primero 'load(distrib)'. 2027 2028 -- Función: skewness_logistic (<a>,<b>) 2029 Devuelve el coeficiente de asimetría de una variable aleatoria 2030 Logística(a,b), con b>0. Para hacer uso de esta función, ejecútese 2031 primero 'load(distrib)'. 2032 2033 -- Función: kurtosis_logistic (<a>,<b>) 2034 Devuelve el coeficiente de curtosis una variable aleatoria 2035 Logística(a,b), con b>0. Para hacer uso de esta función, ejecútese 2036 primero 'load(distrib)'. 2037 2038 -- Función: random_logistic (<a>,<b>) 2039 -- Función: random_logistic (<a>,<b>,<n>) 2040 Devuelve un valor aleatorio Logístico(a,b), con b>0. Llamando a 2041 'random_logistic' con un tercer argumento <n>, se simulará una 2042 muestra aleatoria de tamaño <n>. 2043 2044 El algoritmo de simulación está basado en el método inverso. 2045 2046 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2047 2048 -- Función: pdf_pareto (<x>,<a>,<b>) 2049 Devuelve el valor correspondiente a <x> de la función de densidad 2050 de una variable aleatoria de Pareto(a,b), con a,b>0. Para hacer 2051 uso de esta función, ejecútese primero 'load(distrib)'. 2052 2053 -- Función: cdf_pareto (<x>,<a>,<b>) 2054 Devuelve el valor correspondiente a <x> de la función de 2055 distribución de una variable aleatoria de Pareto(a,b), con a,b>0. 2056 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2057 2058 -- Función: quantile_pareto (<q>,<a>,<b>) 2059 Devuelve el <q>-cuantil de una variable aleatoria de Pareto(a,b), 2060 con a,b>0; en otras palabras, se trata de la inversa de 2061 'cdf_pareto'. El argumento <q> debe ser un número de [0,1]. Para 2062 hacer uso de esta función, ejecútese primero 'load(distrib)'. 2063 2064 -- Función: mean_pareto (<a>,<b>) 2065 Devuelve la media de una variable aleatoria de Pareto(a,b), con 2066 a>1,b>0. Para hacer uso de esta función, ejecútese primero 2067 'load(distrib)'. 2068 2069 -- Función: var_pareto (<a>,<b>) 2070 Devuelve la varianza de una variable aleatoria de Pareto(a,b), con 2071 a>2,b>0. Para hacer uso de esta función, ejecútese primero 2072 'load(distrib)'. 2073 2074 -- Función: std_pareto (<a>,<b>) 2075 Devuelve la desviación típica de una variable aleatoria de 2076 Pareto(a,b), con a>2,b>0. Para hacer uso de esta función, 2077 ejecútese primero 'load(distrib)'. 2078 2079 -- Función: skewness_pareto (<a>,<b>) 2080 Devuelve el coeficiente de asimetría de una variable aleatoria de 2081 Pareto(a,b), con a>3,b>0. Para hacer uso de esta función, 2082 ejecútese primero 'load(distrib)'. 2083 2084 -- Función: kurtosis_pareto (<a>,<b>) 2085 Devuelve el coeficiente de curtosis de una variable aleatoria de 2086 Pareto(a,b), con a>4,b>0. Para hacer uso de esta función, 2087 ejecútese primero 'load(distrib)'. 2088 2089 -- Función: random_pareto (<a>,<b>) 2090 -- Función: random_pareto (<a>,<b>,<n>) 2091 Devuelve un valor aleatorio Pareto(a,b), con a>0,b>0. Llamando a 2092 'random_pareto' con un tercer argumento <n>, se simulará una 2093 muestra aleatoria de tamaño <n>. 2094 2095 El algoritmo de simulación está basado en el método inverso. 2096 2097 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2098 2099 -- Función: pdf_weibull (<x>,<a>,<b>) 2100 Devuelve el valor correspondiente a <x> de la función de densidad 2101 de una variable aleatoria de Weibull(a,b), con a,b>0. Para hacer 2102 uso de esta función, ejecútese primero 'load(distrib)'. 2103 2104 -- Función: cdf_weibull (<x>,<a>,<b>) 2105 Devuelve el valor correspondiente a <x> de la función de 2106 distribución de una variable aleatoria de Weibull(a,b), con a,b>0. 2107 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2108 2109 -- Función: quantile_weibull (<q>,<a>,<b>) 2110 Devuelve el <q>-cuantil de una variable aleatoria de Weibull(a,b), 2111 con a,b>0; en otras palabras, se trata de la inversa de 2112 'cdf_weibull'. El argumento <q> debe ser un número de [0,1]. Para 2113 hacer uso de esta función, ejecútese primero 'load(distrib)'. 2114 2115 -- Función: mean_weibull (<a>,<b>) 2116 Devuelve la media de una variable aleatoria de Weibull(a,b), con 2117 a,b>0. Para hacer uso de esta función, ejecútese primero 2118 'load(distrib)'. 2119 2120 -- Función: var_weibull (<a>,<b>) 2121 Devuelve la varianza de una variable aleatoria de Weibull(a,b), con 2122 a,b>0. Para hacer uso de esta función, ejecútese primero 2123 'load(distrib)'. 2124 2125 -- Función: std_weibull (<a>,<b>) 2126 Devuelve la desviación típica de una variable aleatoria de 2127 Weibull(a,b), con a,b>0. Para hacer uso de esta función, ejecútese 2128 primero 'load(distrib)'. 2129 2130 -- Función: skewness_weibull (<a>,<b>) 2131 Devuelve el coeficiente de asimetría de una variable aleatoria de 2132 Weibull(a,b), con a,b>0. Para hacer uso de esta función, ejecútese 2133 primero 'load(distrib)'. 2134 2135 -- Función: kurtosis_weibull (<a>,<b>) 2136 Devuelve el coeficiente de curtosis una variable aleatoria de 2137 Weibull(a,b), con a,b>0. Para hacer uso de esta función, ejecútese 2138 primero 'load(distrib)'. 2139 2140 -- Función: random_weibull (<a>,<b>) 2141 -- Función: random_weibull (<a>,<b>,<n>) 2142 Devuelve un valor aleatorio Weibull(a,b), con a,b>0. Llamando a 2143 'random_weibull' con un tercer argumento <n>, se simulará una 2144 muestra aleatoria de tamaño <n>. 2145 2146 El algoritmo de simulación está basado en el método inverso. 2147 2148 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2149 2150 -- Función: pdf_rayleigh (<x>,<b>) 2151 Devuelve el valor correspondiente a <x> de la función de densidad 2152 de una variable aleatoria de Rayleigh(b), con b>0. 2153 2154 La variable aleatoria Rayleigh(b) equivale a una Weibull(2,1/b). 2155 2156 (%i1) load (distrib)$ 2157 (%i2) pdf_rayleigh(x,b); 2158 2 2 2159 2 - b x 2160 (%o2) 2 b x %e 2161 2162 -- Función: cdf_rayleigh (<x>,<b>) 2163 Devuelve el valor correspondiente a <x> de la función de 2164 distribución de una variable aleatoria de Rayleigh(b), con b>0. 2165 2166 La variable aleatoria Rayleigh(b) equivale a una Weibull(2,1/b). 2167 2168 (%i1) load (distrib)$ 2169 (%i2) cdf_rayleigh(x,b); 2170 2 2 2171 - b x 2172 (%o2) 1 - %e 2173 2174 -- Función: quantile_rayleigh (<q>,<b>) 2175 Devuelve el <q>-cuantil de una variable aleatoria de Rayleigh(b), 2176 con b>0; en otras palabras, se trata de la inversa de 2177 'cdf_rayleigh'. El argumento <q> debe ser un número de [0,1]. 2178 2179 La variable aleatoria Rayleigh(b) equivale a una Weibull(2,1/b). 2180 2181 (%i1) load (distrib)$ 2182 (%i2) quantile_rayleigh(0.99,b); 2183 2.145966026289347 2184 (%o2) ----------------- 2185 b 2186 2187 -- Función: mean_rayleigh (<b>) 2188 Devuelve la media de una variable aleatoria de Rayleigh(b), con 2189 b>0. 2190 2191 La variable aleatoria Rayleigh(b) equivale a una Weibull(2,1/b). 2192 2193 (%i1) load (distrib)$ 2194 (%i2) mean_rayleigh(b); 2195 sqrt(%pi) 2196 (%o2) --------- 2197 2 b 2198 2199 -- Función: var_rayleigh (<b>) 2200 Devuelve la varianza de una variable aleatoria de Rayleigh(b), con 2201 b>0. 2202 2203 La variable aleatoria Rayleigh(b) equivale a una Weibull(2,1/b). 2204 2205 (%i1) load (distrib)$ 2206 (%i2) var_rayleigh(b); 2207 %pi 2208 1 - --- 2209 4 2210 (%o2) ------- 2211 2 2212 b 2213 2214 -- Función: std_rayleigh (<b>) 2215 Devuelve la desviación típica de una variable aleatoria de 2216 Rayleigh(b), con b>0. 2217 2218 La variable aleatoria Rayleigh(b) equivale a una Weibull(2,1/b). 2219 2220 (%i1) load (distrib)$ 2221 (%i2) std_rayleigh(b); 2222 %pi 2223 sqrt(1 - ---) 2224 4 2225 (%o2) ------------- 2226 b 2227 2228 -- Función: skewness_rayleigh (<b>) 2229 Devuelve el coeficiente de asimetría de una variable aleatoria de 2230 Rayleigh(b), con b>0. 2231 2232 La variable aleatoria Rayleigh(b) equivale a una Weibull(2,1/b). 2233 2234 (%i1) load (distrib)$ 2235 (%i2) skewness_rayleigh(b); 2236 3/2 2237 %pi 3 sqrt(%pi) 2238 ------ - ----------- 2239 4 4 2240 (%o2) -------------------- 2241 %pi 3/2 2242 (1 - ---) 2243 4 2244 2245 -- Función: kurtosis_rayleigh (<b>) 2246 Devuelve el coeficiente de curtosis una variable aleatoria de 2247 Rayleigh(b), con b>0. 2248 2249 La variable aleatoria Rayleigh(b) equivale a una Weibull(2,1/b). 2250 2251 (%i1) load (distrib)$ 2252 (%i2) kurtosis_rayleigh(b); 2253 2 2254 3 %pi 2255 2 - ------ 2256 16 2257 (%o2) ---------- - 3 2258 %pi 2 2259 (1 - ---) 2260 4 2261 2262 -- Función: random_rayleigh (<b>) 2263 -- Función: random_rayleigh (<b>,<n>) 2264 Devuelve un valor aleatorio Rayleigh(b), con b>0. Llamando a 2265 'random_rayleigh' con un segundo argumento <n>, se simulará una 2266 muestra aleatoria de tamaño <n>. 2267 2268 El algoritmo de simulación está basado en el método inverso. 2269 2270 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2271 2272 -- Función: pdf_laplace (<x>,<a>,<b>) 2273 Devuelve el valor correspondiente a <x> de la función de densidad 2274 de una variable aleatoria de Laplace(a,b), con b>0. Para hacer uso 2275 de esta función, ejecútese primero 'load(distrib)'. 2276 2277 -- Función: cdf_laplace (<x>,<a>,<b>) 2278 Devuelve el valor correspondiente a <x> de la función de 2279 distribución de una variable aleatoria de Laplace(a,b), con b>0. 2280 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2281 2282 -- Función: quantile_laplace (<q>,<a>,<b>) 2283 Devuelve el <q>-cuantil de una variable aleatoria de Laplace(a,b), 2284 con b>0; en otras palabras, se trata de la inversa de 2285 'cdf_laplace'. El argumento <q> debe ser un número de [0,1]. Para 2286 hacer uso de esta función, ejecútese primero 'load(distrib)'. 2287 2288 -- Función: mean_laplace (<a>,<b>) 2289 Devuelve la media de una variable aleatoria de Laplace(a,b), con 2290 b>0. Para hacer uso de esta función, ejecútese primero 2291 'load(distrib)'. 2292 2293 -- Función: var_laplace (<a>,<b>) 2294 Devuelve la varianza de una variable aleatoria de Laplace(a,b), con 2295 b>0. Para hacer uso de esta función, ejecútese primero 2296 'load(distrib)'. 2297 2298 -- Función: std_laplace (<a>,<b>) 2299 Devuelve la desviación típica de una variable aleatoria de 2300 Laplace(a,b), con b>0. Para hacer uso de esta función, ejecútese 2301 primero 'load(distrib)'. 2302 2303 -- Función: skewness_laplace (<a>,<b>) 2304 Devuelve el coeficiente de asimetría de una variable aleatoria de 2305 Laplace(a,b), con b>0. Para hacer uso de esta función, ejecútese 2306 primero 'load(distrib)'. 2307 2308 -- Función: kurtosis_laplace (<a>,<b>) 2309 Devuelve el coeficiente de curtosis una variable aleatoria de 2310 Laplace(a,b), con b>0. Para hacer uso de esta función, ejecútese 2311 primero 'load(distrib)'. 2312 2313 -- Función: random_laplace (<a>,<b>) 2314 -- Función: random_laplace (<a>,<b>,<n>) 2315 Devuelve un valor aleatorio Laplace(a,b), con b>0. Llamando a 2316 'random_laplace' con un tercer argumento <n>, se simulará una 2317 muestra aleatoria de tamaño <n>. 2318 2319 El algoritmo de simulación está basado en el método inverso. 2320 2321 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2322 2323 -- Función: pdf_cauchy (<x>,<a>,<b>) 2324 Devuelve el valor correspondiente a <x> de la función de densidad 2325 de una variable aleatoria de Cauchy(a,b), con b>0. Para hacer uso 2326 de esta función, ejecútese primero 'load(distrib)'. 2327 2328 -- Función: cdf_cauchy (<x>,<a>,<b>) 2329 Devuelve el valor correspondiente a <x> de la función de 2330 distribución de una variable aleatoria de Cauchy(a,b), con b>0. 2331 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2332 2333 -- Función: quantile_cauchy (<q>,<a>,<b>) 2334 Devuelve el <q>-cuantil de una variable aleatoria de Cauchy(a,b), 2335 con b>0; en otras palabras, se trata de la inversa de 'cdf_cauchy'. 2336 El argumento <q> debe ser un número de [0,1]. Para hacer uso de 2337 esta función, ejecútese primero 'load(distrib)'. 2338 2339 -- Función: random_cauchy (<a>,<b>) 2340 -- Función: random_cauchy (<a>,<b>,<n>) 2341 Devuelve un valor aleatorio Cauchy(a,b), con b>0. Llamando a 2342 'random_cauchy' con un tercer argumento <n>, se simulará una 2343 muestra aleatoria de tamaño <n>. 2344 2345 El algoritmo de simulación está basado en el método inverso. 2346 2347 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2348 2349 -- Función: pdf_gumbel (<x>,<a>,<b>) 2350 Devuelve el valor correspondiente a <x> de la función de densidad 2351 de una variable aleatoria de Gumbel(a,b), con b>0. Para hacer uso 2352 de esta función, ejecútese primero 'load(distrib)'. 2353 2354 -- Función: cdf_gumbel (<x>,<a>,<b>) 2355 Devuelve el valor correspondiente a <x> de la función de 2356 distribución de una variable aleatoria de Gumbel(a,b), con b>0. 2357 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2358 2359 -- Función: quantile_gumbel (<q>,<a>,<b>) 2360 Devuelve el <q>-cuantil de una variable aleatoria de Gumbel(a,b), 2361 con b>0; en otras palabras, se trata de la inversa de 'cdf_gumbel'. 2362 El argumento <q> debe ser un número de [0,1]. Para hacer uso de 2363 esta función, ejecútese primero 'load(distrib)'. 2364 2365 -- Función: mean_gumbel (<a>,<b>) 2366 Devuelve la media de una variable aleatoria de Gumbel(a,b), con 2367 b>0. 2368 2369 (%i1) load (distrib)$ 2370 (%i2) mean_gumbel(a,b); 2371 (%o2) %gamma b + a 2372 donde el símbolo '%gamma' representa la constante de 2373 Euler-Mascheroni. Véase también '%gamma'. 2374 2375 -- Función: var_gumbel (<a>,<b>) 2376 Devuelve la varianza de una variable aleatoria de Gumbel(a,b), con 2377 b>0. Para hacer uso de esta función, ejecútese primero 2378 'load(distrib)'. 2379 2380 -- Función: std_gumbel (<a>,<b>) 2381 Devuelve la desviación típica de una variable aleatoria de 2382 Gumbel(a,b), con b>0. Para hacer uso de esta función, ejecútese 2383 primero 'load(distrib)'. 2384 2385 -- Función: skewness_gumbel (<a>,<b>) 2386 Devuelve el coeficiente de asimetría de una variable aleatoria de 2387 Gumbel(a,b), con b>0. 2388 2389 (%i1) load (distrib)$ 2390 (%i2) skewness_gumbel(a,b); 2391 3/2 2392 2 6 zeta(3) 2393 (%o2) -------------- 2394 3 2395 %pi 2396 donde 'zeta' representa la función zeta de Riemann. 2397 2398 -- Función: kurtosis_gumbel (<a>,<b>) 2399 Devuelve el coeficiente de curtosis de una variable aleatoria de 2400 Gumbel(a,b), con b>0. Para hacer uso de esta función, ejecútese 2401 primero 'load(distrib)'. 2402 2403 -- Función: random_gumbel (<a>,<b>) 2404 -- Función: random_gumbel (<a>,<b>,<n>) 2405 Devuelve un valor aleatorio Gumbel(a,b), con b>0. Llamando a 2406 'random_gumbel' con un tercer argumento <n>, se simulará una 2407 muestra aleatoria de tamaño <n>. 2408 2409 El algoritmo de simulación está basado en el método inverso. 2410 2411 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2412 2413 2414File: maxima.info, Node: Funciones y variables para distribuciones discretas, Prev: Funciones y variables para distribuciones continuas, Up: distrib 2415 241646.3 Funciones y variables para distribuciones discretas 2417======================================================== 2418 2419 -- Función: pdf_general_finite_discrete (<x>,<v>) 2420 Devuelve el valor correspondiente a <x> de la función de densidad 2421 de una variable aleatoria general discreta finita, con vector de 2422 probabilidades v, tal que 'Pr(X=i) = v_i'. El vector v puede ser 2423 una lista de expresiones no negativas, cuyas componentes se 2424 normalizarán para obtener un vector de probabilidades. Para hacer 2425 uso de esta función, ejecútese primero 'load(distrib)'. 2426 2427 (%i1) load (distrib)$ 2428 (%i2) pdf_general_finite_discrete(2, [1/7, 4/7, 2/7]); 2429 4 2430 (%o2) - 2431 7 2432 (%i3) pdf_general_finite_discrete(2, [1, 4, 2]); 2433 4 2434 (%o3) - 2435 7 2436 2437 -- Función: cdf_general_finite_discrete (<x>,<v>) 2438 Devuelve el valor correspondiente a <x> de la función de 2439 distribución de una variable aleatoria general discreta finita, con 2440 vector de probabilidades v. 2441 2442 Véase 'pdf_general_finite_discrete' para más detalles. 2443 2444 (%i1) load (distrib)$ 2445 (%i2) cdf_general_finite_discrete(2, [1/7, 4/7, 2/7]); 2446 5 2447 (%o2) - 2448 7 2449 (%i3) cdf_general_finite_discrete(2, [1, 4, 2]); 2450 5 2451 (%o3) - 2452 7 2453 (%i4) cdf_general_finite_discrete(2+1/2, [1, 4, 2]); 2454 5 2455 (%o4) - 2456 7 2457 2458 -- Función: quantile_general_finite_discrete (<q>,<v>) 2459 Devuelve el <q>-cuantil de una variable aleatoria general discreta 2460 finita, con vector de probabilidades v. 2461 2462 Véase 'pdf_general_finite_discrete' para más detalles. 2463 2464 -- Función: mean_general_finite_discrete (<v>) 2465 Devuelve la media de una variable aleatoria general discreta 2466 finita, con vector de probabilidades v. 2467 2468 Véase 'pdf_general_finite_discrete' para más detalles. 2469 2470 -- Función: var_general_finite_discrete (<v>) 2471 Devuelve la varianza de una variable aleatoria general discreta 2472 finita, con vector de probabilidades v. 2473 2474 Véase 'pdf_general_finite_discrete' para más detalles. 2475 2476 -- Función: std_general_finite_discrete (<v>) 2477 Devuelve la desviación típica de una variable aleatoria general 2478 discreta finita, con vector de probabilidades v. 2479 2480 Véase 'pdf_general_finite_discrete' para más detalles. 2481 2482 -- Función: skewness_general_finite_discrete (<v>) 2483 Devuelve el coeficiente de asimetría de una variable aleatoria 2484 general discreta finita, con vector de probabilidades v. 2485 2486 Véase 'pdf_general_finite_discrete' para más detalles. 2487 2488 -- Función: kurtosis_general_finite_discrete (<v>) 2489 Devuelve el coeficiente de curtosis de una variable aleatoria 2490 general discreta finita, con vector de probabilidades v. 2491 2492 Véase 'pdf_general_finite_discrete' para más detalles. 2493 2494 -- Función: random_general_finite_discrete (<v>) 2495 -- Función: random_general_finite_discrete (<v>,<m>) 2496 Devuelve un valor aleatorio de una variable aleatoria general 2497 discreta finita, con vector de probabilidades v. Llamando a 2498 'random_general_finite_discrete' con un segundo argumento <n>, se 2499 simulará una muestra aleatoria de tamaño <n>. 2500 2501 Véase 'pdf_general_finite_discrete' para más detalles. 2502 2503 (%i1) load (distrib)$ 2504 (%i2) random_general_finite_discrete([1,3,1,5]); 2505 (%o2) 4 2506 (%i3) random_general_finite_discrete([1,3,1,5], 10); 2507 (%o3) [4, 2, 2, 3, 2, 4, 4, 1, 2, 2] 2508 2509 -- Función: pdf_binomial (<x>,<n>,<p>) 2510 Devuelve el valor correspondiente a <x> de la función de 2511 probabilidad de una variable aleatoria Binomial(n,p), con 0 \leq p 2512 \leq 1 y n entero positivo. Para hacer uso de esta función, 2513 ejecútese primero 'load(distrib)'. 2514 2515 -- Función: cdf_binomial (<x>,<n>,<p>) 2516 Devuelve el valor correspondiente a <x> de la función de 2517 distribución de una variable aleatoria Binomial(n,p), con 0 \leq p 2518 \leq 1 y n entero positivo. 2519 2520 (%i1) load (distrib)$ 2521 (%i2) cdf_binomial(5,7,1/6); 2522 7775 2523 (%o2) ---- 2524 7776 2525 (%i3) float(%); 2526 (%o3) .9998713991769548 2527 2528 -- Función: quantile_binomial (<q>,<n>,<p>) 2529 Devuelve el <q>-cuantil de una variable aleatoria Binomial(n,p), 2530 con 0 \leq p \leq 1 y n entero positivo; en otras palabras, se 2531 trata de la inversa de 'cdf_binomial'. El argumento <q> debe ser 2532 un número de [0,1]. Para hacer uso de esta función, ejecútese 2533 primero 'load(distrib)'. 2534 2535 -- Función: mean_binomial (<n>,<p>) 2536 Devuelve la media de una variable aleatoria Binomial(n,p), con 0 2537 \leq p \leq 1 y n entero positivo. Para hacer uso de esta función, 2538 ejecútese primero 'load(distrib)'. 2539 2540 -- Función: var_binomial (<n>,<p>) 2541 Devuelve la varianza de una variable aleatoria Binomial(n,p), con 0 2542 \leq p \leq 1 y n entero positivo. Para hacer uso de esta función, 2543 ejecútese primero 'load(distrib)'. 2544 2545 -- Función: std_binomial (<n>,<p>) 2546 Devuelve la desviación típica de una variable aleatoria 2547 Binomial(n,p), con 0 \leq p \leq 1 y n entero positivo. Para hacer 2548 uso de esta función, ejecútese primero 'load(distrib)'. 2549 2550 -- Función: skewness_binomial (<n>,<p>) 2551 Devuelve el coeficiente de asimetría de una variable aleatoria 2552 Binomial(n,p), con 0 \leq p \leq 1 y n entero positivo. Para hacer 2553 uso de esta función, ejecútese primero 'load(distrib)'. 2554 2555 -- Función: kurtosis_binomial (<n>,<p>) 2556 Devuelve el coeficiente de curtosis de una variable aleatoria 2557 binomial Binomial(n,p), con 0 \leq p \leq 1 y n entero positivo. 2558 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2559 2560 -- Función: random_binomial (<n>,<p>) 2561 -- Función: random_binomial (<n>,<p>,<m>) 2562 Devuelve un valor aleatorio Binomial(n,p), con 0 \leq p \leq 1 y n 2563 entero positivo. Llamando a 'random_binomial' con un tercer 2564 argumento <m>, se simulará una muestra aleatoria de tamaño <m>. 2565 2566 El algoritmo de simulación es el descrito en Kachitvichyanukul, V. 2567 y Schmeiser, B.W. (1988) <Binomial Random Variate Generation>. 2568 Communications of the ACM, 31, Feb., 216. 2569 2570 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2571 2572 -- Función: pdf_poisson (<x>,<m>) 2573 Devuelve el valor correspondiente a <x> de la función de 2574 probabilidad de una variable aleatoria de Poisson(m), con m>0. 2575 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2576 2577 -- Función: cdf_poisson (<x>,<m>) 2578 Devuelve el valor correspondiente a <x> de la función de 2579 distribución de una variable aleatoria de Poisson(m), con m>0. 2580 2581 (%i1) load (distrib)$ 2582 (%i2) cdf_poisson(3,5); 2583 (%o2) gamma_incomplete_regularized(4, 5) 2584 (%i3) float(%); 2585 (%o3) .2650259152973623 2586 2587 -- Función: quantile_poisson (<q>,<m>) 2588 Devuelve el <q>-cuantil de una variable aleatoria de Poisson(m), 2589 con m>0; en otras palabras, se trata de la inversa de 2590 'cdf_poisson'. El argumento <q> debe ser un número de [0,1]. Para 2591 hacer uso de esta función, ejecútese primero 'load(distrib)'. 2592 2593 -- Función: mean_poisson (<m>) 2594 Devuelve la media de una variable aleatoria de Poisson(m), con m>0. 2595 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2596 2597 -- Función: var_poisson (<m>) 2598 Devuelve la varianza de una variable aleatoria de Poisson(m), con 2599 m>0. Para hacer uso de esta función, ejecútese primero 2600 'load(distrib)'. 2601 2602 -- Función: std_poisson (<m>) 2603 Devuelve la desviación típica de una variable aleatoria de 2604 Poisson(m), con m>0. Para hacer uso de esta función, ejecútese 2605 primero 'load(distrib)'. 2606 2607 -- Función: skewness_poisson (<m>) 2608 Devuelve el coeficiente de asimetría de una variable aleatoria de 2609 Poisson(m), con m>0. Para hacer uso de esta función, ejecútese 2610 primero 'load(distrib)'. 2611 2612 -- Función: kurtosis_poisson (<m>) 2613 Devuelve el coeficiente de curtosis de una variable aleatoria de 2614 Poisson(m), con m>0. Para hacer uso de esta función, ejecútese 2615 primero 'load(distrib)'. 2616 2617 -- Función: random_poisson (<m>) 2618 -- Función: random_poisson (<m>,<n>) 2619 Devuelve un valor aleatorio Poisson(m), con m>0. Llamando a 2620 'random_poisson' con un segundo argumento <n>, se simulará una 2621 muestra aleatoria de tamaño <n>. 2622 2623 El algoritmo de simulación es el descrito en Ahrens, J.H. and 2624 Dieter, U. (1982) <Computer Generation of Poisson Deviates From 2625 Modified Normal Distributions>. ACM Trans. Math. Software, 8, 2, 2626 June,163-179. 2627 2628 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2629 2630 -- Función: pdf_bernoulli (<x>,<p>) 2631 Devuelve el valor correspondiente a <x> de la función de 2632 probabilidad de una variable aleatoria de Bernoulli(p), con 0 \leq 2633 p \leq 1. 2634 2635 La variable aleatoria Bernoulli(p) equivale a una Binomial(1,p). 2636 2637 (%i1) load (distrib)$ 2638 (%i2) pdf_bernoulli(1,p); 2639 (%o2) p 2640 2641 -- Función: cdf_bernoulli (<x>,<p>) 2642 Devuelve el valor correspondiente a <x> de la función de 2643 distribución de una variable aleatoria de Bernoulli(p), con 0 \leq 2644 p \leq 1. Para hacer uso de esta función, ejecútese primero 2645 'load(distrib)'. 2646 2647 -- Función: quantile_bernoulli (<q>,<p>) 2648 Devuelve el <q>-cuantil de una variable aleatoria de Bernoulli(p), 2649 con 0 \leq p \leq 1; en otras palabras, se trata de la inversa de 2650 'cdf_bernoulli'. El argumento <q> debe ser un número de [0,1]. 2651 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2652 2653 -- Función: mean_bernoulli (<p>) 2654 Devuelve la media de una variable aleatoria de Bernoulli(p), con 0 2655 \leq p \leq 1. 2656 2657 La variable aleatoria Bernoulli(p) equivale a una Binomial(1,p). 2658 2659 (%i1) load (distrib)$ 2660 (%i2) mean_bernoulli(p); 2661 (%o2) p 2662 2663 -- Función: var_bernoulli (<p>) 2664 Devuelve la varianza de una variable aleatoria de Bernoulli(p), con 2665 0 \leq p \leq 1. 2666 2667 La variable aleatoria Bernoulli(p) equivale a una Binomial(1,p). 2668 2669 (%i1) load (distrib)$ 2670 (%i2) var_bernoulli(p); 2671 (%o2) (1 - p) p 2672 2673 -- Función: std_bernoulli (<p>) 2674 Devuelve la desviación típica de una variable aleatoria de 2675 Bernoulli(p), con 0 \leq p \leq 1. 2676 2677 La variable aleatoria Bernoulli(p) equivale a una Binomial(1,p). 2678 2679 (%i1) load (distrib)$ 2680 (%i2) std_bernoulli(p); 2681 (%o2) sqrt((1 - p) p) 2682 2683 -- Función: skewness_bernoulli (<p>) 2684 Devuelve el coeficiente de asimetría de una variable aleatoria de 2685 Bernoulli(p), con 0 \leq p \leq 1. 2686 2687 La variable aleatoria Bernoulli(p) equivale a una Binomial(1,p). 2688 2689 (%i1) load (distrib)$ 2690 (%i2) skewness_bernoulli(p); 2691 1 - 2 p 2692 (%o2) --------------- 2693 sqrt((1 - p) p) 2694 2695 -- Función: kurtosis_bernoulli (<p>) 2696 Devuelve el coeficiente de curtosis una variable aleatoria de 2697 Bernoulli(p), con 0 \leq p \leq 1. 2698 2699 La variable aleatoria Bernoulli(p) equivale a una Binomial(1,p). 2700 2701 (%i1) load (distrib)$ 2702 (%i2) kurtosis_bernoulli(p); 2703 1 - 6 (1 - p) p 2704 (%o2) --------------- 2705 (1 - p) p 2706 2707 -- Función: random_bernoulli (<p>) 2708 -- Función: random_bernoulli (<p>,<n>) 2709 Devuelve un valor aleatorio Bernoulli(p), con 0 \leq p \leq 1. 2710 Llamando a 'random_bernoulli' con un segundo argumento <n>, se 2711 simulará una muestra aleatoria de tamaño <n>. 2712 2713 Es aplicación directa de la función 'random' de Maxima. 2714 2715 Véase también 'random'. Para hacer uso de esta función, ejecútese 2716 primero 'load(distrib)'. 2717 2718 -- Función: pdf_geometric (<x>,<p>) 2719 Devuelve el valor correspondiente a <x> de la función de 2720 probabilidad de una variable aleatoria Geométrica(p), con 0 < p 2721 \leq 1. Para hacer uso de esta función, ejecútese primero 2722 'load(distrib)'. 2723 2724 -- Función: cdf_geometric (<x>,<p>) 2725 Devuelve el valor correspondiente a <x> de la función de 2726 distribución de una variable aleatoria Geométrica(p), con 0 < p 2727 \leq 1. Para hacer uso de esta función, ejecútese primero 2728 'load(distrib)'. 2729 2730 -- Función: quantile_geometric (<q>,<p>) 2731 Devuelve el <q>-cuantil de una variable aleatoria Geométrica(p), 2732 con 0 < p \leq 1; en otras palabras, se trata de la inversa de 2733 'cdf_geometric'. El argumento <q> debe ser un número de [0,1]. 2734 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2735 2736 -- Función: mean_geometric (<p>) 2737 Devuelve la media de una variable aleatoria Geométrica(p), con 0 < 2738 p \leq 1. Para hacer uso de esta función, ejecútese primero 2739 'load(distrib)'. 2740 2741 -- Función: var_geometric (<p>) 2742 Devuelve la varianza de una variable aleatoria Geométrica(p), con 0 2743 < p \leq 1. Para hacer uso de esta función, ejecútese primero 2744 'load(distrib)'. 2745 2746 -- Función: std_geometric (<p>) 2747 Devuelve la desviación típica de una variable aleatoria 2748 Geométrica(p), con 0 < p \leq 1. Para hacer uso de esta función, 2749 ejecútese primero 'load(distrib)'. 2750 2751 -- Función: skewness_geometric (<p>) 2752 Devuelve el coeficiente de asimetría de una variable aleatoria 2753 Geométrica(p), con 0 < p \leq 1. Para hacer uso de esta función, 2754 ejecútese primero 'load(distrib)'. 2755 2756 -- Función: kurtosis_geometric (<p>) 2757 Devuelve el coeficiente de curtosis de una variable aleatoria 2758 Geométrica(p), con 0 < p \leq 1. Para hacer uso de esta función, 2759 ejecútese primero 'load(distrib)'. 2760 2761 -- Función: random_geometric (<p>) 2762 -- Función: random_geometric (<p>,<n>) 2763 Devuelve un valor aleatorio Geométrico(p), con 0 < p \leq 1. 2764 Llamando a 'random_geometric' con un segundo argumento <n>, se 2765 simulará una muestra aleatoria de tamaño <n>. 2766 2767 El algoritmo está basado en la simulación de ensayos de Bernoulli. 2768 2769 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2770 2771 -- Función: pdf_discrete_uniform (<x>,<n>) 2772 Devuelve el valor correspondiente a <x> de la función de 2773 probabilidad de una variable aleatoria Uniforme Discreta(n), con n 2774 entero positivo. Para hacer uso de esta función, ejecútese primero 2775 'load(distrib)'. 2776 2777 -- Función: cdf_discrete_uniform (<x>,<n>) 2778 Devuelve el valor correspondiente a <x> de la función de 2779 distribución de una variable aleatoria Uniforme Discreta(n), con n 2780 entero positivo. Para hacer uso de esta función, ejecútese primero 2781 'load(distrib)'. 2782 2783 -- Función: quantile_discrete_uniform (<q>,<n>) 2784 Devuelve el <q>-cuantil de una variable aleatoria Uniforme 2785 Discreta(n), con n entero positivo; en otras palabras, se trata de 2786 la inversa de 'cdf_discrete_uniform'. El argumento <q> debe ser un 2787 número de [0,1]. Para hacer uso de esta función, ejecútese primero 2788 'load(distrib)'. 2789 2790 -- Función: mean_discrete_uniform (<n>) 2791 Devuelve la media de una variable aleatoria Uniforme Discreta(n), 2792 con n entero positivo. Para hacer uso de esta función, ejecútese 2793 primero 'load(distrib)'. 2794 2795 -- Función: var_discrete_uniform (<n>) 2796 Devuelve la varianza de una variable aleatoria Uniforme 2797 Discreta(n), con n entero positivo. Para hacer uso de esta 2798 función, ejecútese primero 'load(distrib)'. 2799 2800 -- Función: std_discrete_uniform (<n>) 2801 Devuelve la desviación típica de una variable aleatoria Uniforme 2802 Discreta(n), con n entero positivo. Para hacer uso de esta 2803 función, ejecútese primero 'load(distrib)'. 2804 2805 -- Función: skewness_discrete_uniform (<n>) 2806 Devuelve el coeficiente de asimetría de una variable aleatoria 2807 Uniforme Discreta(n), con n entero positivo. Para hacer uso de 2808 esta función, ejecútese primero 'load(distrib)'. 2809 2810 -- Función: kurtosis_discrete_uniform (<n>) 2811 Devuelve el coeficiente de curtosis de una variable aleatoria 2812 Uniforme Discreta(n), con n entero positivo. Para hacer uso de 2813 esta función, ejecútese primero 'load(distrib)'. 2814 2815 -- Función: random_discrete_uniform (<n>) 2816 -- Función: random_discrete_uniform (<n>,<m>) 2817 Devuelve un valor aleatorio Uniforme Discreto(n), con n entero 2818 positivo. Llamando a 'random_discrete_uniform' con un segundo 2819 argumento <m>, se simulará una muestra aleatoria de tamaño <m>. 2820 2821 Se trata de una aplicación directa de la función 'random' de 2822 Maxima. 2823 2824 Véase también 'random'. Para hacer uso de esta función, ejecútese 2825 primero 'load(distrib)'. 2826 2827 -- Función: pdf_hypergeometric (<x>,<n1>,<n2>,<n>) 2828 Devuelve el valor correspondiente a <x> de la función de 2829 probabilidad de una variable aleatoria Hipergeométrica(n1,n2,n), 2830 con <n1>, <n2> y <n> enteros positivos y n<=n1+n2. Siendo <n1> el 2831 número de objetos de la clase A, <n2> el número de objetos de la 2832 clase B y <n> el tamaño de una muestra sin reemplazo, esta función 2833 devuelve la probabilidad del suceso "extraer exactamente <x> 2834 objetos de la clase A". 2835 2836 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2837 2838 -- Función: cdf_hypergeometric (<x>,<n1>,<n2>,<n>) 2839 Devuelve el valor correspondiente a <x> de la función de 2840 distribución of una variable aleatoria Hipergeométrica(n1,n2,n), 2841 con <n1>, <n2> y <n> enteros positivos y n<=n1+n2. Véase 2842 'pdf_hypergeometric' para una descripción más completa. 2843 2844 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2845 2846 -- Función: quantile_hypergeometric (<q>,<n1>,<n2>,<n>) 2847 Devuelve el <q>-cuantil de una variable aleatoria 2848 Hipergeométrica(n1,n2,n), con <n1>, <n2> y <n> enteros positivos y 2849 n<=n1+n2; en otras palabras, se trata de la inversa de 2850 'cdf_hypergeometric'. El argumento <q> debe ser un número de 2851 [0,1]. Para hacer uso de esta función, ejecútese primero 2852 'load(distrib)'. 2853 2854 -- Función: mean_hypergeometric (<n1>,<n2>,<n>) 2855 Devuelve la media de una variable aleatoria uniforme discreta 2856 Hyp(n1,n2,n), con <n1>, <n2> y <n> enteros positivos y n<=n1+n2. 2857 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2858 2859 -- Función: var_hypergeometric (<n1>,<n2>,<n>) 2860 Devuelve la varianza de una variable aleatoria 2861 Hipergeométrica(n1,n2,n), con <n1>, <n2> y <n> enteros positivos y 2862 n<=n1+n2. Para hacer uso de esta función, ejecútese primero 2863 'load(distrib)'. 2864 2865 -- Función: std_hypergeometric (<n1>,<n2>,<n>) 2866 Devuelve la desviación típica de una variable aleatoria 2867 Hipergeométrica(n1,n2,n), con <n1>, <n2> y <n> enteros positivos y 2868 n<=n1+n2. Para hacer uso de esta función, ejecútese primero 2869 'load(distrib)'. 2870 2871 -- Función: skewness_hypergeometric (<n1>,<n2>,<n>) 2872 Devuelve el coeficiente de asimetría de una variable aleatoria 2873 Hipergeométrica(n1,n2,n), con <n1>, <n2> y <n> enteros positivos y 2874 n<=n1+n2. Para hacer uso de esta función, ejecútese primero 2875 'load(distrib)'. 2876 2877 -- Función: random_hypergeometric (<n1>,<n2>,<n>) 2878 -- Función: random_hypergeometric (<n1>,<n2>,<n>,<m>) 2879 Devuelve un valor aleatorio Hipergeométrico(n1,n2,n), con <n1>, 2880 <n2> y <n> enteros positivos y n<=n1+n2. Llamando a 2881 'random_hypergeometric' con un cuarto argumento <m>, se simulará 2882 una muestra aleatoria de tamaño <m>. 2883 2884 Algoritmo descrito en Kachitvichyanukul, V., Schmeiser, B.W. (1985) 2885 <Computer generation of hypergeometric random variates.> Journal of 2886 Statistical Computation and Simulation 22, 127-145. 2887 2888 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2889 2890 -- Función: pdf_negative_binomial (<x>,<n>,<p>) 2891 Devuelve el valor correspondiente a <x> de la función de 2892 probabilidad de una variable aleatoria Binomial Negativa(n,p), con 2893 0 < p \leq 1 y n positivo. Para hacer uso de esta función, 2894 ejecútese primero 'load(distrib)'. 2895 2896 -- Función: cdf_negative_binomial (<x>,<n>,<p>) 2897 Devuelve el valor correspondiente a <x> de la función de 2898 distribución de una variable aleatoria Binomial Negativa(n,p), con 2899 0 < p \leq 1 y n positivo. 2900 2901 (%i1) load (distrib)$ 2902 (%i2) cdf_negative_binomial(3,4,1/8); 2903 3271 2904 (%o2) ------ 2905 524288 2906 2907 -- Función: quantile_negative_binomial (<q>,<n>,<p>) 2908 Devuelve el <q>-cuantil de una variable aleatoria Binomial 2909 Negativa(n,p), con 0 < p \leq 1 y n positivo; en otras palabras, se 2910 trata de la inversa de 'cdf_negative_binomial'. El argumento <q> 2911 debe ser un número de [0,1]. Para hacer uso de esta función, 2912 ejecútese primero 'load(distrib)'. 2913 2914 -- Función: mean_negative_binomial (<n>,<p>) 2915 Devuelve la media de una variable aleatoria Binomial Negativa(n,p), 2916 con 0 < p \leq 1 and n positivo. Para hacer uso de esta función, 2917 ejecútese primero 'load(distrib)'. 2918 2919 -- Función: var_negative_binomial (<n>,<p>) 2920 Devuelve la varianza de una variable aleatoria Binomial 2921 Negativa(n,p), con 0 < p \leq 1 and n positivo. Para hacer uso de 2922 esta función, ejecútese primero 'load(distrib)'. 2923 2924 -- Función: std_negative_binomial (<n>,<p>) 2925 Devuelve la desviación típica de una variable aleatoria Binomial 2926 Negativa(n,p), con 0 < p \leq 1 and n positivo. Para hacer uso de 2927 esta función, ejecútese primero 'load(distrib)'. 2928 2929 -- Función: skewness_negative_binomial (<n>,<p>) 2930 Devuelve el coeficiente de asimetría de una variable aleatoria 2931 Binomial Negativa(n,p), con 0 < p \leq 1 and n positivo. Para 2932 hacer uso de esta función, ejecútese primero 'load(distrib)'. 2933 2934 -- Función: kurtosis_negative_binomial (<n>,<p>) 2935 Devuelve el coeficiente de curtosis una variable aleatoria binomial 2936 negativa NB(n,p), con 0 < p \leq 1 and n positivo. Para hacer uso 2937 de esta función, ejecútese primero 'load(distrib)'. 2938 2939 -- Función: random_negative_binomial (<n>,<p>) 2940 -- Función: random_negative_binomial (<n>,<p>,<m>) 2941 Devuelve un valor aleatorio Binomial Negativo(n,p), con 0 < p \leq 2942 1 y n positivo. Llamando a 'random_negative_binomial' con un 2943 tercer argumento <m>, se simulará una muestra aleatoria de tamaño 2944 <m>. 2945 2946 Algoritmo descrito en Devroye, L. (1986) <Non-Uniform Random 2947 Variate Generation>. Springer Verlag, p. 480. 2948 2949 Para hacer uso de esta función, ejecútese primero 'load(distrib)'. 2950 2951 2952File: maxima.info, Node: draw, Next: drawdf, Prev: distrib, Up: Top 2953 295447 draw 2955******* 2956 2957* Menu: 2958 2959* Introducción a draw:: 2960* Funciones y variables para draw:: 2961* Funciones y variables para picture:: 2962* Funciones y variables para worldmap:: 2963 2964 2965File: maxima.info, Node: Introducción a draw, Next: Funciones y variables para draw, Prev: draw, Up: draw 2966 296747.1 Introducción a draw 2968======================== 2969 2970'draw' es un interfaz para comunicar Maxima con Gnuplot. 2971 2972Tres son las funciones principales a utilizar a nivel de Maxima: 2973'draw2d', 'draw3d' y 'draw'. 2974 2975Síganse estos enlaces para ver ejemplos más elaborados de este paquete: 2976 2977<http://tecnostats.net/Maxima/gnuplot> 2978 2979y 2980 2981<http://tecnostats.net/Maxima/vtk> 2982 2983Se necesita tener instalado Gnuplot 4.2 o superior para ejecutar este 2984paquete. 2985 2986 2987File: maxima.info, Node: Funciones y variables para draw, Next: Funciones y variables para picture, Prev: Introducción a draw, Up: draw 2988 298947.2 Funciones y variables para draw 2990==================================== 2991 299247.2.1 Escenas 2993-------------- 2994 2995 -- Constructor de escena: gr2d (<Opción gráfica>, ..., 2996 <graphic_object>, ...) 2997 2998 La función 'gr2d' construye un objeto que describe una escena 2d. 2999 Los argumentos son opciones gráficas y objetos gráficos o listas 3000 que contengan elementos de ambos tipos. Esta escena se interpreta 3001 secuencialmente: las opciones gráficas afectan a aquellos objetos 3002 gráficos colocados a su derecha. Algunas opciones gráficas afectan 3003 al aspecto global de la escena. 3004 3005 La lista de objetos gráficos disponibles para escenas en dos 3006 dimensiones: 'bars', 'ellipse', 'explicit', 'image', 'implicit', 3007 'label', 'parametric', 'points', 'polar', 'polygon', 3008 'quadrilateral', 'rectangle', 'triangle', 'vector' y 'geomap' (este 3009 último definido en el paquete 'worldmap'). 3010 3011 Véanse también 'draw' y 'draw2d'. 3012 3013 Para utilizar este objecto, ejecútese primero 'load(draw)'. 3014 3015 -- Constructor de escena: gr3d (<Opción gráfica>, ..., 3016 <graphic_object>, ...) 3017 3018 La función 'gr3d' construye un objeto que describe una escena 3d. 3019 Los argumentos son opciones gráficas y objetos gráficos o listas 3020 que contengan elementos de ambos tipos. Esta escena se interpreta 3021 secuencialmente: las opciones gráficas afectan a aquellos objetos 3022 gráficos colocados a su derecha. Algunas opciones gráficas afectan 3023 al aspecto global de la escena. 3024 3025 La lista de objetos gráficos disponibles para escenas en tres 3026 dimensiones: 'cylindrical', 'elevation_grid', 'explicit', 3027 'implicit', 'label', 'mesh', 'parametric', 'parametric_surface', 3028 'points', 'quadrilateral', 'spherical', 'triangle', 'tube', 3029 'vector' y 'geomap' (este último definido en el paquete 3030 'worldmap'). 3031 3032 Véanse también 'draw' y 'draw3d'. 3033 3034 Para utilizar este objeto, ejecútese primero 'load(draw)'. 3035 303647.2.2 Funciones 3037---------------- 3038 3039 -- Función: draw (<gr2d>, ..., <gr3d>, ..., <options>, ...) 3040 3041 Representa gráficamente una serie de escenas; sus argumentos son 3042 objetos 'gr2d' y/o 'gr3d', junto con algunas opciones, o listas de 3043 escenas y opciones. Por defecto, las escenas se representan en una 3044 columna. 3045 3046 La función 'draw' acepta las siguientes opciones globales: 3047 'terminal', 'columns', 'dimensions', 'file_name' y 'delay'. 3048 3049 Las funciones 'draw2d' y 'draw3d' son atajos a utilizar cuando se 3050 quiere representar una única escena en dos o tres dimensiones, 3051 respectivamente. 3052 3053 Véanse también 'gr2d' y 'gr3d'. 3054 3055 Para utilizar esta función, ejecútese primero 'load(draw)'. 3056 3057 Ejemplo: 3058 3059 (%i1) load(draw)$ 3060 (%i2) scene1: gr2d(title="Ellipse", 3061 nticks=30, 3062 parametric(2*cos(t),5*sin(t),t,0,2*%pi))$ 3063 (%i3) scene2: gr2d(title="Triangle", 3064 polygon([4,5,7],[6,4,2]))$ 3065 (%i4) draw(scene1, scene2, columns = 2)$ 3066 3067 Las dos sentencias gráficas siguientes son equivalentes: 3068 (%i1) load(draw)$ 3069 (%i2) draw(gr3d(explicit(x^2+y^2,x,-1,1,y,-1,1))); 3070 (%o2) [gr3d(explicit)] 3071 (%i3) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1)); 3072 (%o3) [gr3d(explicit)] 3073 3074 Un fichero gif animado: 3075 (%i1) load(draw)$ 3076 (%i2) draw( 3077 delay = 100, 3078 file_name = "zzz", 3079 terminal = 'animated_gif, 3080 gr2d(explicit(x^2,x,-1,1)), 3081 gr2d(explicit(x^3,x,-1,1)), 3082 gr2d(explicit(x^4,x,-1,1))); 3083 End of animation sequence 3084 (%o2) [gr2d(explicit), gr2d(explicit), gr2d(explicit)] 3085 3086 Véanse también 'gr2d', 'gr3d', 'draw2d' y 'draw3d'. 3087 3088 -- Función: draw2d (<option>, <graphic_object>, ...) 3089 3090 Esta función es un atajo para 'draw(gr2d(<options>, ..., 3091 <graphic_object>, ...))'. 3092 3093 Puede utilizarse para representar una única escena en 2d. 3094 3095 Para utilizar esta función, ejecútese primero 'load(draw)'. 3096 3097 Véanse también 'draw' y 'gr2d'. 3098 3099 -- Función: draw3d (<option>, <graphic_object>, ...) 3100 3101 Esta función es un atajo para 'draw(gr3d(<options>, ..., 3102 <graphic_object>, ...))'. 3103 3104 Puede utilizarse para representar una única escena en 3d. 3105 3106 Para utilizar esta función, ejecútese primero 'load(draw)'. 3107 3108 Véanse también 'draw' y 'gr3d'. 3109 3110 -- Función: draw_file (<Opción gráfica>, ..., <Opción gráfica>, ...) 3111 3112 Almacena el gráfico actual en un fichero. Las opciones gráficas 3113 que acepta son: 'terminal', 'dimensions' y'file_name'. 3114 3115 Ejemplo: 3116 3117 (%i1) load(draw)$ 3118 (%i2) /* dibujo en pantalla */ 3119 draw(gr3d(explicit(x^2+y^2,x,-1,1,y,-1,1)))$ 3120 (%i3) /* same plot in eps format */ 3121 draw_file(terminal = eps, 3122 dimensions = [5,5]) $ 3123 3124 -- Función: multiplot_mode (<term>) 3125 3126 Esta función permite a Maxima trabajar en modo de gráficos 3127 múltiples en una sola ventana del terminal <term>; argumentos 3128 válidos para esta función son 'screen', 'wxt', 'aquaterm' y 'none'. 3129 3130 Cuando el modo de gráficos múltiples está activo, cada llamada a 3131 'draw' envía un nuevo gr'afico a la misma ventana, sin borrar los 3132 anteriores. Para desactivar el modo de gráficos múltiples 3133 escríbase 'multiplot_mode(none)'. 3134 3135 Cuando el modo de gráficos múltiples está activo, la opción global 3136 'terminal' se bloquea; para desbloquearla y cambiar de terminal es 3137 necesario desactivar previamente el modo de gráficos múltiples. 3138 3139 Este modo de trabajo no funciona en plataformas Windows. 3140 3141 Ejemplo: 3142 3143 (%i1) load(draw)$ 3144 (%i2) set_draw_defaults( 3145 xrange = [-1,1], 3146 yrange = [-1,1], 3147 grid = true, 3148 title = "Step by step plot" )$ 3149 (%i3) multiplot_mode(screen)$ 3150 (%i4) draw2d(color=blue, explicit(x^2,x,-1,1))$ 3151 (%i5) draw2d(color=red, explicit(x^3,x,-1,1))$ 3152 (%i6) draw2d(color=brown, explicit(x^4,x,-1,1))$ 3153 (%i7) multiplot_mode(none)$ 3154 3155 -- Función: set_draw_defaults (<Opción gráfica>, ..., <Opción gráfica>, 3156 ...) 3157 3158 Establece las opciones gráficas de usuario. Esta función es útil 3159 para dibujar varios gráficos con las mismas opciones. Llamando a 3160 la función sin argumentos se borran las opciones de usuario por 3161 defecto. 3162 3163 Ejemplo: 3164 3165 (%i1) load(draw)$ 3166 (%i2) set_draw_defaults( 3167 xrange = [-10,10], 3168 yrange = [-2, 2], 3169 color = blue, 3170 grid = true)$ 3171 (%i3) /* dibujo con opciones de usuario */ 3172 draw2d(explicit(((1+x)**2/(1+x*x))-1,x,-10,10))$ 3173 (%i4) set_draw_defaults()$ 3174 (%i5) /* dibujo con opciones por defecto */ 3175 draw2d(explicit(((1+x)**2/(1+x*x))-1,x,-10,10))$ 3176 3177 Para utilizar esta función, ejecútese primero 'load(draw)'. 3178 317947.2.3 Opciones gráficas 3180------------------------ 3181 3182 -- Opción gráfica: adapt_depth 3183 Valor por defecto: 10 3184 3185 'adapt_depth' es el número máximo de particiones utilizadas por la 3186 rutina gráfica adaptativa. 3187 3188 Esta opción sólo es relevante para funciones de tipo 'explicit' en 3189 2d. 3190 3191 -- Opción gráfica: allocation 3192 Valor por defecto: 'false' 3193 3194 Con la opción 'allocation' es posible colocar a voluntad una escena 3195 en la ventana de salida, lo cual resulta de utilidad en el caso de 3196 gráficos múltiples. Cuando la opción toma el valor 'false', la 3197 escena se coloca de forma automática, dependiendo del valor 3198 asignado a la opción 'columns'. En cualquier otro caso, a 3199 'allocation' se le debe asignar una lista con dos pares de números; 3200 el primero se corresponde con la posición de la esquina inferior 3201 izquierda del gráfico y el segundo par hace referencia al ancho y 3202 alto de la escena. Todas las cantidades deben darse en coordenadas 3203 relativas, entre 0 y 1. 3204 3205 Ejemplos: 3206 3207 Gráficos internos. 3208 3209 (%i1) load(draw)$ 3210 (%i2) draw( 3211 gr2d( 3212 explicit(x^2,x,-1,1)), 3213 gr2d( 3214 allocation = [[1/4, 1/4],[1/2, 1/2]], 3215 explicit(x^3,x,-1,1), 3216 grid = true) ) $ 3217 3218 Multiplot con dimensiones establecidas por el usuario. 3219 3220 (%i1) load(draw)$ 3221 (%i2) draw( 3222 terminal = wxt, 3223 gr2d( 3224 allocation = [[0, 0],[1, 1/4]], 3225 explicit(x^2,x,-1,1)), 3226 gr3d( 3227 allocation = [[0, 1/4],[1, 3/4]], 3228 explicit(x^2+y^2,x,-1,1,y,-1,1) ))$ 3229 3230 Véase también la opción 'columns'. 3231 3232 -- Opción gráfica: axis_3d 3233 Valor por defecto: 'true' 3234 3235 Cuando 'axis_3d' vale 'true', los ejes <x>, <y> y <z> permanecen 3236 visibles en las escenas 3d. 3237 3238 Puesto que ésta es una opción global, su posición dentro de la 3239 descripción de la escena no reviste importancia. 3240 3241 Ejemplo: 3242 3243 (%i1) load(draw)$ 3244 (%i2) draw3d(axis_3d = false, 3245 explicit(sin(x^2+y^2),x,-2,2,y,-2,2) )$ 3246 3247 Véanse también 'axis_bottom', 'axis_left', 'axis_top' y 3248 'axis_right' for axis in 2d. 3249 3250 -- Opción gráfica: axis_bottom 3251 Valor por defecto: 'true' 3252 3253 Cuando 'axis_bottom' vale 'true', el eje inferior permanece visible 3254 en las escenas 2d. 3255 3256 Puesto que ésta es una opción global, su posición dentro de la 3257 descripción de la escena no reviste importancia. 3258 3259 Ejemplo: 3260 3261 (%i1) load(draw)$ 3262 (%i2) draw2d(axis_bottom = false, 3263 explicit(x^3,x,-1,1))$ 3264 3265 Véanse también 'axis_left', 'axis_top', 'axis_right' y 'axis_3d'. 3266 3267 -- Opción gráfica: axis_left 3268 Valor por defecto: 'true' 3269 3270 Cuando 'axis_left' vale 'true', el eje izquierdo permanece visible 3271 en las escenas 2d. 3272 3273 Puesto que ésta es una opción global, su posición dentro de la 3274 descripción de la escena no reviste importancia. 3275 3276 Ejemplo: 3277 3278 (%i1) load(draw)$ 3279 (%i2) draw2d(axis_left = false, 3280 explicit(x^3,x,-1,1))$ 3281 3282 Véanse también 'axis_bottom', 'axis_top', 'axis_right' y 'axis_3d'. 3283 3284 -- Opción gráfica: axis_right 3285 Valor por defecto: 'true' 3286 3287 Cuando 'axis_right' vale 'true', el eje derecho permanece visible 3288 en las escenas 2d. 3289 3290 Puesto que ésta es una opción global, su posición dentro de la 3291 descripción de la escena no reviste importancia. 3292 3293 Ejemplo: 3294 3295 (%i1) load(draw)$ 3296 (%i2) draw2d(axis_right = false, 3297 explicit(x^3,x,-1,1))$ 3298 3299 Véanse también 'axis_bottom', 'axis_left', 'axis_top' y 'axis_3d'. 3300 3301 -- Opción gráfica: axis_top 3302 Valor por defecto: 'true' 3303 3304 Cuando 'axis_top' vale 'true', el eje superior permanece visible en 3305 las escenas 2d. 3306 3307 Puesto que ésta es una opción global, su posición dentro de la 3308 descripción de la escena no reviste importancia. 3309 3310 Ejemplo: 3311 3312 (%i1) load(draw)$ 3313 (%i2) draw2d(axis_top = false, 3314 explicit(x^3,x,-1,1))$ 3315 3316 Véanse también 'axis_bottom', 'axis_left', 'axis_right' y 3317 'axis_3d'. 3318 3319 -- Opción gráfica: background_color 3320 Valor por defecto: 'white' 3321 3322 Establece el color de fondo en los terminales 'gif', 'png', 'jpg' y 3323 'gif'. El color de fondo por defecto es blanco. 3324 3325 Puesto que ésta es una opción global, su posición dentro de la 3326 descripción de la escena no reviste importancia. 3327 3328 Esta opción no es compatible con los terminales 'epslatex' y 3329 'epslatex_standalone'. 3330 3331 Véase también 'color'. 3332 3333 -- Opción gráfica: border 3334 Valor por defecto: 'true' 3335 3336 Cuando 'border' vale 'true', los bordes de los polígonos se dibujan 3337 de acuerdo con 'line_type' y 'line_width'. 3338 3339 Esta opción afecta a los siguientes objetos gráficos: 3340 * 'gr2d': 'polygon', 'rectangle' y 'ellipse'. 3341 3342 Ejemplo: 3343 3344 (%i1) load(draw)$ 3345 (%i2) draw2d(color = brown, 3346 line_width = 8, 3347 polygon([[3,2],[7,2],[5,5]]), 3348 border = false, 3349 fill_color = blue, 3350 polygon([[5,2],[9,2],[7,5]]) )$ 3351 3352 -- Opción gráfica: capping 3353 Valor por defecto: '[false, false]' 3354 3355 Una lista de dos elementos, 'true' y 'false', indicando si los 3356 extremos de un objeto gráfico 'tube' permanece abiertos o si deben 3357 ser cerrados. Por defecto, ambos extremos se dejan abiertos. 3358 3359 La asignación 'capping = false' equivale a 'capping = [false, 3360 false]' y 'capping = true' equivale a 'capping = [true, true]'. 3361 3362 Ejemplo: 3363 3364 (%i1) load(draw)$ 3365 (%i2) draw3d( 3366 capping = [false, true], 3367 tube(0, 0, a, 1, 3368 a, 0, 8) )$ 3369 3370 -- Opción gráfica: cbrange 3371 Valor por defecto: 'auto' 3372 3373 Cuando 'cbrange' vale 'auto', el rango de los valores que se 3374 colorean cuando 'enhanced3d' es diferente de 'false' se calcula 3375 automáticamente. Valores fuera del rango utilizan el color del 3376 valor extremo más cercano. 3377 3378 Cuando 'enhanced3d' o 'colorbox' vale 'false', la opción 'cbrange' 3379 no tiene efecto alguno. 3380 3381 Si el usuario quiere especificar un intervalo para los valores a 3382 colorear, éste debe expresarse como una lista de Maxima, como en 3383 'cbrange=[-2, 3]'. 3384 3385 Puesto que ésta es una opción global, su posición dentro de la 3386 descripción de la escena no reviste importancia. 3387 3388 Ejemplo: 3389 3390 (%i1) load(draw)$ 3391 (%i2) draw3d ( 3392 enhanced3d = true, 3393 color = green, 3394 cbrange = [-3,10], 3395 explicit(x^2+y^2, x,-2,2,y,-2,2)) $ 3396 3397 Véanse también 'enhanced3d' y 'cbtics'. 3398 3399 -- Opción gráfica: cbtics 3400 Valor por defecto: 'auto' 3401 3402 Esta opción gráfica controla la forma en la que se dibujarán las 3403 marcas en la escala de color cuando la opción 'enhanced3d' sea 3404 diferente de 'false'. 3405 3406 Cuando 'enhanced3d' o 'colorbox' vale 'false', la opción 'cbtics' 3407 no tiene efecto alguno. 3408 3409 Véase 'xtics' para una descripción completa. 3410 3411 Ejemplo : 3412 3413 (%i1) load(draw)$ 3414 (%i2) draw3d ( 3415 enhanced3d = true, 3416 color = green, 3417 cbtics = {["High",10],["Medium",05],["Low",0]}, 3418 cbrange = [0, 10], 3419 explicit(x^2+y^2, x,-2,2,y,-2,2)) $ 3420 3421 See also 'enhanced3d', 'colorbox' and 'cbrange'. 3422 3423 -- Opción gráfica: color 3424 Valor por defecto: 'blue' 3425 3426 'color' especifica el color para dibujar líneas, puntos, bordes de 3427 polígonos y etiquetas. 3428 3429 Los colores se pueden dar a partir de sus nombres o en código 3430 hexadecimal rgb. 3431 3432 Los nombres de colores disponibles son: 'white', 'black', 'gray0', 3433 'grey0', 'gray10', 'grey10', 'gray20', 'grey20', 'gray30', 3434 'grey30', 'gray40', 'grey40', 'gray50', 'grey50', 'gray60', 3435 'grey60', 'gray70', 'grey70', 'gray80', 'grey80', 'gray90', 3436 'grey90', 'gray100', 'grey100', 'gray', 'grey', 'light_gray', 3437 'light_grey', 'dark_gray', 'dark_grey', 'red', 'light_red', 3438 'dark_red', 'yellow', 'light_yellow', 'dark_yellow', 'green', 3439 'light_green', 'dark_green', 'spring_green', 'forest_green', 3440 'sea_green', 'blue', 'light_blue', 'dark_blue', 'midnight_blue', 3441 'navy', 'medium_blue', 'royalblue', 'skyblue', 'cyan', 3442 'light_cyan', 'dark_cyan', 'magenta', 'light_magenta', 3443 'dark_magenta', 'turquoise', 'light_turquoise', 'dark_turquoise', 3444 'pink', 'light_pink', 'dark_pink', 'coral', 'light_coral', 3445 'orange_red', 'salmon', 'light_salmon', 'dark_salmon', 3446 'aquamarine', 'khaki', 'dark_khaki', 'goldenrod', 3447 'light_goldenrod', 'dark_goldenrod', 'gold', 'beige', 'brown', 3448 'orange', 'dark_orange', 'violet', 'dark_violet', 'plum' y 3449 'purple'. 3450 3451 Las componentes cromáticas en código hexadecimal se introducen en 3452 el formato '"#rrggbb"'. 3453 3454 Ejemplo: 3455 3456 (%i1) load(draw)$ 3457 (%i2) draw2d(explicit(x^2,x,-1,1), /* default is black */ 3458 color = red, 3459 explicit(0.5 + x^2,x,-1,1), 3460 color = blue, 3461 explicit(1 + x^2,x,-1,1), 3462 color = light_blue, 3463 explicit(1.5 + x^2,x,-1,1), 3464 color = "#23ab0f", 3465 label(["This is a label",0,1.2]) )$ 3466 3467 Véase también 'fill_color'. 3468 3469 -- Opción gráfica: colorbox 3470 Valor por defecto: 'true' 3471 3472 Cuando 'colorbox' vale 'true', se dibuja una escala de colores sin 3473 título al lado de los objetos 'image' en 2D o de objetos coloreados 3474 en 3D. Cuando 'colorbox' vale 'false', no se presenta la escala de 3475 colores. Cuando 'colorbox' es una cadena de caracteres, se 3476 mostrará la escala de colores con un título. 3477 3478 Puesto que ésta es una opción global, su posición dentro de la 3479 descripción de la escena no reviste importancia. 3480 3481 Ejemplo: 3482 3483 Escala de colores e imágenes. 3484 3485 (%i1) load(draw)$ 3486 (%i2) im: apply('matrix, 3487 makelist(makelist(random(200),i,1,30),i,1,30))$ 3488 (%i3) draw2d(image(im,0,0,30,30))$ 3489 (%i4) draw2d(colorbox = false, image(im,0,0,30,30))$ 3490 3491 Escala de colores y objeto 3D coloreado. 3492 3493 (%i1) load(draw)$ 3494 (%i2) draw3d( 3495 colorbox = "Magnitude", 3496 enhanced3d = true, 3497 explicit(x^2+y^2,x,-1,1,y,-1,1))$ 3498 3499 Véase también 'palette'. 3500 3501 -- Opción gráfica: columns 3502 Valor por defecto: 1 3503 3504 'columns' es el número de columnas en gráficos múltiples. 3505 3506 Puesto que ésta es una opción global, su posición dentro de la 3507 descripción de la escena no reviste importancia. También puede 3508 usarse como argumento de la función 'draw'. 3509 3510 Ejemplo: 3511 3512 (%i1) load(draw)$ 3513 (%i2) scene1: gr2d(title="Ellipse", 3514 nticks=30, 3515 parametric(2*cos(t),5*sin(t),t,0,2*%pi))$ 3516 (%i3) scene2: gr2d(title="Triangle", 3517 polygon([4,5,7],[6,4,2]))$ 3518 (%i4) draw(scene1, scene2, columns = 2)$ 3519 3520 -- Opción gráfica: contour 3521 Valor por defecto: 'none' 3522 3523 La opción 'contour' permite al usuario decidir dónde colocar las 3524 líneas de nivel. Valores posibles son: 3525 3526 * 'none': no se dibujan líneas de nivel. 3527 3528 * 'base': las líneas de nivel se proyectan sobre el plano xy. 3529 3530 * 'surface': las líneas de nivel se dibujan sobre la propia 3531 superficie. 3532 3533 * 'both': se dibujan dos conjuntos de líneas de nivel: sobre la 3534 superficie y las que se proyectan sobre el plano xy. 3535 3536 * 'map': las líneas de nivel se proyectan sobre el plano xy y el 3537 punto de vista del observador se coloca perpendicularmente a 3538 él. 3539 3540 Puesto que ésta es una opción global, su posición dentro de la 3541 descripción de la escena no reviste importancia. 3542 3543 Ejemplo: 3544 3545 (%i1) load(draw)$ 3546 (%i2) draw3d(explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3), 3547 contour_levels = 15, 3548 contour = both, 3549 surface_hide = true) $ 3550 3551 Véase también 'contour_levels'. 3552 3553 -- Opción gráfica: contour_levels 3554 Valor por defecto: 5 3555 3556 Esta opción gráfica controla cómo se dibujarán las líneas de nivel. 3557 A 'contour_levels' se le puede asignar un número entero positivo, 3558 una lista de tres números o un conjunto numérico arbitrario: 3559 3560 * Si a 'contour_levels' se le asigna un entero positivo <n>, 3561 entonces se dibujarán <n> líneas de nivel a intervalos 3562 iguales. Por defecto, se dibujaán cinco isolíneas. 3563 3564 * Si a 'contour_levels' se le asigna una lista de tres números 3565 de la forma '[inf,p,sup]', las isolíneas se dibujarán desde 3566 'inf' hasta 'sup' en pasos de amplitud 'p'. 3567 3568 * Si a 'contour_levels' se le asigna un conjunto de números de 3569 la forma '{n1, n2, ...}', entonces se dibujarán las isolíneas 3570 correspondientes a los niveles 'n1', 'n2', ... 3571 3572 Puesto que ésta es una opción global, su posición dentro de la 3573 descripción de la escena no reviste importancia. 3574 3575 Ejemplos: 3576 3577 Diez isolíneas igualmente espaciadas. El número real puede 3578 ajustarse a fin de poder conseguir etiquetas más sencillas. 3579 (%i1) load(draw)$ 3580 (%i2) draw3d(color = green, 3581 explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3), 3582 contour_levels = 10, 3583 contour = both, 3584 surface_hide = true) $ 3585 3586 Desde -8 hasta 8 en pasos de amplitud 4. 3587 (%i1) load(draw)$ 3588 (%i2) draw3d(color = green, 3589 explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3), 3590 contour_levels = [-8,4,8], 3591 contour = both, 3592 surface_hide = true) $ 3593 3594 Líneas correspondientes a los niveles -7, -6, 0.8 y 5. 3595 (%i1) load(draw)$ 3596 (%i2) draw3d(color = green, 3597 explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3), 3598 contour_levels = {-7, -6, 0.8, 5}, 3599 contour = both, 3600 surface_hide = true) $ 3601 3602 Véase también 'contour'. 3603 3604 -- Opción gráfica: data_file_name 3605 Valor por defecto: '"data.gnuplot"' 3606 3607 'data_file_name' es el nombre del fichero que almacena la 3608 información numérica que necesita Gnuplot para crear el gráfico 3609 solicitado. 3610 3611 Puesto que ésta es una opción global, su posición dentro de la 3612 descripción de la escena no reviste importancia. También puede 3613 usarse como argumento de la función 'draw'. 3614 3615 Véase ejemplo en 'gnuplot_file_name'. 3616 3617 -- Opción gráfica: delay 3618 Valor por defecto: 5 3619 3620 Este es el retraso en centésimas de segundo entre imágenes en los 3621 ficheros gif animados. 3622 3623 Puesto que ésta es una opción global, su posición dentro de la 3624 descripción de la escena no reviste importancia. También puede 3625 usarse como argumento de la función 'draw'. 3626 3627 Ejemplo: 3628 3629 (%i1) load(draw)$ 3630 (%i2) draw( 3631 delay = 100, 3632 file_name = "zzz", 3633 terminal = 'animated_gif, 3634 gr2d(explicit(x^2,x,-1,1)), 3635 gr2d(explicit(x^3,x,-1,1)), 3636 gr2d(explicit(x^4,x,-1,1))); 3637 End of animation sequence 3638 (%o2) [gr2d(explicit), gr2d(explicit), gr2d(explicit)] 3639 3640 La opciób 'delay' sólo se activa en caso de gifs animados; se 3641 ignora en cualquier otro caso. 3642 3643 Véanse también 'terminal', 'dimensions'. 3644 3645 -- Opción gráfica: dimensions 3646 Valor por defecto: '[600,500]' 3647 3648 Dimensiones del terminal de salida. Su valor es una lista formada 3649 por el ancho y el alto. El significado de estos dos números 3650 depende del terminal con el que se esté trabajando. 3651 3652 Con los terminales 'gif', 'animated_gif', 'png', 'jpg', 'svg', 3653 'screen', 'wxt' y 'aquaterm', los enteros representan números de 3654 puntos en cada dirección. Si no son enteros se redondean. 3655 3656 Con los terminales 'eps', 'eps_color', 'pdf' y 'pdfcairo', los 3657 números representan centésimas de cm, lo que significa que, por 3658 defecto, las imágenes en estos formatos tienen 6 cm de ancho por 5 3659 cm de alto. 3660 3661 Puesto que ésta es una opción global, su posición dentro de la 3662 descripción de la escena no reviste importancia. También puede 3663 usarse como argumento de la función 'draw'. 3664 3665 Ejemplos: 3666 3667 La opción 'dimensions' aplicada a un fichero de salida y al lienzo 3668 wxt. 3669 3670 (%i1) load(draw)$ 3671 (%i2) draw2d( 3672 dimensions = [300,300], 3673 terminal = 'png, 3674 explicit(x^4,x,-1,1)) $ 3675 (%i3) draw2d( 3676 dimensions = [300,300], 3677 terminal = 'wxt, 3678 explicit(x^4,x,-1,1)) $ 3679 3680 La opción 'dimensions' aplicada a una salida eps. En este caso 3681 queremos un fichero eps con dimensiones A4. 3682 3683 (%i1) load(draw)$ 3684 (%i2) A4portrait: 100*[21, 29.7]$ 3685 (%i3) draw3d( 3686 dimensions = A4portrait, 3687 terminal = 'eps, 3688 explicit(x^2-y^2,x,-2,2,y,-2,2)) $ 3689 3690 -- Opción gráfica: draw_realpart 3691 Valor por defecto: 'true' 3692 3693 Cuando vale 'true', las funciones a dibujar se consideran funciones 3694 complejas cuyas partes reales se deben dibujar; cuando la opción 3695 vale 'false', no se dibujará nada en caso de que la función no 3696 devuelve valores reales. 3697 3698 Esta opción afecta a los objetos 'explicit' y 'parametric' en 2D y 3699 3D, y al objeto 'parametric_surface'. 3700 3701 Ejemplo: 3702 3703 La opción 'draw_realpart' afecta a los objetos 'explicit' y 3704 'parametric'. 3705 3706 (%i1) load(draw)$ 3707 (%i2) draw2d( 3708 draw_realpart = false, 3709 explicit(sqrt(x^2 - 4*x) - x, x, -1, 5), 3710 color = red, 3711 draw_realpart = true, 3712 parametric(x,sqrt(x^2 - 4*x) - x + 1, x, -1, 5) ); 3713 3714 -- Opción gráfica: enhanced3d 3715 Valor por defecto: 'none' 3716 3717 Cuando 'enhanced3d' vale 'none', las superficies no se colorean en 3718 escenas 3D. Para obtener una superficie coloreada se debe asignar 3719 una lista a la opción 'enhanced3d', en la que el primer elemento es 3720 una expresión y el resto son los nombres de las variables o 3721 parámetros utilizados en la expresión. Una lista tal como 3722 '[f(x,y,z), x, y, z]' significa que al punto '[x,y,z]' de la 3723 superficie se le asigna el número 'f(x,y,z)', el cual será 3724 coloreado de acuerdo con el valor actual de 'palette'. Para 3725 aquellos objetos gráficos 3D definidos en términos de parámetros, 3726 es posible definir el número de color en términos de dichos 3727 parámetros, como en '[f(u), u]', para los objetos 'parametric' y 3728 'tube', o '[f(u,v), u, v]', para el objeto 'parametric_surface'. 3729 Mientras que todos los objetos 3D admiten el modelo basado en 3730 coordenadas absolutas, '[f(x,y,z), x, y, z]', solamente dos de 3731 ellos, esto es 'explicit' y 'elevation_grid', aceptan también el 3732 modelo basado en las coordenadas '[x,y]', '[f(x,y), x, y]'. El 3733 objeto 3D 'implicit' acepta solamente el modelo '[f(x,y,z), x, y, 3734 z]'. El objeto 'points' también acepta el modelo '[f(x,y,z), x, y, 3735 z]', pero cuando los puntos tienen naturaleza cronológica también 3736 admite el modelo '[f(k), k]', siendo 'k' un parámetro de orden. 3737 3738 Cuando a 'enhanced3d' se le asigna algo diferente de 'none', se 3739 ignoran las opciones 'color' y 'surface_hide'. 3740 3741 Los nombres de las variables definidas en las listas pueden ser 3742 diferentes de aquellas utilizadas en las definiciones de los 3743 objetos gráficos. 3744 3745 A fin de mantener compatibilidad con versiones anteriores, 3746 'enhanced3d = false' es equivalente a 'enhanced3d = none' y 3747 'enhanced3d = true' es equivalente a 'enhanced3d = [z, x, y, z]'. 3748 Si a 'enhanced3d' se le asigna una expresión, sus variables deben 3749 ser las mismas utilizadas en la definición de la superficie. Esto 3750 no es necesario cuando se utilizan listas. 3751 3752 Sobre la definición de paletas, véase 'palette'. 3753 3754 Ejemplos: 3755 3756 Objeto 'explicit' con coloreado definido por el modelo '[f(x,y,z), 3757 x, y, z]'. 3758 3759 (%i1) load(draw)$ 3760 (%i2) draw3d( 3761 enhanced3d = [x-z/10,x,y,z], 3762 palette = gray, 3763 explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3))$ 3764 3765 Objeto 'explicit' con coloreado definido por el modelo '[f(x,y), x, 3766 y]'. Los nombres de las variables definidas en las listas pueden 3767 ser diferentes de aquellas utilizadas en las definiciones de los 3768 objetos gráficos 3D; en este caso, 'r' corresponde a 'x' y 's' a 3769 'y'. 3770 3771 (%i1) load(draw)$ 3772 (%i2) draw3d( 3773 enhanced3d = [sin(r*s),r,s], 3774 explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3))$ 3775 3776 Objeto 'parametric' con coloreado definido por el modelo 3777 '[f(x,y,z), x, y, z]'. 3778 3779 (%i1) load(draw)$ 3780 (%i2) draw3d( 3781 nticks = 100, 3782 line_width = 2, 3783 enhanced3d = [if y>= 0 then 1 else 0, x, y, z], 3784 parametric(sin(u)^2,cos(u),u,u,0,4*%pi)) $ 3785 3786 Objeto 'parametric' con coloreado definido por el modelo '[f(u), 3787 u]'. En este caso, '(u-1)^2' es una simplificación de 3788 '[(u-1)^2,u]'. 3789 3790 (%i1) load(draw)$ 3791 (%i2) draw3d( 3792 nticks = 60, 3793 line_width = 3, 3794 enhanced3d = (u-1)^2, 3795 parametric(cos(5*u)^2,sin(7*u),u-2,u,0,2))$ 3796 3797 Objeto 'elevation_grid' con coloreado definido por el modelo 3798 '[f(x,y), x, y]'. 3799 3800 (%i1) load(draw)$ 3801 (%i2) m: apply( 3802 matrix, 3803 makelist(makelist(cos(i^2/80-k/30),k,1,30),i,1,20)) $ 3804 (%i3) draw3d( 3805 enhanced3d = [cos(x*y*10),x,y], 3806 elevation_grid(m,-1,-1,2,2), 3807 xlabel = "x", 3808 ylabel = "y"); 3809 3810 Objeto 'tube' con coloreado definido por el modelo '[f(x,y,z), x, 3811 y, z]'. 3812 3813 (%i1) load(draw)$ 3814 (%i2) draw3d( 3815 enhanced3d = [cos(x-y),x,y,z], 3816 palette = gray, 3817 xu_grid = 50, 3818 tube(cos(a), a, 0, 1, a, 0, 4*%pi) )$ 3819 3820 Objeto 'tube' con coloreado definido por el modelo '[f(u), u]'. En 3821 este caso, 'enhanced3d = -a' puede ser una simplificación de 3822 'enhanced3d = [-foo,foo]'. 3823 3824 (%i1) load(draw)$ 3825 (%i2) draw3d( 3826 capping = [true, false], 3827 palette = [26,15,-2], 3828 enhanced3d = [-foo, foo], 3829 tube(a, a, a^2, 1, a, -2, 2) )$ 3830 3831 Objetos 'implicit' y 'points' con coloreado definido por el modelo 3832 '[f(x,y,z), x, y, z]'. 3833 3834 (%i1) load(draw)$ 3835 (%i2) draw3d( 3836 enhanced3d = [x-y,x,y,z], 3837 implicit((x^2+y^2+z^2-1)*(x^2+(y-1.5)^2+z^2-0.5)=0.015, 3838 x,-1,1,y,-1.2,2.3,z,-1,1)) $ 3839 (%i3) m: makelist([random(1.0),random(1.0),random(1.0)],k,1,2000)$ 3840 (%i4) draw3d( 3841 point_type = filled_circle, 3842 point_size = 2, 3843 enhanced3d = [u+v-w,u,v,w], 3844 points(m) ) $ 3845 3846 cuando los puntos tienen naturaleza cronológica también se admite 3847 el modelo '[f(k), k]', siendo 'k' un parámetro de orden. 3848 3849 (%i1) load(draw)$ 3850 (%i2) m:makelist([random(1.0), random(1.0), random(1.0)],k,1,5)$ 3851 (%i3) draw3d( 3852 enhanced3d = [sin(j), j], 3853 point_size = 3, 3854 point_type = filled_circle, 3855 points_joined = true, 3856 points(m)) $ 3857 3858 -- Opción gráfica: error_type 3859 Valor por defecto: 'y' 3860 3861 Dependiendo de su valor, el cual puede ser 'x', 'y' o 'xy', el 3862 objeto gráfico 'errors' dibujará puntos con barras de error 3863 horizontales, verticales, o ambas. Si 'error_type=boxes', se 3864 dibujarán cajas en lugar de cruces. 3865 3866 Véase también 'errors'. 3867 3868 -- Opción gráfica: file_name 3869 Valor por defecto: '"maxima_out"' 3870 3871 'file_name' es el nombre del fichero en el que los terminales 3872 'png', 'jpg', 'gif', 'eps', 'eps_color', 'pdf', 'pdfcairo' y 'svg' 3873 guardarán el gráfico. 3874 3875 Puesto que ésta es una opción global, su posición dentro de la 3876 descripción de la escena no reviste importancia. También puede 3877 usarse como argumento de la función 'draw'. 3878 3879 Ejemplo: 3880 3881 (%i1) load(draw)$ 3882 (%i2) draw2d(file_name = "myfile", 3883 explicit(x^2,x,-1,1), 3884 terminal = 'png)$ 3885 3886 Véanse también 'terminal', 'dimensions'. 3887 3888 -- Opción gráfica: fill_color 3889 Valor por defecto: '"red"' 3890 3891 'fill_color' especifica el color para rellenar polígonos y 3892 funciones explícitas bidimensionales. 3893 3894 Véase 'color' para más información sobre cómo definir colores. 3895 3896 -- Opción gráfica: fill_density 3897 Valor por defecto: 0 3898 3899 'fill_density' es un número entre 0 y 1 que especifica la 3900 intensidad del color de relleno (dado por 'fill_color') en los 3901 objetos 'bars'. 3902 3903 Véase 'bars' para ejemplos. 3904 3905 -- Opción gráfica: filled_func 3906 Valor por defecto: 'false' 3907 3908 La opción 'filled_func' establece cómo se van a rellenar las 3909 regiones limitadas por funciones. Si 'filled_func' vale 'true', la 3910 región limitada por la función definida en el objeto 'explicit' y 3911 el borde inferior del la ventana gráfica se rellena con 3912 'fill_color'. Si 'filled_func' guarda la expresión de una función, 3913 entonces la región limitada por esta función y la definida en el 3914 objeto 'explicit' será la que se rellene. Por defecto, las 3915 funciones explícitas no se rellenan. 3916 3917 Un caso de especial utilidad es 'filled_func=0', con lo que se 3918 sombrea la región limitada por el eje horizontal y la función 3919 explícita. 3920 3921 Esta opción sólo afecta al objeto gráfico bidimensional 'explicit'. 3922 3923 Ejemplo: 3924 3925 Región limitada por un objeto 'explicit' y el borde inferior de la 3926 ventana gráfica. 3927 (%i1) load(draw)$ 3928 (%i2) draw2d(fill_color = red, 3929 filled_func = true, 3930 explicit(sin(x),x,0,10) )$ 3931 3932 Región limitada por un objeto 'explicit' y la función definida en 3933 la opción 'filled_func'. Nótese que la variable en 'filled_func' 3934 debe ser la misma que la utilizada en 'explicit'. 3935 (%i1) load(draw)$ 3936 (%i2) draw2d(fill_color = grey, 3937 filled_func = sin(x), 3938 explicit(-sin(x),x,0,%pi)); 3939 3940 Véanse también 'fill_color' y 'explicit'. 3941 3942 -- Opción gráfica: font 3943 Valor por defecto: '""' (cadena vacía) 3944 3945 Esta opción permite seleccionar el tipo de fuente a utilizar por el 3946 terminal. Sólo se puede utilizar un tipo de fuente y tamaño por 3947 gráfico. 3948 3949 Puesto que ésta es una opción global, su posición dentro de la 3950 descripción de la escena no reviste importancia. 3951 3952 Véase también 'font_size'. 3953 3954 Gnuplot no puede gestionar por sí mismo las fuentes, dejando esta 3955 tarea a las librerías que dan soporte a los diferentes terminales, 3956 cada uno con su propia manera de controlar la tipografía. A 3957 continuación un breve resumen: 3958 3959 * x11: Utiliza el mecanismo habitual para suministrar las 3960 fuentes en x11. 3961 3962 Ejemplo: 3963 (%i1) load(draw)$ 3964 (%i2) draw2d(font = "Arial", 3965 font_size = 20, 3966 label(["Arial font, size 20",1,1]))$ 3967 3968 * windows: El terminal de windows no permite cambiar fuentes 3969 desde dentro del gráfico. Una vez se ha creado el gráfico, se 3970 pueden cambiar las fuentes haciendo clic derecho en el menú de 3971 la ventana gráfica. 3972 3973 * png, jpeg, gif: La librería libgd utiliza la ruta a las 3974 fuentes almacenada en la variable de entorno 'GDFONTPATH'; en 3975 tal caso sólo es necesario darle a la opción 'font' el nombre 3976 de la fuente. También es posible darle la ruta completa al 3977 fichero de la fuente. 3978 3979 Ejemplos: 3980 3981 A la opción 'font' se le puede dar la ruta completa al fichero 3982 de la fuente: 3983 (%i1) load(draw)$ 3984 (%i2) path: "/usr/share/fonts/truetype/freefont/" $ 3985 (%i3) file: "FreeSerifBoldItalic.ttf" $ 3986 (%i4) draw2d( 3987 font = concat(path, file), 3988 font_size = 20, 3989 color = red, 3990 label(["FreeSerifBoldItalic font, size 20",1,1]), 3991 terminal = png)$ 3992 3993 Si la variable de entorno 'GDFONTPATH' almacena la ruta a la 3994 carpeta donde se alojan las fuentes, es posible darle a la 3995 opción 'font' sólo el nombre de la fuente: 3996 (%i1) load(draw)$ 3997 (%i2) draw2d( 3998 font = "FreeSerifBoldItalic", 3999 font_size = 20, 4000 color = red, 4001 label(["FreeSerifBoldItalic font, size 20",1,1]), 4002 terminal = png)$ 4003 4004 * Postscript: Las fuentes estándar de Postscript son: 4005 '"Times-Roman"', '"Times-Italic"', '"Times-Bold"', 4006 '"Times-BoldItalic"', '"Helvetica"', '"Helvetica-Oblique"', 4007 '"Helvetica-Bold"', '"Helvetic-BoldOblique"', '"Courier"', 4008 '"Courier-Oblique"', '"Courier-Bold"' y 4009 '"Courier-BoldOblique"'. 4010 4011 Ejemplo: 4012 (%i1) load(draw)$ 4013 (%i2) draw2d( 4014 font = "Courier-Oblique", 4015 font_size = 15, 4016 label(["Courier-Oblique font, size 15",1,1]), 4017 terminal = eps)$ 4018 4019 * pdf: Utiliza las mismas fuentes que Postscript. 4020 4021 * pdfcairo: Utiliza las mismas fuentes que wxt. 4022 4023 * wxt: La librería pango encuentra las fuentes por medio de la 4024 utilidad 'fontconfig'. 4025 4026 * aqua: La fuente por defecto es '"Times-Roman"'. 4027 4028 La documentación de gnuplot es una importante fuente de información 4029 sobre terminales y fuentes. 4030 4031 -- Opción gráfica: font_size 4032 Valor por defecto: 10 4033 4034 Esta opción permite seleccionar el tamaño de la fuente a utilizar 4035 por el terminal. Sólo se puede utilizar un tipo de fuente y tamaño 4036 por gráfico. 'font_size' sólo se activa cuando la opción 'font' 4037 tiene un valor diferente de la cadena vacía. 4038 4039 Puesto que ésta es una opción global, su posición dentro de la 4040 descripción de la escena no reviste importancia. 4041 4042 Véase también 'font'. 4043 4044 -- Opción gráfica: gnuplot_file_name 4045 Valor por defecto: '"maxout.gnuplot"' 4046 4047 'gnuplot_file_name' es el nombre del fichero que almacena las 4048 instrucciones a ser procesadas por Gnuplot. 4049 4050 Puesto que ésta es una opción global, su posición dentro de la 4051 descripción de la escena no reviste importancia. También puede 4052 usarse como argumento de la función 'draw'. 4053 4054 Ejemplo: 4055 4056 (%i1) load(draw)$ 4057 (%i2) draw2d( 4058 file_name = "my_file", 4059 gnuplot_file_name = "my_commands_for_gnuplot", 4060 data_file_name = "my_data_for_gnuplot", 4061 terminal = png, 4062 explicit(x^2,x,-1,1)) $ 4063 4064 Véase también 'data_file_name'. 4065 4066 -- Opción gráfica: grid 4067 Valor por defecto: 'false' 4068 4069 Cuando 4070 4071 Cuando 'grid' toma un valor distinto de 'false', se dibujará una 4072 rejilla sobre el plano <xy>. Si a 'grid' se le asigna el valor 4073 'true', se dibujará una línea de la rejilla por cada marca que haya 4074 sobre los ejes. Si a 'grid' se le asigna la lista '[nx,ny]', con 4075 <[nx,ny] > [0,0]>, se dibujarán 'nx' líneas por cada marca del 4076 eje-<x> y <ny> líneas por cada marca del eje-<y>. 4077 4078 Puesto que ésta es una opción global, su posición dentro de la 4079 descripción de la escena no reviste importancia. 4080 4081 Ejemplo: 4082 4083 (%i1) load(draw)$ 4084 (%i2) draw2d(grid = true, 4085 explicit(exp(u),u,-2,2))$ 4086 4087 -- Opción gráfica: head_angle 4088 Valor por defecto: 45 4089 4090 'head_angle' indica el ángulo, en grados, entre la flecha y el 4091 segmento del vector. 4092 4093 Esta opción sólo es relevante para objetos de tipo 'vector'. 4094 4095 Ejemplo: 4096 4097 (%i1) load(draw)$ 4098 (%i2) draw2d(xrange = [0,10], 4099 yrange = [0,9], 4100 head_length = 0.7, 4101 head_angle = 10, 4102 vector([1,1],[0,6]), 4103 head_angle = 20, 4104 vector([2,1],[0,6]), 4105 head_angle = 30, 4106 vector([3,1],[0,6]), 4107 head_angle = 40, 4108 vector([4,1],[0,6]), 4109 head_angle = 60, 4110 vector([5,1],[0,6]), 4111 head_angle = 90, 4112 vector([6,1],[0,6]), 4113 head_angle = 120, 4114 vector([7,1],[0,6]), 4115 head_angle = 160, 4116 vector([8,1],[0,6]), 4117 head_angle = 180, 4118 vector([9,1],[0,6]) )$ 4119 4120 Véanse también 'head_both', 'head_length' y 'head_type'. 4121 4122 -- Opción gráfica: head_both 4123 Valor por defecto: 'false' 4124 4125 Cuando 'head_both' vale 'true', los vectores se dibujan 4126 bidireccionales. Si vale 'false', se dibujan unidireccionales. 4127 4128 Esta opción sólo es relevante para objetos de tipo 'vector'. 4129 4130 Ejemplo: 4131 4132 (%i1) load(draw)$ 4133 (%i2) draw2d(xrange = [0,8], 4134 yrange = [0,8], 4135 head_length = 0.7, 4136 vector([1,1],[6,0]), 4137 head_both = true, 4138 vector([1,7],[6,0]) )$ 4139 4140 Véanse también 'head_length', 'head_angle' y 'head_type'. 4141 4142 -- Opción gráfica: head_length 4143 Valor por defecto: 2 4144 4145 'head_length' indica, en las unidades del eje <x>, la longitud de 4146 las flechas de los vectores. 4147 4148 Esta opción sólo es relevante para objetos de tipo 'vector'. 4149 4150 Ejemplo: 4151 4152 (%i1) load(draw)$ 4153 (%i2) draw2d(xrange = [0,12], 4154 yrange = [0,8], 4155 vector([0,1],[5,5]), 4156 head_length = 1, 4157 vector([2,1],[5,5]), 4158 head_length = 0.5, 4159 vector([4,1],[5,5]), 4160 head_length = 0.25, 4161 vector([6,1],[5,5]))$ 4162 4163 Véanse también 'head_both', 'head_angle' y 'head_type'. 4164 4165 -- Opción gráfica: head_type 4166 Valor por defecto: 'filled' 4167 4168 'head_type' se utiliza para especificar cómo se habrán de dibujar 4169 las flechas de los vectores. Los valores posibles para esta opción 4170 son: 'filled' (flechas cerradas y rellenas), 'empty' (flechas 4171 cerradas pero no rellenas) y 'nofilled' (flechas abiertas). 4172 4173 Esta opción sólo es relevante para objetos de tipo 'vector'. 4174 4175 Ejemplo: 4176 4177 (%i1) load(draw)$ 4178 (%i2) draw2d(xrange = [0,12], 4179 yrange = [0,10], 4180 head_length = 1, 4181 vector([0,1],[5,5]), /* default type */ 4182 head_type = 'empty, 4183 vector([3,1],[5,5]), 4184 head_type = 'nofilled, 4185 vector([6,1],[5,5]))$ 4186 4187 Véanse también 'head_both', 'head_angle' y 'head_length'. 4188 4189 -- Opción gráfica: interpolate_color 4190 Valor por defecto: 'false' 4191 4192 Esta opción solo es relevante si 'enhanced3d' tiene un valor 4193 diferente de 'false'. 4194 4195 Si 'interpolate_color' vale 'false', las superficies se colorean 4196 con cuadriláteros homogéneos. Si vale 'true', las transiciones de 4197 colores se suavizan por interpolación. 4198 4199 La opción 'interpolate_color' también acepta una lista de dos 4200 números, '[m,n]'. Para <m> y <n> positivos, cada cuadrilátero o 4201 triángulo se interpola <m> y <n> veces en la dirección respectiva. 4202 Para <m> y <n> negativos, la frecuencia de interpolación se elige 4203 de forma que se dibujen al menos <abs(m)> y <abs(n)> puntos, 4204 pudiéndose considerar esto como una función especial de enrejado. 4205 Con valores nulos, esto es 'interpolate_color=[0,0]', se 4206 seleccionará un número óptimo de puntos interpolados en la 4207 superficie. 4208 4209 Además, 'interpolate_color=true' es equivalente a 4210 'interpolate_color=[0,0]'. 4211 4212 La interpolación de colores en superficies paramétricas puede dar 4213 resultados imprevisibles. 4214 4215 Ejemplos: 4216 4217 Interpolación de color con funciones explícitas. 4218 4219 (%i1) load(draw)$ 4220 (%i2) draw3d( 4221 enhanced3d = sin(x*y), 4222 explicit(20*exp(-x^2-y^2)-10, x ,-3, 3, y, -3, 3)) $ 4223 (%i3) draw3d( 4224 interpolate_color = true, 4225 enhanced3d = sin(x*y), 4226 explicit(20*exp(-x^2-y^2)-10, x ,-3, 3, y, -3, 3)) $ 4227 (%i4) draw3d( 4228 interpolate_color = [-10,0], 4229 enhanced3d = sin(x*y), 4230 explicit(20*exp(-x^2-y^2)-10, x ,-3, 3, y, -3, 3)) $ 4231 4232 Interpolación de color con el objeto 'mesh'. 4233 4234 (%i1) load(draw)$ 4235 (%i2) draw3d( 4236 enhanced3d = true, 4237 mesh([[1,1,3], [7,3,1],[12,-2,4],[15,0,5]], 4238 [[2,7,8], [4,3,1],[10,5,8], [12,7,1]], 4239 [[-2,11,10],[6,9,5],[6,15,1], [20,15,2]])) $ 4240 (%i3) draw3d( 4241 enhanced3d = true, 4242 interpolate_color = true, 4243 mesh([[1,1,3], [7,3,1],[12,-2,4],[15,0,5]], 4244 [[2,7,8], [4,3,1],[10,5,8], [12,7,1]], 4245 [[-2,11,10],[6,9,5],[6,15,1], [20,15,2]])) $ 4246 (%i4) draw3d( 4247 enhanced3d = true, 4248 interpolate_color = true, 4249 view=map, 4250 mesh([[1,1,3], [7,3,1],[12,-2,4],[15,0,5]], 4251 [[2,7,8], [4,3,1],[10,5,8], [12,7,1]], 4252 [[-2,11,10],[6,9,5],[6,15,1], [20,15,2]])) $ 4253 4254 Véase también 'enhanced3d'. 4255 4256 -- Opción gráfica: ip_grid 4257 Valor por defecto: '[50, 50]' 4258 4259 'ip_grid' establece la rejilla del primer muestreo para los 4260 gráficos de funciones implícitas. 4261 4262 Esta opción sólo es relevante para funciones de tipo 'implicit'. 4263 4264 -- Opción gráfica: ip_grid_in 4265 Valor por defecto: '[5, 5]' 4266 4267 'ip_grid_in' establece la rejilla del segundo muestreo para los 4268 gráficos de funciones implícitas. 4269 4270 Esta opción sólo es relevante para funciones de tipo 'implicit'. 4271 4272 -- Opción gráfica: key 4273 Valor por defecto: '""' (cadena vacía) 4274 4275 'key' es la clave de una función en la leyenda. Si 'key' es una 4276 cadena vacía, las funciones no tendrán clave asociada en la 4277 leyenda. 4278 4279 Esta opción afecta a los siguientes objetos gráficos: 4280 * 'gr2d': 'points', 'polygon', 'rectangle', 'ellipse', 'vector', 4281 'explicit', 'implicit', 'parametric' y 'polar'. 4282 4283 * 'gr3d': 'points', 'explicit', 'parametric', y 4284 'parametric_surface'. 4285 4286 Ejemplo: 4287 4288 (%i1) load(draw)$ 4289 (%i2) draw2d(key = "Sinus", 4290 explicit(sin(x),x,0,10), 4291 key = "Cosinus", 4292 color = red, 4293 explicit(cos(x),x,0,10) )$ 4294 4295 -- Opción gráfica: key_pos 4296 Valor por defecto: '""' (cadena vacía) 4297 4298 La opción 'key_pos' establece en qué posición se colocará la 4299 leyenda. Si 'key' es una cadena vacía, entonces se utilizará por 4300 defecto la posición '"top_right"'. Los valores disponibles para 4301 esta opción son: 'top_left', 'top_center', 'top_right', 4302 'center_left', 'center', 'center_right', 'bottom_left', 4303 'bottom_center' y 'bottom_right'. 4304 4305 Puesto que ésta es una opción global, su posición dentro de la 4306 descripción de la escena no reviste importancia. 4307 4308 Ejemplos: 4309 4310 (%i1) load(draw)$ 4311 (%i2) draw2d( 4312 key_pos = top_left, 4313 key = "x", 4314 explicit(x, x,0,10), 4315 color = red, 4316 key = "x squared", 4317 explicit(x^2,x,0,10))$ 4318 (%i3) draw3d( 4319 key_pos = center, 4320 key = "x", 4321 explicit(x+y,x,0,10,y,0,10), 4322 color= red, 4323 key = "x squared", 4324 explicit(x^2+y^2,x,0,10,y,0,10))$ 4325 4326 -- Opción gráfica: label_alignment 4327 Valor por defecto: 'center' 4328 4329 'label_alignment' se utiliza para especificar dónde se escribirán 4330 las etiquetas con respecto a las coordenadas de referencia. Los 4331 valores posibles para esta opción son: 'center', 'left' y 'right'. 4332 4333 Esta opción sólo es relevante para objetos de tipo 'label'. 4334 4335 Ejemplo: 4336 4337 (%i1) load(draw)$ 4338 (%i2) draw2d(xrange = [0,10], 4339 yrange = [0,10], 4340 points_joined = true, 4341 points([[5,0],[5,10]]), 4342 color = blue, 4343 label(["Centered alignment (default)",5,2]), 4344 label_alignment = 'left, 4345 label(["Left alignment",5,5]), 4346 label_alignment = 'right, 4347 label(["Right alignment",5,8]))$ 4348 4349 Véanse también 'label_orientation' y 'color'. 4350 4351 -- Opción gráfica: label_orientation 4352 Valor por defecto: 'horizontal' 4353 4354 'label_orientation' se utiliza para especificar la orientación de 4355 las etiquetas. Los valores posibles para esta opción son: 4356 'horizontal' y 'vertical'. 4357 4358 Esta opción sólo es relevante para objetos de tipo 'label'. 4359 4360 Ejemplo: 4361 4362 En este ejemplo, el punto ficticio que se añade sirve para obtener 4363 la imagen, ya que el paquete 'draw' necesita siempre de datos para 4364 construir la escena. 4365 (%i1) load(draw)$ 4366 (%i2) draw2d(xrange = [0,10], 4367 yrange = [0,10], 4368 point_size = 0, 4369 points([[5,5]]), 4370 color = navy, 4371 label(["Horizontal orientation (default)",5,2]), 4372 label_orientation = 'vertical, 4373 color = "#654321", 4374 label(["Vertical orientation",1,5]))$ 4375 4376 Véanse también 'label_alignment' y 'color'. 4377 4378 -- Opción gráfica: line_type 4379 Valor por defecto: 'solid' 4380 4381 'line_type' indica cómo se van a dibujar las líneas; valores 4382 posibles son 'solid' y 'dots', que están disponibles en todos los 4383 terminales, y 'dashes', 'short_dashes', 'short_long_dashes', 4384 'short_short_long_dashes' y 'dot_dash', que no esán disponibles en 4385 los terminales 'png', 'jpg' y 'gif'. 4386 4387 Esta opción afecta a los siguientes objetos gráficos: 4388 * 'gr2d': 'points', 'polygon', 'rectangle', 'ellipse', 'vector', 4389 'explicit', 'implicit', 'parametric' y 'polar'. 4390 4391 * 'gr3d': 'points', 'explicit', 'parametric' y 4392 'parametric_surface'. 4393 4394 Ejemplo: 4395 4396 (%i1) load(draw)$ 4397 (%i2) draw2d(line_type = dots, 4398 explicit(1 + x^2,x,-1,1), 4399 line_type = solid, /* default */ 4400 explicit(2 + x^2,x,-1,1))$ 4401 4402 Véase también 'line_width'. 4403 4404 -- Opción gráfica: line_width 4405 Valor por defecto: 1 4406 4407 'line_width' es el ancho de las líneas a dibujar. Su valor debe 4408 ser un número positivo. 4409 4410 Esta opción afecta a los siguientes objetos gráficos: 4411 * 'gr2d': 'points', 'polygon', 'rectangle', 'ellipse', 'vector', 4412 'explicit', 'implicit', 'parametric' y 'polar'. 4413 4414 * 'gr3d': 'points' y 'parametric'. 4415 4416 Ejemplo: 4417 4418 (%i1) load(draw)$ 4419 (%i2) draw2d(explicit(x^2,x,-1,1), /* default width */ 4420 line_width = 5.5, 4421 explicit(1 + x^2,x,-1,1), 4422 line_width = 10, 4423 explicit(2 + x^2,x,-1,1))$ 4424 4425 Véase también 'line_type'. 4426 4427 -- Opción gráfica: logcb 4428 Valor por defecto: 'false' 4429 4430 Cuando 'logcb' vale 'true', la escala de colores se dibuja 4431 logarítmicamente. 4432 4433 Cuando 'enhanced3d' o 'colorbox' vale 'false', la opción 'logcb' no 4434 tiene efecto alguno. 4435 4436 Puesto que ésta es una opción global, su posición dentro de la 4437 descripción de la escena no reviste importancia. 4438 4439 Ejemplo: 4440 4441 (%i1) load(draw)$ 4442 (%i2) draw3d ( 4443 enhanced3d = true, 4444 color = green, 4445 logcb = true, 4446 logz = true, 4447 palette = [-15,24,-9], 4448 explicit(exp(x^2-y^2), x,-2,2,y,-2,2)) $ 4449 4450 Véanse también 'enhanced3d', 'colorbox' y 'cbrange'. 4451 4452 -- Opción gráfica: logx 4453 Valor por defecto: 'false' 4454 4455 Cuando 'logx' vale 'true', el eje <x> se dibuja en la escala 4456 logarítmica. 4457 4458 Puesto que ésta es una opción global, su posición dentro de la 4459 descripción de la escena no reviste importancia. 4460 4461 Ejemplo: 4462 4463 (%i1) load(draw)$ 4464 (%i2) draw2d(explicit(log(x),x,0.01,5), 4465 logx = true)$ 4466 4467 Véanse también 'logy', 'logx_secondary', 'logy_secondary' y 'logz'. 4468 4469 -- Opción gráfica: logx_secondary 4470 Valor por defecto: 'false' 4471 4472 Si 'logx_secondary' vale 'true', el eje secundario de <x> se dibuja 4473 en la escala logarítmica. 4474 4475 Puesto que ésta es una opción global, su posición dentro de la 4476 descripción de la escena no reviste importancia. 4477 4478 Ejemplo: 4479 4480 (%i1) load(draw)$ 4481 (%i2) draw2d( 4482 grid = true, 4483 key="x^2, linear scale", 4484 color=red, 4485 explicit(x^2,x,1,100), 4486 xaxis_secondary = true, 4487 xtics_secondary = true, 4488 logx_secondary = true, 4489 key = "x^2, logarithmic x scale", 4490 color = blue, 4491 explicit(x^2,x,1,100) )$ 4492 4493 Véanse también 'logx', 'logy', 'logy_secondary' y 'logz'. 4494 4495 -- Opción gráfica: logy 4496 Valor por defecto: 'false' 4497 4498 Cuando 'logy' vale 'true', el eje <y> se dibuja en la escala 4499 logarítmica. 4500 4501 Puesto que ésta es una opción global, su posición dentro de la 4502 descripción de la escena no reviste importancia. 4503 4504 Ejemplo: 4505 4506 (%i1) load(draw)$ 4507 (%i2) draw2d(logy = true, 4508 explicit(exp(x),x,0,5))$ 4509 4510 Véanse también 'logx', 'logx_secondary', 'logy_secondary' y 'logz'. 4511 4512 -- Opción gráfica: logy_secondary 4513 Valor por defecto: 'false' 4514 4515 Si 'logy_secondary' vale 'true', el eje secundario de <y> se dibuja 4516 en la escala logarítmica. 4517 4518 Puesto que ésta es una opción global, su posición dentro de la 4519 descripción de la escena no reviste importancia. 4520 4521 Ejemplo: 4522 4523 (%i1) load(draw)$ 4524 (%i2) draw2d( 4525 grid = true, 4526 key="x^2, linear scale", 4527 color=red, 4528 explicit(x^2,x,1,100), 4529 yaxis_secondary = true, 4530 ytics_secondary = true, 4531 logy_secondary = true, 4532 key = "x^2, logarithmic y scale", 4533 color = blue, 4534 explicit(x^2,x,1,100) )$ 4535 4536 Véanse también 'logx', 'logy', 'logx_secondary' y 'logz'. 4537 4538 -- Opción gráfica: logz 4539 Valor por defecto: 'false' 4540 4541 Cuando 'logz' vale 'true', el eje <z> se dibuja en la escala 4542 logarítmica. 4543 4544 Puesto que ésta es una opción global, su posición dentro de la 4545 descripción de la escena no reviste importancia. 4546 4547 Ejemplo: 4548 4549 (%i1) load(draw)$ 4550 (%i2) draw3d(logz = true, 4551 explicit(exp(u^2+v^2),u,-2,2,v,-2,2))$ 4552 4553 Véanse también 'logx' and 'logy'. 4554 4555 -- Opción gráfica: nticks 4556 Valor por defecto: 29 4557 4558 En 2d, 'nticks' es el número de puntos a utilizar por el programa 4559 adaptativo que genera las funciones explícitas. También es el 4560 número de puntos que se representan en las curvas paramétricas y 4561 polares. 4562 4563 Esta opción afecta a los siguientes objetos gráficos: 4564 * 'gr2d': 'ellipse', 'explicit', 'parametric' y 'polar'. 4565 4566 * 'gr3d': 'parametric'. 4567 4568 Ejemplo: 4569 4570 (%i1) load(draw)$ 4571 (%i2) draw2d(transparent = true, 4572 ellipse(0,0,4,2,0,180), 4573 nticks = 5, 4574 ellipse(0,0,4,2,180,180) )$ 4575 4576 -- Opción gráfica: palette 4577 Valor por defecto: 'color' 4578 4579 'palette' indica cómo transformar niveles de gris en componentes 4580 cromáticas. Trabaja conjuntamente con la opción 'enhanced3d' en 4581 gráficos 3D, la cual asocia cada punto de una superficie con un 4582 número real o nivel de gris. También trabaja con imágenes grises. 4583 Con 'palette', estos niveles se transforman en colores. 4584 4585 Hay dos formas de definir estas transformaciones. 4586 4587 En primer lugar, 'palette' puede ser un vector de longitud tres con 4588 sus componentes tomando valores enteros en el rango desde -36 a 4589 +36; cada valor es un índice para seleccionar una fórmula que 4590 transforma los niveles numéricos en las componentes cromáticas 4591 rojo, verde y azul: 4592 0: 0 1: 0.5 2: 1 4593 3: x 4: x^2 5: x^3 4594 6: x^4 7: sqrt(x) 8: sqrt(sqrt(x)) 4595 9: sin(90x) 10: cos(90x) 11: |x-0.5| 4596 12: (2x-1)^2 13: sin(180x) 14: |cos(180x)| 4597 15: sin(360x) 16: cos(360x) 17: |sin(360x)| 4598 18: |cos(360x)| 19: |sin(720x)| 20: |cos(720x)| 4599 21: 3x 22: 3x-1 23: 3x-2 4600 24: |3x-1| 25: |3x-2| 26: (3x-1)/2 4601 27: (3x-2)/2 28: |(3x-1)/2| 29: |(3x-2)/2| 4602 30: x/0.32-0.78125 31: 2*x-0.84 32: 4x;1;-2x+1.84;x/0.08-11.5 4603 33: |2*x - 0.5| 34: 2*x 35: 2*x - 0.5 4604 36: 2*x - 1 4605 los números negativos se interpretan como colores invertidos de las 4606 componentes cromáticas. 'palette = gray' y 'palette = color' son 4607 atajos para 'palette = [3,3,3]' y 'palette = [7,5,15]', 4608 respectivamente. 4609 4610 En segundo lugar, 'palette' puede ser una paleta de colores 4611 definida por el usuario. En este caso, el formato para crear una 4612 paleta de longitud 'n' es 'palette=[color_1, color_2, ..., 4613 color_n]', donde 'color_i' es un color correctamente definido 4614 (véase la opción 'color'), de tal manera que 'color_1' se asigna al 4615 valor más bajo del nivel y 'color_n' al más alto. El resto de 4616 colores se interpolan. 4617 4618 Puesto que ésta es una opción global, su posición dentro de la 4619 descripción de la escena no reviste importancia. 4620 4621 Ejemplos: 4622 4623 Trabaja conjuntamente con la opción 'enhanced3d' en gráficos 3D. 4624 4625 (%i1) load(draw)$ 4626 (%i2) draw3d( 4627 enhanced3d = [z-x+2*y,x,y,z], 4628 palette = [32, -8, 17], 4629 explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3))$ 4630 4631 También trabaja con imágenes grises. 4632 4633 (%i1) load(draw)$ 4634 (%i2) im: apply( 4635 'matrix, 4636 makelist(makelist(random(200),i,1,30),i,1,30))$ 4637 (%i3) /* palette = color, default */ 4638 draw2d(image(im,0,0,30,30))$ 4639 (%i4) draw2d(palette = gray, image(im,0,0,30,30))$ 4640 (%i5) draw2d(palette = [15,20,-4], 4641 colorbox=false, 4642 image(im,0,0,30,30))$ 4643 4644 'palette' puede ser una paleta de colores definida por el usuario. 4645 En este ejemplo, valores bajos de 'x' se colorean en rojo y altos 4646 en amarillo. 4647 4648 (%i1) load(draw)$ 4649 (%i2) draw3d( 4650 palette = [red, blue, yellow], 4651 enhanced3d = x, 4652 explicit(x^2+y^2,x,-1,1,y,-1,1)) $ 4653 4654 Véase también 'colorbox' y 'enhanced3d'. 4655 4656 -- Opción gráfica: point_size 4657 Valor por defecto: 1 4658 4659 'point_size' establece el tamaño de los puntos dibujados. Debe ser 4660 un número no negativo. 4661 4662 Esta opción no tiene efecto alguno cuando a la opción gráfica 4663 'point_type' se le ha dado el valor 'dot'. 4664 4665 Esta opción afecta a los siguientes objetos gráficos: 4666 * 'gr2d': 'points'. 4667 4668 * 'gr3d': 'points'. 4669 4670 Ejemplo: 4671 4672 (%i1) load(draw)$ 4673 (%i2) draw2d( 4674 points(makelist([random(20),random(50)],k,1,10)), 4675 point_size = 5, 4676 points(makelist(k,k,1,20),makelist(random(30),k,1,20)))$ 4677 4678 -- Opción gráfica: point_type 4679 Valor por defecto: 1 4680 4681 'point_type' indica cómo se van a dibujar los puntos aislados. Los 4682 valores para esta opción pueden ser índices enteros mayores o 4683 iguales que -1, o también nombres de estilos: '$none' (-1), 'dot' 4684 (0), 'plus' (1), 'multiply' (2), 'asterisk' (3), 'square' (4), 4685 'filled_square' (5), 'circle' (6), 'filled_circle' (7), 4686 'up_triangle' (8), 'filled_up_triangle' (9), 'down_triangle' (10), 4687 'filled_down_triangle' (11), 'diamant' (12) y 'filled_diamant' 4688 (13). 4689 4690 Esta opción afecta a los siguientes objetos gráficos: 4691 * 'gr2d': 'points'. 4692 4693 * 'gr3d': 'points'. 4694 4695 Ejemplo: 4696 4697 (%i1) load(draw)$ 4698 (%i2) draw2d(xrange = [0,10], 4699 yrange = [0,10], 4700 point_size = 3, 4701 point_type = diamant, 4702 points([[1,1],[5,1],[9,1]]), 4703 point_type = filled_down_triangle, 4704 points([[1,2],[5,2],[9,2]]), 4705 point_type = asterisk, 4706 points([[1,3],[5,3],[9,3]]), 4707 point_type = filled_diamant, 4708 points([[1,4],[5,4],[9,4]]), 4709 point_type = 5, 4710 points([[1,5],[5,5],[9,5]]), 4711 point_type = 6, 4712 points([[1,6],[5,6],[9,6]]), 4713 point_type = filled_circle, 4714 points([[1,7],[5,7],[9,7]]), 4715 point_type = 8, 4716 points([[1,8],[5,8],[9,8]]), 4717 point_type = filled_diamant, 4718 points([[1,9],[5,9],[9,9]]) )$ 4719 4720 -- Opción gráfica: points_joined 4721 Valor por defecto: 'false' 4722 4723 Cuando 'points_joined' vale 'true', los puntos se unen con 4724 segmentos; si vale 'false', se dibujarán puntos aislados. Un 4725 tercer valor posible para esta opción gráfica es 'impulses'; en tal 4726 caso, se dibujarán segmentos verticales desde los puntos hasta el 4727 eje-x (2D) o hasta el plano-xy (3D). 4728 4729 Esta opción afecta a los siguientes objetos gráficos: 4730 * 'gr2d': 'points'. 4731 4732 * 'gr3d': 'points'. 4733 4734 Ejemplo: 4735 4736 (%i1) load(draw)$ 4737 (%i2) draw2d(xrange = [0,10], 4738 yrange = [0,4], 4739 point_size = 3, 4740 point_type = up_triangle, 4741 color = blue, 4742 points([[1,1],[5,1],[9,1]]), 4743 points_joined = true, 4744 point_type = square, 4745 line_type = dots, 4746 points([[1,2],[5,2],[9,2]]), 4747 point_type = circle, 4748 color = red, 4749 line_width = 7, 4750 points([[1,3],[5,3],[9,3]]) )$ 4751 4752 -- Opción gráfica: proportional_axes 4753 Valor por defecto: 'none' 4754 4755 Cuando 'proportional_axes' es igual a 'xy' o 'xy', una escena 2D o 4756 3D se dibujará con los ejes proporcionales a sus longitudes 4757 relativas. 4758 4759 Puesto que ésta es una opción global, su posición dentro de la 4760 descripción de la escena no reviste importancia. 4761 4762 Esta opción sólo funciona con Gnuplot versión 4.2.6 o superior. 4763 4764 Ejemplos: 4765 4766 Gráfico en 2D. 4767 4768 (%i1) load(draw)$ 4769 (%i2) draw2d( 4770 ellipse(0,0,1,1,0,360), 4771 transparent=true, 4772 color = blue, 4773 line_width = 4, 4774 ellipse(0,0,2,1/2,0,360), 4775 proportional_axes = xy) $ 4776 4777 Multiplot. 4778 4779 (%i1) load(draw)$ 4780 (%i2) draw( 4781 terminal = wxt, 4782 gr2d(proportional_axes = xy, 4783 explicit(x^2,x,0,1)), 4784 gr2d(explicit(x^2,x,0,1), 4785 xrange = [0,1], 4786 yrange = [0,2], 4787 proportional_axes=xy), 4788 gr2d(explicit(x^2,x,0,1)))$ 4789 4790 -- Opción gráfica: surface_hide 4791 Valor por defecto: 'false' 4792 4793 Cuando 'surface_hide' vale 'true', las partes ocultas no se 4794 muestran en las superficies de las escenas 3d. 4795 4796 Puesto que ésta es una opción global, su posición dentro de la 4797 descripción de la escena no reviste importancia. 4798 4799 Ejemplo: 4800 4801 (%i1) load(draw)$ 4802 (%i2) draw(columns=2, 4803 gr3d(explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3)), 4804 gr3d(surface_hide = true, 4805 explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3)) )$ 4806 4807 -- Opción gráfica: terminal 4808 Valor por defecto: 'screen' 4809 4810 Selecciona el terminal a utilizar por Gnuplot; valores posibles 4811 son: 'screen' (por defecto), 'png', 'pngcairo', 'jpg', 'gif', 4812 'eps', 'eps_color', 'epslatex', 'epslatex_standalone', 'svg', 4813 'dumb', 'dumb_file', 'pdf', 'pdfcairo', 'wxt', 'animated_gif', 4814 'multipage_pdfcairo', 'multipage_pdf', 'multipage_eps', 4815 'multipage_eps_color' y 'aquaterm'. 4816 4817 Los terminales 'screen', 'wxt' y 'aquaterm' también se pueden 4818 definir como una lista de dos elementos: el propio nombre del 4819 terminal y un número entero no negativo. De esta forma se pueden 4820 abrir varias ventanas al mismo tiempo, cada una de ellas con su 4821 número correspondiente. Esta modalidad no funciona en plataformas 4822 Windows. 4823 4824 Puesto que ésta es una opción global, su posición dentro de la 4825 descripción de la escena no reviste importancia. También puede 4826 usarse como argumento de la función 'draw'. 4827 4828 pdfcairo necesita Gnuplot 4.3. 'pdf' necesita que Gnuplot haya 4829 sido compilado con la opción '--enable-pdf' y libpdf debe estar 4830 instalado 4831 (<http://www.pdflib.com/en/download/pdflib-family/pdflib-lite/>). 4832 4833 Ejemplos: 4834 4835 (%i1) load(draw)$ 4836 (%i2) /* screen terminal (default) */ 4837 draw2d(explicit(x^2,x,-1,1))$ 4838 (%i3) /* png file */ 4839 draw2d(terminal = 'png, 4840 explicit(x^2,x,-1,1))$ 4841 (%i4) /* jpg file */ 4842 draw2d(terminal = 'jpg, 4843 dimensions = [300,300], 4844 explicit(x^2,x,-1,1))$ 4845 (%i5) /* eps file */ 4846 draw2d(file_name = "myfile", 4847 explicit(x^2,x,-1,1), 4848 terminal = 'eps)$ 4849 (%i6) /* pdf file */ 4850 draw2d(file_name = "mypdf", 4851 dimensions = 100*[12.0,8.0], 4852 explicit(x^2,x,-1,1), 4853 terminal = 'pdf)$ 4854 (%i7) /* wxwidgets window */ 4855 draw2d(explicit(x^2,x,-1,1), 4856 terminal = 'wxt)$ 4857 4858 Ventanas múltiples. 4859 (%i1) load(draw)$ 4860 (%i2) draw2d(explicit(x^5,x,-2,2), terminal=[screen, 3])$ 4861 (%i3) draw2d(explicit(x^2,x,-2,2), terminal=[screen, 0])$ 4862 4863 Un fichero gif animado. 4864 (%i1) load(draw)$ 4865 (%i2) draw( 4866 delay = 100, 4867 file_name = "zzz", 4868 terminal = 'animated_gif, 4869 gr2d(explicit(x^2,x,-1,1)), 4870 gr2d(explicit(x^3,x,-1,1)), 4871 gr2d(explicit(x^4,x,-1,1))); 4872 End of animation sequence 4873 (%o2) [gr2d(explicit), gr2d(explicit), gr2d(explicit)] 4874 4875 La opción 'delay' sólo se activa en caso de gifs animados; se 4876 ignora en cualquier otro caso. 4877 4878 Salida multipágina en formato eps. 4879 (%i1) load(draw)$ 4880 (%i2) draw( 4881 file_name = "parabol", 4882 terminal = multipage_eps, 4883 dimensions = 100*[10,10], 4884 gr2d(explicit(x^2,x,-1,1)), 4885 gr3d(explicit(x^2+y^2,x,-1,1,y,-1,1))) $ 4886 4887 Véanse también 'file_name', 'pic_width', 'pic_height' y 'delay'. 4888 4889 -- Opción gráfica: title 4890 Valor por defecto: '""' (cadena vacía) 4891 4892 La opción 'title' almacena una cadena con el título de la escena. 4893 Por defecto, no se escribe título alguno. 4894 4895 Puesto que ésta es una opción global, su posición dentro de la 4896 descripción de la escena no reviste importancia. 4897 4898 Ejemplo: 4899 4900 (%i1) load(draw)$ 4901 (%i2) draw2d(explicit(exp(u),u,-2,2), 4902 title = "Exponential function")$ 4903 4904 -- Opción gráfica: transform 4905 Valor por defecto: 'none' 4906 4907 Si 'transform' vale 'none', el espacio no sufre transformación 4908 alguna y los objetos gráficos se representan tal cual se definen. 4909 Si es necesario transformar el espacio, se debe asignar una lista a 4910 la opción 'transform'. En caso de una escena 2D, la lista toma la 4911 forma '[f1(x,y), f2(x,y), x, y]'. En caso de una escena 3D, la 4912 lista debe ser de la forma '[f1(x,y,z), f2(x,y,z), f3(x,y,z), x, y, 4913 z]'. 4914 4915 Los nombres de las variables definidas en las listas pueden ser 4916 diferentes de aquellas utilizadas en las definiciones de los 4917 objetos gráficos. 4918 4919 Ejemplos: 4920 4921 Rotación en 2D. 4922 4923 (%i1) load(draw)$ 4924 (%i2) th : %pi / 4$ 4925 (%i3) draw2d( 4926 color = "#e245f0", 4927 proportional_axes = 'xy, 4928 line_width = 8, 4929 triangle([3,2],[7,2],[5,5]), 4930 border = false, 4931 fill_color = yellow, 4932 transform = [cos(th)*x - sin(th)*y, 4933 sin(th)*x + cos(th)*y, x, y], 4934 triangle([3,2],[7,2],[5,5]) )$ 4935 4936 Traslación en 3D. 4937 4938 (%i1) load(draw)$ 4939 (%i2) draw3d( 4940 color = "#a02c00", 4941 explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3), 4942 transform = [x+10,y+10,z+10,x,y,z], 4943 color = blue, 4944 explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3) )$ 4945 4946 -- Opción gráfica: transparent 4947 Valor por defecto: 'false' 4948 4949 Cuando 'transparent' vale 'false', las regiones internas de los 4950 polígonos se rellenan de acuerdo con 'fill_color'. 4951 4952 Esta opción afecta a los siguientes objetos gráficos: 4953 * 'gr2d': 'polygon', 'rectangle' y 'ellipse'. 4954 4955 Ejemplo: 4956 4957 (%i1) load(draw)$ 4958 (%i2) draw2d(polygon([[3,2],[7,2],[5,5]]), 4959 transparent = true, 4960 color = blue, 4961 polygon([[5,2],[9,2],[7,5]]) )$ 4962 4963 -- Opción gráfica: unit_vectors 4964 Valor por defecto: 'false' 4965 4966 Cuando 'unit_vectors' vale 'true', los vectores se dibujan con 4967 módulo unidad. Esta opción es útil para representar campos 4968 vectoriales. Cuando 'unit_vectors' vale 'false', los vectores se 4969 dibujan con su longitud original. 4970 4971 Esta opción sólo es relevante para objetos de tipo 'vector'. 4972 4973 Ejemplo: 4974 4975 (%i1) load(draw)$ 4976 (%i2) draw2d(xrange = [-1,6], 4977 yrange = [-1,6], 4978 head_length = 0.1, 4979 vector([0,0],[5,2]), 4980 unit_vectors = true, 4981 color = red, 4982 vector([0,3],[5,2]))$ 4983 4984 -- Opción gráfica: user_preamble 4985 Valor por defecto: '""' (cadena vacía) 4986 4987 Usuarios expertos en Gnuplot pueden hacer uso de esta opción para 4988 afinar el comportamiento de Gnuplot escribiendo código que será 4989 enviado justo antes de la instrucción 'plot' o 'splot'. 4990 4991 El valor dado a esta opción debe ser una cadena alfanumérica o una 4992 lista de cadenas (una por línea). 4993 4994 Puesto que ésta es una opción global, su posición dentro de la 4995 descripción de la escena no reviste importancia. 4996 4997 Ejemplo: 4998 4999 Se le indica a Gnuplot que dibuje los ejes encima de todos los 5000 demás objetos, 5001 (%i1) load(draw)$ 5002 (%i2) draw2d( 5003 xaxis =true, xaxis_type=solid, 5004 yaxis =true, yaxis_type=solid, 5005 user_preamble="set grid front", 5006 region(x^2+y^2<1 ,x,-1.5,1.5,y,-1.5,1.5))$ 5007 5008 -- Opción gráfica: view 5009 Valor por defecto: '[60,30]' 5010 5011 Un par de ángulos, medidos en grados, indicando la dirección del 5012 observador en una escena 3D. El primer ángulo es la rotación 5013 vertical alrededor del eje <x>, dentro del intervalo [0, 360]. El 5014 segundo es la rotación horizontal alrededor del eje <z>, dentro del 5015 intervalo [0, 360]. 5016 5017 Dándole a la opción 'view' el valor 'map', la dirección del 5018 observador se sitúa perpendicularmente al plano-xy. 5019 5020 Puesto que ésta es una opción global, su posición dentro de la 5021 descripción de la escena no reviste importancia. 5022 5023 Ejemplo: 5024 5025 (%i1) load(draw)$ 5026 (%i2) draw3d(view = [170, 50], 5027 enhanced3d = true, 5028 explicit(sin(x^2+y^2),x,-2,2,y,-2,2) )$ 5029 (%i3) draw3d(view = map, 5030 enhanced3d = true, 5031 explicit(sin(x^2+y^2),x,-2,2,y,-2,2) )$ 5032 5033 -- Opción gráfica: wired_surface 5034 Valor por defecto: 'false' 5035 5036 Indica si las superficies en 3D en modo 'enhanced3d' deben mostrar 5037 o no la malla que unen los puntos. 5038 5039 Puesto que ésta es una opción global, su posición dentro de la 5040 descripción de la escena no reviste importancia. 5041 5042 Ejemplo: 5043 5044 (%i1) load(draw)$ 5045 (%i2) draw3d( 5046 enhanced3d = [sin(x),x,y], 5047 wired_surface = true, 5048 explicit(x^2+y^2,x,-1,1,y,-1,1)) $ 5049 5050 -- Opción gráfica: x_voxel 5051 Valor por defecto: 10 5052 5053 'x_voxel' es el número de voxels en la dirección x a utilizar por 5054 el algoritmo marching cubes implementado por el objeto 'implicit' 5055 tridimensional. También se utiliza como opción del objeto gráfico 5056 'region'. 5057 5058 -- Opción gráfica: xaxis 5059 Valor por defecto: 'false' 5060 5061 Si 'xaxis' vale 'true', se dibujará el eje <x>. 5062 5063 Puesto que ésta es una opción global, su posición dentro de la 5064 descripción de la escena no reviste importancia. 5065 5066 Ejemplo: 5067 5068 (%i1) load(draw)$ 5069 (%i2) draw2d(explicit(x^3,x,-1,1), 5070 xaxis = true, 5071 xaxis_color = blue)$ 5072 5073 Véanse también 'xaxis_width', 'xaxis_type' y 'xaxis_color'. 5074 5075 -- Opción gráfica: xaxis_color 5076 Valor por defecto: '"black"' 5077 5078 'xaxis_color' especifica el color para el eje <x>. Véase 'color' 5079 para ver cómo se definen los colores. 5080 5081 Puesto que ésta es una opción global, su posición dentro de la 5082 descripción de la escena no reviste importancia. 5083 5084 Ejemplo: 5085 5086 (%i1) load(draw)$ 5087 (%i2) draw2d(explicit(x^3,x,-1,1), 5088 xaxis = true, 5089 xaxis_color = red)$ 5090 5091 Véanse también 'xaxis', 'xaxis_width' y 'xaxis_type'. 5092 5093 -- Opción gráfica: xaxis_secondary 5094 Valor por defecto: 'false' 5095 5096 Si 'xaxis_secondary' vale 'true', los valores de las funciones se 5097 pueden representar respecto del eje <x> secundario, el cual se 5098 dibuja en la parte superior de la escena. 5099 5100 Nótese que esta es una opción gráfica local que sólo afecta a 5101 objetos 2d. 5102 5103 Ejemplo: 5104 5105 (%i1) load(draw)$ 5106 (%i2) draw2d( 5107 key = "Bottom x-axis", 5108 explicit(x+1,x,1,2), 5109 color = red, 5110 key = "Above x-axis", 5111 xtics_secondary = true, 5112 xaxis_secondary = true, 5113 explicit(x^2,x,-1,1)) $ 5114 5115 Véanse también 'xrange_secondary', 'xtics_secondary', 5116 'xtics_rotate_secondary', 'xtics_axis_secondary' y 5117 'xaxis_secondary'. 5118 5119 -- Opción gráfica: xaxis_type 5120 Valor por defecto: 'dots' 5121 5122 'xaxis_type' indica cómo se debe dibujar el eje <x>; valores 5123 admisibles son 'solid' y 'dots'. 5124 5125 Puesto que ésta es una opción global, su posición dentro de la 5126 descripción de la escena no reviste importancia. 5127 5128 Ejemplo: 5129 5130 (%i1) load(draw)$ 5131 (%i2) draw2d(explicit(x^3,x,-1,1), 5132 xaxis = true, 5133 xaxis_type = solid)$ 5134 5135 Véanse también 'xaxis', 'xaxis_width' y 'xaxis_color'. 5136 5137 -- Opción gráfica: xaxis_width 5138 Valor por defecto: 1 5139 5140 'xaxis_width' es el ancho del eje <x>. Su valor debe ser un número 5141 positivo. 5142 5143 Puesto que ésta es una opción global, su posición dentro de la 5144 descripción de la escena no reviste importancia. 5145 5146 Ejemplo: 5147 5148 (%i1) load(draw)$ 5149 (%i2) draw2d(explicit(x^3,x,-1,1), 5150 xaxis = true, 5151 xaxis_width = 3)$ 5152 5153 Véanse también 'xaxis', 'xaxis_type' y 'xaxis_color'. 5154 5155 -- Opción gráfica: xlabel 5156 Valor por defecto: '""' 5157 5158 La opción 'xlabel' almacena una cadena con la etiqueta del eje <x>. 5159 Por defecto, el eje tiene etiqueta '"x"'. 5160 5161 Puesto que ésta es una opción global, su posición dentro de la 5162 descripción de la escena no reviste importancia. 5163 5164 Ejemplo: 5165 5166 (%i1) load(draw)$ 5167 (%i2) draw2d(xlabel = "Time", 5168 explicit(exp(u),u,-2,2), 5169 ylabel = "Population")$ 5170 5171 Véanse también 'xlabel_secondary', 'ylabel', 'ylabel_secondary' y 5172 'zlabel'. 5173 5174 -- Opción gráfica: xlabel_secondary 5175 Valor por defecto: '""' (cadena vacía) 5176 5177 La opción 'xlabel_secondary' almacena una cadena con la etiqueta 5178 del eje <x> secundario. Por defecto, el eje no tiene etiqueta. 5179 5180 Puesto que ésta es una opción global, su posición dentro de la 5181 descripción de la escena no reviste importancia. 5182 5183 Ejemplo: 5184 5185 (%i1) load(draw)$ 5186 (%i2) draw2d( 5187 xaxis_secondary=true,yaxis_secondary=true, 5188 xtics_secondary=true,ytics_secondary=true, 5189 xlabel_secondary="t[s]", 5190 ylabel_secondary="U[V]", 5191 explicit(sin(t),t,0,10) )$ 5192 5193 Véanse también 'xlabel', 'ylabel', 'ylabel_secondary' y 'zlabel'. 5194 5195 -- Opción gráfica: xrange 5196 Valor por defecto: 'auto' 5197 5198 Cuando 'xrange' vale 'auto', el rango de la coordenada <x> se 5199 calcula de forma automática. 5200 5201 Si el usuario quiere especificar un intervalo para <x>, éste debe 5202 expresarse como una lista de Maxima, como en 'xrange=[-2, 3]'. 5203 5204 Puesto que ésta es una opción global, su posición dentro de la 5205 descripción de la escena no reviste importancia. 5206 5207 Ejemplo: 5208 5209 (%i1) load(draw)$ 5210 (%i2) draw2d(xrange = [-3,5], 5211 explicit(x^2,x,-1,1))$ 5212 5213 Véanse también 'yrange' y 'zrange'. 5214 5215 -- Opción gráfica: xrange_secondary 5216 Valor por defecto: 'auto' 5217 5218 Cuando 'xrange_secondary' vale 'auto', el rango del eje <x> 5219 secundario se calcula de forma automática. 5220 5221 Si el usuario quiere especificar un intervalo para el eje <x> 5222 secundario, éste debe expresarse como una lista de Maxima, como en 5223 'xrange_secondary=[-2, 3]'. 5224 5225 Puesto que ésta es una opción global, su posición dentro de la 5226 descripción de la escena no reviste importancia. 5227 5228 Véanse también 'xrange', 'yrange', 'zrange' y 'yrange_secondary'. 5229 5230 -- Opción gráfica: xtics 5231 Valor por defecto: 'true' 5232 5233 Esta opción gráfica controla la forma en la que se dibujarán las 5234 marcas del eje <x>. 5235 5236 * Cuando a 'xtics' se le da el valor <true>, las marcas se 5237 dibujarán de forma automática. 5238 5239 * Cuando a 'xtics' se le da el valor <false>, no habrá marcas en 5240 los ejes. 5241 5242 * Cuando a 'xtics' se le da un valor numérico positivo, se 5243 interpretará como la distancia entre dos marcas consecutivas. 5244 5245 * Cuando a 'xtics' se le da una lista de longitud tres de la 5246 forma '[start,incr,end]', las marcas se dibujarán desde 5247 'start' hasta 'end' a intervalos de longitud 'incr'. 5248 5249 * Cuando a 'xtics' se le da un conjunto de números de la forma 5250 '{n1, n2, ...}', las marcas se dibujarán exactamente en los 5251 valores 'n1', 'n2', ... 5252 5253 * Cuando a 'xtics' se le da un conjunto de pares de la forma 5254 '{["label1", n1], ["label2", n2], ...}', las marcas 5255 correspondientes a los valores 'n1', 'n2', ... se etiquetarán 5256 con '"label1"', '"label2"', ..., respectivamente. 5257 5258 Puesto que ésta es una opción global, su posición dentro de la 5259 descripción de la escena no reviste importancia. 5260 5261 Ejemplos: 5262 5263 Marcas desactivadas. 5264 (%i1) load(draw)$ 5265 (%i2) draw2d(xtics = 'false, 5266 explicit(x^3,x,-1,1) )$ 5267 5268 Marcas cada 1/4 unidades. 5269 (%i1) load(draw)$ 5270 (%i2) draw2d(xtics = 1/4, 5271 explicit(x^3,x,-1,1) )$ 5272 5273 Marcas desde -3/4 hasta 3/4 en saltos de 1/8. 5274 (%i1) load(draw)$ 5275 (%i2) draw2d(xtics = [-3/4,1/8,3/4], 5276 explicit(x^3,x,-1,1) )$ 5277 5278 Marcas en los puntos -1/2, -1/4 y 3/4. 5279 (%i1) load(draw)$ 5280 (%i2) draw2d(xtics = {-1/2,-1/4,3/4}, 5281 explicit(x^3,x,-1,1) )$ 5282 5283 Marcas etiquetadas. 5284 (%i1) load(draw)$ 5285 (%i2) draw2d(xtics = {["High",0.75],["Medium",0],["Low",-0.75]}, 5286 explicit(x^3,x,-1,1) )$ 5287 5288 -- Opción gráfica: xtics_axis 5289 Valor por defecto: 'false' 5290 5291 Si 'xtics_axis' vale 'true', las marcas y sus etiquetas se dibujan 5292 sobre el propio eje <x>, si vale 'false' las marcas se colocan a lo 5293 largo del borde del gráfico. 5294 5295 Puesto que ésta es una opción global, su posición dentro de la 5296 descripción de la escena no reviste importancia. 5297 5298 -- Opción gráfica: xtics_rotate 5299 Valor por defecto: 'false' 5300 5301 Si 'xtics_rotate' vale 'true', las marcas del eje <x> se giran 90 5302 grados. 5303 5304 Puesto que ésta es una opción global, su posición dentro de la 5305 descripción de la escena no reviste importancia. 5306 5307 -- Opción gráfica: xtics_rotate_secondary 5308 Valor por defecto: 'false' 5309 5310 Si 'xtics_rotate_secondary' vale 'true', las marcas del eje <x> 5311 secundario se giran 90 grados. 5312 5313 Puesto que ésta es una opción global, su posición dentro de la 5314 descripción de la escena no reviste importancia. 5315 5316 -- Opción gráfica: xtics_secondary 5317 Valor por defecto: 'auto' 5318 5319 Esta opción gráfica controla la forma en la que se dibujarán las 5320 marcas del eje <x> secundario. 5321 5322 Véase 'xtics' para una descripción completa. 5323 5324 -- Opción gráfica: xtics_secondary_axis 5325 Valor por defecto: 'false' 5326 5327 Si 'xtics_secondary_axis' vale 'true', las marcas y sus etiquetas 5328 se dibujan sobre el propio eje <x> secundario, si vale 'false' las 5329 marcas se colocan a lo largo del borde del gráfico. 5330 5331 Puesto que ésta es una opción global, su posición dentro de la 5332 descripción de la escena no reviste importancia. 5333 5334 -- Opción gráfica: xu_grid 5335 Valor por defecto: 30 5336 5337 'xu_grid' es el número de coordenadas de la primera variable ('x' 5338 en superficies explcítas y 'u' en las paramétricas) para formar la 5339 rejilla de puntos muestrales. 5340 5341 Esta opción afecta a los siguientes objetos gráficos: 5342 * 'gr3d': 'explicit' y 'parametric_surface'. 5343 5344 Ejemplo: 5345 5346 (%i1) load(draw)$ 5347 (%i2) draw3d(xu_grid = 10, 5348 yv_grid = 50, 5349 explicit(x^2+y^2,x,-3,3,y,-3,3) )$ 5350 5351 Véase también 'yv_grid'. 5352 5353 -- Opción gráfica: xy_file 5354 Valor por defecto: '""' (cadena vacía) 5355 5356 'xy_file' es el nombre del fichero donde se almacenarán las 5357 coordenadas después de hacer clic con el botón del ratón en un 5358 punto de la imagen y pulsado la tecla 'x'. Por defecto, las 5359 coordenadas no se almacenan. 5360 5361 Puesto que ésta es una opción global, su posición dentro de la 5362 descripción de la escena no reviste importancia. 5363 5364 -- Graphic option: xyplane 5365 Valor por defecto: 'false' 5366 5367 Coloca el plano-xy en escenas 3D. Si 'xyplane' vale 'false', el 5368 plano-xy se coloca automáticamente; en cambio, si toma un valor 5369 real, el plano-xy intersectará con el eje <z> a ese nivel. Esta 5370 opción no tiene efecto alguno en escenas 2D. 5371 5372 Puesto que ésta es una opción global, su posición dentro de la 5373 descripción de la escena no reviste importancia. 5374 5375 Ejemplo: 5376 5377 (%i1) load(draw)$ 5378 (%i2) draw3d(xyplane = %e-2, 5379 explicit(x^2+y^2,x,-1,1,y,-1,1))$ 5380 5381 -- Opción gráfica: y_voxel 5382 Valor por defecto: 10 5383 5384 'y_voxel' es el número de voxels en la dirección y a utilizar por 5385 el algoritmo marching cubes implementado por el objeto 'implicit' 5386 tridimensional. También se utiliza como opción del objeto gráfico 5387 'region'. 5388 5389 -- Opción gráfica: yaxis 5390 Valor por defecto: 'false' 5391 5392 Si 'yaxis' vale 'true', se dibujará el eje <y>. 5393 5394 Puesto que ésta es una opción global, su posición dentro de la 5395 descripción de la escena no reviste importancia. 5396 5397 Ejemplo: 5398 5399 (%i1) load(draw)$ 5400 (%i2) draw2d(explicit(x^3,x,-1,1), 5401 yaxis = true, 5402 yaxis_color = blue)$ 5403 5404 Véanse también 'yaxis_width', 'yaxis_type' y 'yaxis_color'. 5405 5406 -- Opción gráfica: yaxis_color 5407 Valor por defecto: '"black"' 5408 5409 'yaxis_color' especifica el color para el eje <y>. Véase 'color' 5410 para ver cómo se definen los colores. 5411 5412 Puesto que ésta es una opción global, su posición dentro de la 5413 descripción de la escena no reviste importancia. 5414 5415 Ejemplo: 5416 5417 (%i1) load(draw)$ 5418 (%i2) draw2d(explicit(x^3,x,-1,1), 5419 yaxis = true, 5420 yaxis_color = red)$ 5421 5422 Véanse también 'yaxis', 'yaxis_width' y 'yaxis_type'. 5423 5424 -- Opción gráfica: yaxis_secondary 5425 Valor por defecto: 'false' 5426 5427 Si 'yaxis_secondary' vale 'true', los valores de las funciones se 5428 pueden representar respecto del eje <y> secundario, el cual se 5429 dibuja al lado derecho de la escena. 5430 5431 Nótese que esta es una opción gráfica local que sólo afecta a 5432 objetos 2d. 5433 5434 Ejemplo: 5435 5436 (%i1) load(draw)$ 5437 (%i2) draw2d( 5438 explicit(sin(x),x,0,10), 5439 yaxis_secondary = true, 5440 ytics_secondary = true, 5441 color = blue, 5442 explicit(100*sin(x+0.1)+2,x,0,10)); 5443 5444 Véanse también 'yrange_secondary', 'ytics_secondary', 5445 'ytics_rotate_secondary' y 'ytics_axis_secondary'. 5446 5447 -- Opción gráfica: yaxis_type 5448 Valor por defecto: 'dots' 5449 5450 'yaxis_type' indica cómo se debe dibujar el eje <y>; valores 5451 admisibles son 'solid' y 'dots'. 5452 5453 Puesto que ésta es una opción global, su posición dentro de la 5454 descripción de la escena no reviste importancia. 5455 5456 Ejemplo: 5457 5458 (%i1) load(draw)$ 5459 (%i2) draw2d(explicit(x^3,x,-1,1), 5460 yaxis = true, 5461 yaxis_type = solid)$ 5462 5463 Véanse también 'yaxis', 'yaxis_width' y 'yaxis_color'. 5464 5465 -- Opción gráfica: yaxis_width 5466 Valor por defecto: 1 5467 5468 'yaxis_width' es el ancho del eje <y>. Su valor debe ser un número 5469 positivo. 5470 5471 Puesto que ésta es una opción global, su posición dentro de la 5472 descripción de la escena no reviste importancia. 5473 5474 Ejemplo: 5475 5476 (%i1) load(draw)$ 5477 (%i2) draw2d(explicit(x^3,x,-1,1), 5478 yaxis = true, 5479 yaxis_width = 3)$ 5480 5481 Véanse también 'yaxis', 'yaxis_type' y 'yaxis_color'. 5482 5483 -- Opción gráfica: ylabel 5484 Valor por defecto: '""' 5485 5486 La opción 'ylabel' almacena una cadena con la etiqueta del eje <y>. 5487 Por defecto, el eje tiene etiqueta '"y"'. 5488 5489 Puesto que ésta es una opción global, su posición dentro de la 5490 descripción de la escena no reviste importancia. 5491 5492 Ejemplo: 5493 5494 (%i1) load(draw)$ 5495 (%i2) draw2d(xlabel = "Time", 5496 ylabel = "Population", 5497 explicit(exp(u),u,-2,2) )$ 5498 5499 Véanse también 'xlabel', 'xlabel_secondary', 'ylabel_secondary' y 5500 'zlabel'. 5501 5502 -- Opción gráfica: ylabel_secondary 5503 Valor por defecto: '""' (cadena vacía) 5504 5505 La opción 'ylabel_secondary' almacena una cadena con la etiqueta 5506 del eje <y> secundario. Por defecto, el eje no tiene etiqueta. 5507 5508 Puesto que ésta es una opción global, su posición dentro de la 5509 descripción de la escena no reviste importancia. 5510 5511 Ejemplo: 5512 5513 (%i1) load(draw)$ 5514 (%i2) draw2d( 5515 key="current", 5516 xlabel="t[s]", 5517 ylabel="I[A]",ylabel_secondary="P[W]", 5518 explicit(sin(t),t,0,10), 5519 yaxis_secondary=true, 5520 ytics_secondary=true, 5521 color=red,key="Power", 5522 explicit((sin(t))^2,t,0,10) 5523 )$ 5524 5525 Véanse también 'xlabel', 'xlabel_secondary', 'ylabel' and 'zlabel'. 5526 5527 -- Opción gráfica: yrange 5528 Valor por defecto: 'auto' 5529 5530 Cuando 'yrange' vale 'auto', el rango de la coordenada <y> se 5531 calcula de forma automática. 5532 5533 Si el usuario quiere especificar un intervalo para <y>, éste debe 5534 expresarse como una lista de Maxima, como en 'yrange=[-2, 3]'. 5535 5536 Puesto que ésta es una opción global, su posición dentro de la 5537 descripción de la escena no reviste importancia. 5538 5539 Ejemplo: 5540 5541 (%i1) load(draw)$ 5542 (%i2) draw2d(yrange = [-2,3], 5543 explicit(x^2,x,-1,1), 5544 xrange = [-3,3])$ 5545 5546 Véanse también 'xrange' y 'zrange'. 5547 5548 -- Opción gráfica: yrange_secondary 5549 Valor por defecto: 'auto' 5550 5551 Cuando 'yrange_secondary' vale 'auto', el rango del eje <y> 5552 secundario se calcula de forma automática. 5553 5554 Si el usuario quiere especificar un intervalo para el eje <y> 5555 secundario, éste debe expresarse como una lista de Maxima, como en 5556 'yrange_secondary=[-2, 3]'. 5557 5558 Puesto que ésta es una opción global, su posición dentro de la 5559 descripción de la escena no reviste importancia. 5560 5561 Ejemplo: 5562 5563 (%i1) load(draw)$ 5564 (%i2) draw2d( 5565 explicit(sin(x),x,0,10), 5566 yaxis_secondary = true, 5567 ytics_secondary = true, 5568 yrange = [-3, 3], 5569 yrange_secondary = [-20, 20], 5570 color = blue, 5571 explicit(100*sin(x+0.1)+2,x,0,10)) $ 5572 5573 Véanse también 'xrange', 'yrange' y 'zrange'. 5574 5575 -- Opción gráfica: ytics 5576 Valor por defecto: 'true' 5577 5578 Esta opción gráfica controla la forma en la que se dibujarán las 5579 marcas del eje <y>. 5580 5581 Véase 'xtics' para una descripción completa. 5582 5583 -- Opción gráfica: ytics_axis 5584 Valor por defecto: 'false' 5585 5586 Si 'ytics_axis' vale 'true', las marcas y sus etiquetas se dibujan 5587 sobre el propio eje <y>, si vale 'false' las marcas se colocan a lo 5588 largo del borde del gráfico. 5589 5590 Puesto que ésta es una opción global, su posición dentro de la 5591 descripción de la escena no reviste importancia. 5592 5593 -- Opción gráfica: ytics_rotate 5594 Valor por defecto: 'false' 5595 5596 Si 'ytics_rotate' vale 'true', las marcas del eje <y> se giran 90 5597 grados. 5598 5599 Puesto que ésta es una opción global, su posición dentro de la 5600 descripción de la escena no reviste importancia. 5601 5602 -- Opción gráfica: ytics_rotate_secondary 5603 Valor por defecto: 'false' 5604 5605 Si 'ytics_rotate_secondary' vale 'true', las marcas del eje <y> 5606 secundario se giran 90 grados. 5607 5608 Puesto que ésta es una opción global, su posición dentro de la 5609 descripción de la escena no reviste importancia. 5610 5611 -- Opción gráfica: ytics_secondary 5612 Valor por defecto: 'auto' 5613 5614 Esta opción gráfica controla la forma en la que se dibujarán las 5615 marcas del eje <y> secundario. 5616 5617 Véase 'xtics' para una descripción completa. 5618 5619 -- Opción gráfica: ytics_secondary_axis 5620 Valor por defecto: 'false' 5621 5622 Si 'ytics_secondary_axis' vale 'true', las marcas y sus etiquetas 5623 se dibujan sobre el propio eje <y> secundario, si vale 'false' las 5624 marcas se colocan a lo largo del borde del gráfico. 5625 5626 Puesto que ésta es una opción global, su posición dentro de la 5627 descripción de la escena no reviste importancia. 5628 5629 -- Opción gráfica: yv_grid 5630 Valor por defecto: 30 5631 5632 'yv_grid' es el número de coordenadas de la segunda variable ('y' 5633 en superficies explcítas y 'v' en las paramétricas) para formar la 5634 rejilla de puntos muestrales. 5635 5636 Esta opción afecta a los siguientes objetos gráficos: 5637 * 'gr3d': 'explicit' y 'parametric_surface'. 5638 5639 Ejemplo: 5640 5641 (%i1) load(draw)$ 5642 (%i2) draw3d(xu_grid = 10, 5643 yv_grid = 50, 5644 explicit(x^2+y^2,x,-3,3,y,-3,3) )$ 5645 5646 Véase también 'xu_grid'. 5647 5648 -- Opción gráfica: z_voxel 5649 Valor por defecto: 10 5650 5651 'z_voxel' es el número de voxels en la dirección z a utilizar por 5652 el algoritmo marching cubes implementado por el objeto 'implicit' 5653 tridimensional. 5654 5655 -- Opción gráfica: zaxis 5656 Valor por defecto: 'false' 5657 5658 Si 'zaxis' vale 'true', se dibujará el eje <z> en escenas 3D. Esta 5659 opción no tiene efecto alguno en escenas 2D. 5660 5661 Puesto que ésta es una opción global, su posición dentro de la 5662 descripción de la escena no reviste importancia. 5663 5664 Ejemplo: 5665 5666 (%i1) load(draw)$ 5667 (%i2) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1), 5668 zaxis = true, 5669 zaxis_type = solid, 5670 zaxis_color = blue)$ 5671 5672 Véanse también 'zaxis_width', 'zaxis_type' y 'zaxis_color'. 5673 5674 -- Opción gráfica: zaxis_color 5675 Valor por defecto: '"black"' 5676 5677 'zaxis_color' especifica el color para el eje <z>. Véase 'color' 5678 para ver cómo se definen los colores. Esta opción no tiene efecto 5679 alguno en escenas 2D. 5680 5681 Puesto que ésta es una opción global, su posición dentro de la 5682 descripción de la escena no reviste importancia. 5683 5684 Ejemplo: 5685 5686 (%i1) load(draw)$ 5687 (%i2) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1), 5688 zaxis = true, 5689 zaxis_type = solid, 5690 zaxis_color = red)$ 5691 5692 Véanse también 'zaxis', 'zaxis_width' y 'zaxis_type'. 5693 5694 -- Opción gráfica: zaxis_type 5695 Valor por defecto: 'dots' 5696 5697 'zaxis_type' indica cómo se debe dibujar el eje <z>; valores 5698 admisibles son 'solid' y 'dots'. Esta opción no tiene efecto 5699 alguno en escenas 2D. 5700 5701 Puesto que ésta es una opción global, su posición dentro de la 5702 descripción de la escena no reviste importancia. 5703 5704 Ejemplo: 5705 5706 (%i1) load(draw)$ 5707 (%i2) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1), 5708 zaxis = true, 5709 zaxis_type = solid)$ 5710 5711 Véanse también 'zaxis', 'zaxis_width' y 'zaxis_color'. 5712 5713 -- Opción gráfica: zaxis_width 5714 Valor por defecto: 1 5715 5716 'zaxis_width' es el ancho del eje <z>. Su valor debe ser un número 5717 positivo. Esta opción no tiene efecto alguno en escenas 2D. 5718 5719 Puesto que ésta es una opción global, su posición dentro de la 5720 descripción de la escena no reviste importancia. 5721 5722 Ejemplo: 5723 5724 (%i1) load(draw)$ 5725 (%i2) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1), 5726 zaxis = true, 5727 zaxis_type = solid, 5728 zaxis_width = 3)$ 5729 5730 Véanse también 'zaxis', 'zaxis_type' y 'zaxis_color'. 5731 5732 -- Opción gráfica: zlabel 5733 Valor por defecto: '""' 5734 5735 La opción 'zlabel' almacena una cadena con la etiqueta del eje <z>. 5736 Por defecto, el eje tiene etiqueta '"z"'. 5737 5738 Puesto que ésta es una opción global, su posición dentro de la 5739 descripción de la escena no reviste importancia. 5740 5741 Ejemplo: 5742 5743 (%i1) load(draw)$ 5744 (%i2) draw3d(zlabel = "Z variable", 5745 ylabel = "Y variable", 5746 explicit(sin(x^2+y^2),x,-2,2,y,-2,2), 5747 xlabel = "X variable" )$ 5748 5749 Véanse también 'xlabel' y 'ylabel'. 5750 5751 -- Opción gráfica: zrange 5752 Valor por defecto: 'auto' 5753 5754 Cuando 'zrange' vale 'auto', el rango de la coordenada <z> se 5755 calcula de forma automática. 5756 5757 Si el usuario quiere especificar un intervalo para <z>, éste debe 5758 expresarse como una lista de Maxima, como en 'zrange=[-2, 3]'. 5759 5760 Puesto que ésta es una opción global, su posición dentro de la 5761 descripción de la escena no reviste importancia. 5762 5763 Ejemplo: 5764 5765 (%i1) load(draw)$ 5766 (%i2) draw3d(yrange = [-3,3], 5767 zrange = [-2,5], 5768 explicit(x^2+y^2,x,-1,1,y,-1,1), 5769 xrange = [-3,3])$ 5770 5771 Véanse también 'xrange' y 'yrange'. 5772 5773 -- Opción gráfica: ztics 5774 Valor por defecto: 'true' 5775 5776 Esta opción gráfica controla la forma en la que se dibujarán las 5777 marcas del eje <z>. 5778 5779 Véase 'xtics' para una descripción completa. 5780 5781 -- Opción gráfica: ztics_axis 5782 Valor por defecto: 'false' 5783 5784 Si 'ztics_axis' vale 'true', las marcas y sus etiquetas se dibujan 5785 sobre el propio eje <z>, si vale 'false' las marcas se colocan a lo 5786 largo del borde del gráfico. 5787 5788 Puesto que ésta es una opción global, su posición dentro de la 5789 descripción de la escena no reviste importancia. 5790 5791 -- Opción gráfica: ztics_rotate 5792 Valor por defecto: 'false' 5793 5794 Si 'ztics_rotate' vale 'true', las marcas del eje <z> se giran 90 5795 grados. 5796 5797 Puesto que ésta es una opción global, su posición dentro de la 5798 descripción de la escena no reviste importancia. 5799 580047.2.4 Objetos gráficos 5801----------------------- 5802 5803 -- Objeto gráfico: bars ([<x1>,<h1>,<w1>], [<x2>,<h2>,<w2>, ...]) 5804 Dibuja barras verticales en 2D. 5805 5806 2D 5807 5808 'bars ([<x1>,<h1>,<w1>], [<x2>,<h2>,<w2>, ...])' dibuja barras 5809 centradas en los valores <x1>, <x2>, ... de alturas <h1>, <h2>, 5810 ... y anchos <w1>, <w2>, ... 5811 5812 Este objeto se ve afectado por las siguientes opciones gráficas: 5813 'key', 'fill_color', 'fill_density' y 'line_width'. 5814 5815 Ejemplo: 5816 5817 (%i1) load(draw)$ 5818 (%i2) draw2d( 5819 key = "Grupo A", 5820 fill_color = blue, 5821 fill_density = 0.2, 5822 bars([0.8,5,0.4],[1.8,7,0.4],[2.8,-4,0.4]), 5823 key = "Grupo B", 5824 fill_color = red, 5825 fill_density = 0.6, 5826 line_width = 4, 5827 bars([1.2,4,0.4],[2.2,-2,0.4],[3.2,5,0.4]), 5828 xaxis = true); 5829 5830 -- Objeto gráfico: cylindrical 5831 (<radius>,<z>,<minz>,<maxz>,<azi>,<minazi>,<maxazi>) 5832 Dibuja funciones 3D definidas en coordenadas cilíndricas. 5833 5834 3D 5835 5836 'cylindrical (<radius>,<z>,<minz>,<maxz>,<azi>,<minazi>,<maxazi>)' 5837 dibuja la función '<radius>(<z>,<azi>)' definida en coordenadas 5838 cilíndricas, con la variable <z> tomando valores desde <minz> hasta 5839 <maxz> y el azimut <azi> tomando valores desde <minazi> hasta 5840 <maxazi>. 5841 5842 Este objeto se ve afectado por las siguientes opciones gráficas: 5843 'xu_grid', 'yv_grid', 'line_type', 'key', 'wired_surface', 5844 'enhanced3d' y 'color'. 5845 5846 Ejemplo: 5847 5848 (%i1) load(draw)$ 5849 (%i2) draw3d(cylindrical(1,z,-2,2,az,0,2*%pi))$ 5850 5851 -- Objeto gráfico: elevation_grid (<mat>,<x0>,<y0>,<width>,<height>) 5852 Dibuja la matriz <mat> en 3D. Los valores <z> se toman de <mat>, 5853 las abscisas van desde <x0> hasta <x0> + <width> y las ordenadas 5854 desde <y0> hasta <y0> + <height>. El elemento a(1,1) se proyecta 5855 sobre el punto (x0,y0+height), a(1,n) sobre (x0+width,y0+height), 5856 a(m,1) sobre (x0,y0) y a(m,n) sobre (x0+width,y0). 5857 5858 Este objeto se ve afectado por las siguientes opciones gráficas: 5859 'line_type', 'line_width', 'key', 'wired_surface', 'enhanced3d' y 5860 'color'. 5861 5862 En versiones antiguas de Maxima, 'elevation_grid' se llamaba 5863 'mesh'. Véase también 'mesh'. 5864 5865 Ejemplo: 5866 5867 (%i1) load(draw)$ 5868 (%i2) m: apply( 5869 matrix, 5870 makelist(makelist(random(10.0),k,1,30),i,1,20)) $ 5871 (%i3) draw3d( 5872 color = blue, 5873 elevation_grid(m,0,0,3,2), 5874 xlabel = "x", 5875 ylabel = "y", 5876 surface_hide = true); 5877 5878 -- Objeto gráfico: ellipse (<xc>, <yc>, <a>, <b>, <ang1>, <ang2>) 5879 Dibuja elipses y círculos en 2D. 5880 5881 2D 5882 5883 'ellipse (<xc>, <yc>, <a>, <b>, <ang1>, <ang2>)' dibuja una elipse 5884 de centro '[<xc>, <yc>]' con semiejes horizontal y vertical <a> y 5885 <b>, respectivamente, comenzando en el ángulo <ang1> y trazando un 5886 arco de amplitud igual al ángulo <ang2>. 5887 5888 Este objeto se ve afectado por las siguientes opciones gráficas: 5889 'nticks', 'transparent', 'fill_color', 'border', 'line_width', 5890 'line_type', 'key' y 'color'. 5891 5892 Ejemplo: 5893 5894 (%i1) load(draw)$ 5895 (%i2) draw2d(transparent = false, 5896 fill_color = red, 5897 color = gray30, 5898 transparent = false, 5899 line_width = 5, 5900 ellipse(0,6,3,2,270,-270), 5901 /* center (x,y), a, b, start & end in degrees */ 5902 transparent = true, 5903 color = blue, 5904 line_width = 3, 5905 ellipse(2.5,6,2,3,30,-90), 5906 xrange = [-3,6], 5907 yrange = [2,9] )$ 5908 5909 -- Objeto gráfico: errors ([<x1>,<x2>,...], [<y1>,<y2>,...]) 5910 Dibuja puntos con barras de error asociadas horizontales, 5911 verticales o de ambos tipos, según sea el valor de la opción 5912 'error_type'. 5913 5914 2D 5915 5916 Si 'error_type=x', los argumentos a 'errors' deben ser de la forma 5917 '[x,y,xdelta]' o '[x,y,xlow,xhigh]'. Si 'error_type=y', los 5918 argumentos deben ser del tipo '[x,y,ydelta]' o '[x,y,ylow,yhigh]'. 5919 Si 'error_type=xy' o 'error_type=boxes', los argumentos deben ser 5920 de la forma '[x,y,xdelta,ydelta]' o '[x,y,xlow,xhigh,ylow,yhigh]'. 5921 5922 Véase también 'error_type'. 5923 5924 Este objeto se ve afectado por las siguientes opciones gráficas: 5925 'error_type', 'points_joined', 'line_width', 'key', 'line_type', 5926 'color', 'fill_density', 'xaxis_secondary' y 'yaxis_secondary'. 5927 5928 La opción 'fill_density' solo es relevante cuando 5929 'error_type=boxes'. 5930 5931 Ejemplos: 5932 5933 Barras de error horizontales. 5934 5935 (%i1) load(draw)$ 5936 (%i2) draw2d( 5937 error_type = y, 5938 errors([[1,2,1], [3,5,3], [10,3,1], [17,6,2]]))$ 5939 5940 Barras de error horizontales y verticales. 5941 5942 (%i1) load(draw)$ 5943 (%i2) draw2d( 5944 error_type = xy, 5945 points_joined = true, 5946 color = blue, 5947 errors([[1,2,1,2], [3,5,2,1], [10,3,1,1], [17,6,1/2,2]])); 5948 5949 -- Objeto gráfico: explicit (<fcn>,<var>,<minval>,<maxval>) 5950 -- Objeto gráfico: explicit 5951 (<fcn>,<var1>,<minval1>,<maxval1>,<var2>,<minval2>,<maxval2>) 5952 Dibuja funciones explícitas en 2D y 3D. 5953 5954 2D 5955 5956 'explicit (<fcn>,<var>,<minval>,<maxval>)' dibuja la función 5957 explícita <fcn>, con la variable <var> tomando valores desde 5958 <minval> hasta <maxval>. 5959 5960 Este objeto se ve afectado por las siguientes opciones gráficas: 5961 'nticks', 'adapt_depth', 'draw_realpart', 'line_width', 5962 'line_type', 'key', 'filled_func', 'fill_color' y 'color'. 5963 5964 Ejemplo: 5965 5966 (%i1) load(draw)$ 5967 (%i2) draw2d(line_width = 3, 5968 color = blue, 5969 explicit(x^2,x,-3,3) )$ 5970 (%i3) draw2d(fill_color = brown, 5971 filled_func = true, 5972 explicit(x^2,x,-3,3) )$ 5973 5974 3D 5975 5976 'explicit 5977 (<fcn>,<var1>,<minval1>,<maxval1>,<var2>,<minval2>,<maxval2>)' 5978 dibuja la función explícita <fcn>, con la variable 'var1' tomando 5979 valores desde <minval1> hasta <maxval1> y la variable <var2> 5980 tomando valores desde <minval2> hasta <maxval2>. 5981 5982 Este objeto se ve afectado por las siguientes opciones gráficas: 5983 'draw_realpart', 'xu_grid', 'yv_grid', 'line_type', 'line_width', 5984 'key', 'wired_surface', 'enhanced3d' y 'color'. 5985 5986 Ejemplo: 5987 5988 (%i1) load(draw)$ 5989 (%i2) draw3d(key = "Gauss", 5990 color = "#a02c00", 5991 explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3), 5992 yv_grid = 10, 5993 color = blue, 5994 key = "Plane", 5995 explicit(x+y,x,-5,5,y,-5,5), 5996 surface_hide = true)$ 5997 5998 Véase también 'filled_func' para el relleno de curvas. 5999 6000 -- Objeto gráfico: image (<im>,<x0>,<y0>,<width>,<height>) 6001 Reproduce una imagen en 2D. 6002 6003 2D 6004 6005 'image (<im>,<x0>,<y0>,<width>,<height>)': dibuja la imagen <im> en 6006 la región rectangular desde el vértice '(<x0>,<y0>)' hasta el 6007 '(x0+<width>,y0+<height>)' del plano real. El argumento <im> debe 6008 ser una matriz de números reales, una matriz de vectores de 6009 longitud tres o un objeto de tipo 'picture'. 6010 6011 Si <im> es una matriz de números reales, los valores de los píxeles 6012 se interpretan según indique la opción gráfica 'palette', que es un 6013 vector de longitud tres con sus componentes tomando valores enteros 6014 en el rango desde -36 a +36; cada valor es un índice para 6015 seleccionar una fórmula que transforma los niveles numéricos en las 6016 componentes cromáticas rojo, verde y azul: 6017 0: 0 1: 0.5 2: 1 6018 3: x 4: x^2 5: x^3 6019 6: x^4 7: sqrt(x) 8: sqrt(sqrt(x)) 6020 9: sin(90x) 10: cos(90x) 11: |x-0.5| 6021 12: (2x-1)^2 13: sin(180x) 14: |cos(180x)| 6022 15: sin(360x) 16: cos(360x) 17: |sin(360x)| 6023 18: |cos(360x)| 19: |sin(720x)| 20: |cos(720x)| 6024 21: 3x 22: 3x-1 23: 3x-2 6025 24: |3x-1| 25: |3x-2| 26: (3x-1)/2 6026 27: (3x-2)/2 28: |(3x-1)/2| 29: |(3x-2)/2| 6027 30: x/0.32-0.78125 31: 2*x-0.84 6028 32: 4x;1;-2x+1.84;x/0.08-11.5 6029 33: |2*x - 0.5| 34: 2*x 35: 2*x - 0.5 6030 36: 2*x - 1 6031 los números negativos se interpretan como colores invertidos de las 6032 componentes cromáticas. 6033 6034 'palette = gray' y 'palette = color' son atajos para 'palette = 6035 [3,3,3]' y 'palette = [7,5,15]', respectivamente. 6036 6037 Si <im> es una matriz de vectores de longitud tres, éstos se 6038 interpretarán como las componentes cromáticas rojo, verde y azul. 6039 6040 Ejemplos: 6041 6042 Si <im> es una matriz de números reales, los valores de los píxeles 6043 se interpretan según indique la opción gráfica 'palette'. 6044 (%i1) load(draw)$ 6045 (%i2) im: apply( 6046 'matrix, 6047 makelist(makelist(random(200),i,1,30),i,1,30))$ 6048 (%i3) /* palette = color, default */ 6049 draw2d(image(im,0,0,30,30))$ 6050 (%i4) draw2d(palette = gray, image(im,0,0,30,30))$ 6051 (%i5) draw2d(palette = [15,20,-4], 6052 colorbox=false, 6053 image(im,0,0,30,30))$ 6054 6055 Véase también 'colorbox'. 6056 6057 Si <im> es una matriz de vectores de longitud tres, éstos se 6058 interpretarán como las componentes cromáticas rojo, verde y azul. 6059 (%i1) load(draw)$ 6060 (%i2) im: apply( 6061 'matrix, 6062 makelist( 6063 makelist([random(300), 6064 random(300), 6065 random(300)],i,1,30),i,1,30))$ 6066 (%i3) draw2d(image(im,0,0,30,30))$ 6067 6068 El paquete 'draw' carga automáticamente el paquete 'picture'. En 6069 este ejemplo, una imagen de niveles se define a mano, 6070 reproduciéndola a continuación. 6071 (%i1) load(draw)$ 6072 (%i2) im: make_level_picture([45,87,2,134,204,16],3,2); 6073 (%o2) picture(level, 3, 2, {Array: #(45 87 2 134 204 16)}) 6074 (%i3) /* default color palette */ 6075 draw2d(image(im,0,0,30,30))$ 6076 (%i4) /* gray palette */ 6077 draw2d(palette = gray, 6078 image(im,0,0,30,30))$ 6079 6080 Se lee un fichero xpm y se reproduce. 6081 (%i1) load(draw)$ 6082 (%i2) im: read_xpm("myfile.xpm")$ 6083 (%i3) draw2d(image(im,0,0,10,7))$ 6084 6085 Véanse también 'make_level_picture', 'make_rgb_picture' y 6086 'read_xpm'. 6087 6088 En <http://www.telefonica.net/web2/biomates/maxima/gpdraw/image> se 6089 encuentran ejemplos más elaborados. 6090 6091 -- Objeto gráfico: implicit (<fcn>,<x>,<xmin>,<xmax>,<y>,<ymin>,<ymax>) 6092 -- Objeto gráfico: implicit 6093 (<fcn>,<x>,<xmin>,<xmax>,<y>,<ymin>,<ymax>,<z>,<zmin>,<zmax>) 6094 Dibuja funciones implícitas en 2D y 3D. 6095 6096 2D 6097 6098 'implicit (<fcn>,<x>,<xmin>,<xmax>,<y>,<ymin>,<ymax>)' dibuja la 6099 función implícita <fcn>, con la variable 'x' tomando valores desde 6100 <xmin> hasta <xmax>, y la variable <y> tomando valores desde <ymin> 6101 hasta <ymax>. 6102 6103 Este objeto se ve afectado por las siguientes opciones gráficas: 6104 'ip_grid', 'ip_grid_in', 'line_width', 'line_type', 'key' y 6105 'color'. 6106 6107 Ejemplo: 6108 6109 (%i1) load(draw)$ 6110 (%i2) draw2d(terminal = eps, 6111 grid = true, 6112 line_type = solid, 6113 key = "y^2=x^3-2*x+1", 6114 implicit(y^2=x^3-2*x+1, x, -4,4, y, -4,4), 6115 line_type = dots, 6116 key = "x^3+y^3 = 3*x*y^2-x-1", 6117 implicit(x^3+y^3 = 3*x*y^2-x-1, x,-4,4, y,-4,4), 6118 title = "Two implicit functions" )$ 6119 6120 3D 6121 6122 'implicit (<fcn>,<x>,<xmin>,<xmax>, <y>,<ymin>,<ymax>, 6123 <z>,<zmin>,<zmax>)' dibuja la función implícita <fcn>, con la 6124 variable <x> tomando valores desde <xmin> hasta <xmax>, la variable 6125 <y> tomando valores desde <ymin> hasta <ymax> y la variable <z> 6126 tomando valores desde <zmin> hasta <zmax>. Este objeto está 6127 programado con el algoritmo marching cubes. 6128 6129 Este objeto se ve afectado por las siguientes opciones gráficas: 6130 'x_voxel', 'y_voxel', 'z_voxel', 'line_width', 'line_type', 'key', 6131 'wired_surface', 'enhanced3d' y 'color'. 6132 6133 Ejemplo: 6134 6135 (%i1) load(draw)$ 6136 (%i2) draw3d( 6137 color=blue, 6138 implicit((x^2+y^2+z^2-1)*(x^2+(y-1.5)^2+z^2-0.5)=0.015, 6139 x,-1,1,y,-1.2,2.3,z,-1,1), 6140 surface_hide=true); 6141 6142 -- Objeto gráfico: label ([<string>,<x>,<y>],...) 6143 -- Objeto gráfico: label ([<string>,<x>,<y>,<z>],...) 6144 Escribe etiquetas en 2D y 3D. 6145 6146 Las etiquetas coloreadas sólo trabajan con Gnuplot 4.3. Este es un 6147 fallo conocido del paquete 'draw'. 6148 6149 Este objeto se ve afectado por las siguientes opciones gráficas: 6150 'label_alignment', 'label_orientation' y 'color'. 6151 6152 2D 6153 6154 'label([<string>,<x>,<y>])' escribe la cadena de caracteres 6155 <string> en el punto '[<x>,<y>]'. 6156 6157 Ejemplo: 6158 6159 (%i1) load(draw)$ 6160 (%i2) draw2d(yrange = [0.1,1.4], 6161 color = red, 6162 label(["Label in red",0,0.3]), 6163 color = "#0000ff", 6164 label(["Label in blue",0,0.6]), 6165 color = light_blue, 6166 label(["Label in light-blue",0,0.9], 6167 ["Another light-blue",0,1.2]) )$ 6168 6169 3D 6170 6171 'label([<string>,<x>,<y>,<z>])' escribe la cadena de caracteres 6172 <string> en el punto '[<x>,<y>,<z>]'. 6173 6174 Ejemplo: 6175 6176 (%i1) load(draw)$ 6177 (%i2) draw3d(explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3), 6178 color = red, 6179 label(["UP 1",-2,0,3], ["UP 2",1.5,0,4]), 6180 color = blue, 6181 label(["DOWN 1",2,0,-3]) )$ 6182 6183 -- Objeto gráfico: mesh (<fila_1>,<fila_2>,...) 6184 Dibuja un enrejado cuadrangular en 3D. 6185 6186 3D 6187 6188 El argumento <fila_i> es una lista de <n> puntos en 3D de la forma 6189 '[[x_i1,y_i1,z_i1], ...,[x_in,y_in,z_in]]', siendo todas las filas 6190 de igual longitud. Todos estos puntos definen una superficie 6191 arbitraria en 3D. En cierto sentido, se trata de una generalización 6192 del objeto 'elevation_grid'. 6193 6194 Este objeto se ve afectado por las siguientes opciones gráficas: 6195 'line_type', 'line_width', 'color', 'key', 'wired_surface', 6196 'enhanced3d' y 'transform'. 6197 6198 Ejemplos: 6199 6200 Un sencillo ejemplo. 6201 6202 (%i1) load(draw)$ 6203 (%i2) draw3d( 6204 mesh([[1,1,3], [7,3,1],[12,-2,4],[15,0,5]], 6205 [[2,7,8], [4,3,1],[10,5,8], [12,7,1]], 6206 [[-2,11,10],[6,9,5],[6,15,1], [20,15,2]])) $ 6207 6208 Dibujando un triángulo en 3D. 6209 6210 (%i1) load(draw)$ 6211 (%i2) draw3d( 6212 line_width = 2, 6213 mesh([[1,0,0],[0,1,0]], 6214 [[0,0,1],[0,0,1]])) $ 6215 6216 Dos cuadriláteros. 6217 6218 (%i1) load(draw)$ 6219 (%i2) draw3d( 6220 surface_hide = true, 6221 line_width = 3, 6222 color = red, 6223 mesh([[0,0,0], [0,1,0]], 6224 [[2,0,2], [2,2,2]]), 6225 color = blue, 6226 mesh([[0,0,2], [0,1,2]], 6227 [[2,0,4], [2,2,4]])) $ 6228 6229 -- Objeto gráfico: parametric (<xfun>,<yfun>,<par>,<parmin>,<parmax>) 6230 -- Objeto gráfico: parametric 6231 (<xfun>,<yfun>,<zfun>,<par>,<parmin>,<parmax>) 6232 Dibuja funciones paramétricas en 2D y 3D. 6233 6234 Este objeto se ve afectado por las siguientes opciones gráficas: 6235 'nticks', 'line_width', 'line_type', 'key', 'color' y 'enhanced3d'. 6236 6237 2D 6238 6239 'parametric (<xfun>,<yfun>,<par>,<parmin>,<parmax>)' dibuja la 6240 función paramétrica '[<xfun>,<yfun>]', con el parámetro <par> 6241 tomando valores desde <parmin> hasta <parmax>. 6242 6243 Ejemplo: 6244 6245 (%i1) load(draw)$ 6246 (%i2) draw2d(explicit(exp(x),x,-1,3), 6247 color = red, 6248 key = "This is the parametric one!!", 6249 parametric(2*cos(rrr),rrr^2,rrr,0,2*%pi))$ 6250 6251 3D 6252 6253 'parametric (<xfun>,<yfun>,<zfun>,<par>,<parmin>,<parmax>)' dibuja 6254 la curva paramétrica '[<xfun>,<yfun>,<zfun>]', con el parámetro 6255 <par> tomando valores desde <parmin> hasta <parmax>. 6256 6257 Ejemplo: 6258 6259 (%i1) load(draw)$ 6260 (%i2) draw3d(explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3), 6261 color = royalblue, 6262 parametric(cos(5*u)^2,sin(7*u),u-2,u,0,2), 6263 color = turquoise, 6264 line_width = 2, 6265 parametric(t^2,sin(t),2+t,t,0,2), 6266 surface_hide = true, 6267 title = "Surface & curves" )$ 6268 6269 -- Objeto gráfico: parametric_surface 6270 (<xfun>,<yfun>,<zfun>,<par1>,<par1min>,<par1max>,<par2>,<par2min>,<par2max>) 6271 Dibuja superficies paramétricas en 3D. 6272 6273 3D 6274 6275 'parametric_surface 6276 (<xfun>,<yfun>,<zfun>,<par1>,<par1min>,<par1max>,<par2>,<par2min>,<par2max>)' 6277 dibuja la superficie paramétrica '[<xfun>,<yfun>,<zfun>]', con el 6278 parámetro <par1> tomando valores desde <par1min> hasta <par1max> y 6279 el parámetro <par2> tomando valores desde <par2min> hasta 6280 <par2max>. 6281 6282 Este objeto se ve afectado por las siguientes opciones gráficas: 6283 'draw_realpart', 'xu_grid', 'yv_grid', 'line_type', 'line_width', 6284 'key', 'wired_surface', 'enhanced3d' y 'color'. 6285 6286 Ejemplo: 6287 6288 (%i1) load(draw)$ 6289 (%i2) draw3d(title = "Sea shell", 6290 xu_grid = 100, 6291 yv_grid = 25, 6292 view = [100,20], 6293 surface_hide = true, 6294 parametric_surface(0.5*u*cos(u)*(cos(v)+1), 6295 0.5*u*sin(u)*(cos(v)+1), 6296 u*sin(v) - ((u+3)/8*%pi)^2 - 20, 6297 u, 0, 13*%pi, v, -%pi, %pi) )$ 6298 6299 -- Objeto gráfico: points ([[<x1>,<y1>], [<x2>,<y2>],...]) 6300 -- Objeto gráfico: points ([<x1>,<x2>,...], [<y1>,<y2>,...]) 6301 -- Objeto gráfico: points ([<y1>,<y2>,...]) 6302 -- Objeto gráfico: points ([[<x1>,<y1>,<z1>], [<x2>,<y2>,<z2>],...]) 6303 -- Objeto gráfico: points ([<x1>,<x2>,...], [<y1>,<y2>,...], 6304 [<z1>,<z2>,...]) 6305 -- Objeto gráfico: points (<matrix>) 6306 -- Objeto gráfico: points (<1d_y_array>) 6307 -- Objeto gráfico: points (<1d_x_array>, <1d_y_array>) 6308 -- Objeto gráfico: points (<1d_x_array>, <1d_y_array>, <1d_z_array>) 6309 -- Objeto gráfico: points (<2d_xy_array>) 6310 -- Objeto gráfico: points (<2d_xyz_array>) 6311 6312 Dibuja puntos en 2D y 3D. 6313 6314 Este objeto se ve afectado por las siguientes opciones gráficas: 6315 'point_size', 'point_type', 'points_joined', 'line_width', 'key', 6316 'line_type' y 'color'. En modo 3D también se ve afectado por 6317 'enhanced3d'. 6318 6319 2D 6320 6321 'points ([[<x1>,<y1>], [<x2>,<y2>],...])' o 'points 6322 ([<x1>,<x2>,...], [<y1>,<y2>,...])' dibuja los puntos 6323 '[<x1>,<y1>]', '[<x2>,<y2>]', etc. Si no se dan las abscisas, 6324 éstas se asignan automáticamente a enteros positivos consecutivos, 6325 de forma que 'points([<y1>,<y2>,...])' dibuja los puntos 6326 '[1,<y1>]', '[2,<y2>]', etc. Si <matrix> es una matriz de dos 6327 columnas o de dos filas, 'points (<matrix>)' dibuja los puntos 6328 asociados. 6329 6330 Si <1d_y_array> es un array lisp de números en 1D, 'points 6331 (<1d_y_array>)' los dibujará asignando las abscisas a números 6332 enteros consecutivos. 'points (<1d_x_array>, <1d_y_array>)' dibuja 6333 los puntos cuyas coordenadas se toman de los dos arrays pasados 6334 como argumentos. Si <2d_xy_array> es un array lisp 2D de dos 6335 filas, o de dos columnas, 'points (<2d_xy_array>)' dibuja los 6336 correspondientes puntos del plano. 6337 6338 Ejemplos: 6339 6340 Dos tipos de argumentos para 'points', una lista de pares ordenados 6341 y dos listas con las coordenadas separadas. 6342 (%i1) load(draw)$ 6343 (%i2) draw2d( 6344 key = "Small points", 6345 points(makelist([random(20),random(50)],k,1,10)), 6346 point_type = circle, 6347 point_size = 3, 6348 points_joined = true, 6349 key = "Great points", 6350 points(makelist(k,k,1,20),makelist(random(30),k,1,20)), 6351 point_type = filled_down_triangle, 6352 key = "Automatic abscissas", 6353 color = red, 6354 points([2,12,8]))$ 6355 6356 Dibujando impulsos. 6357 (%i1) load(draw)$ 6358 (%i2) draw2d( 6359 points_joined = impulses, 6360 line_width = 2, 6361 color = red, 6362 points(makelist([random(20),random(50)],k,1,10)))$ 6363 6364 Array con ordenadas. 6365 (%i1) load(draw)$ 6366 (%i2) a: make_array (flonum, 100) $ 6367 (%i3) for i:0 thru 99 do a[i]: random(1.0) $ 6368 (%i4) draw2d(points(a)) $ 6369 6370 Dos arrays con coordenadas separadas. 6371 (%i1) load(draw)$ 6372 (%i2) x: make_array (flonum, 100) $ 6373 (%i3) y: make_array (fixnum, 100) $ 6374 (%i4) for i:0 thru 99 do ( 6375 x[i]: float(i/100), 6376 y[i]: random(10) ) $ 6377 (%i5) draw2d(points(x, y)) $ 6378 6379 Un array 2D de dos columnas. 6380 (%i1) load(draw)$ 6381 (%i2) xy: make_array(flonum, 100, 2) $ 6382 (%i3) for i:0 thru 99 do ( 6383 xy[i, 0]: float(i/100), 6384 xy[i, 1]: random(10) ) $ 6385 (%i4) draw2d(points(xy)) $ 6386 6387 Dibujando un array rellenado con la función 'read_array'. 6388 (%i1) load(draw)$ 6389 (%i2) a: make_array(flonum,100) $ 6390 (%i3) read_array (file_search ("pidigits.data"), a) $ 6391 (%i4) draw2d(points(a)) $ 6392 6393 3D 6394 6395 'points ([[<x1>,<y1>,<z1>], [<x2>,<y2>,<z2>],...])' o 'points 6396 ([<x1>,<x2>,...], [<y1>,<y2>,...], [<z1>,<z2>,...])' dibuja los 6397 puntos '[<x1>,<y1>,<z1>]', '[<x2>,<y2>,<z2>]', etc. Si <matrix> es 6398 una matriz de tres columnas o de tres filas, 'points (<matrix>)' 6399 dibuja los puntos asociados. Si <matrix> es una matriz columna o 6400 fila, las abscisas se asignan automáticamente. 6401 6402 En caso de que los argumentos sean arrays lisp, 'points 6403 (<1d_x_array>, <1d_y_array>, <1d_z_array>)' toma las coordenadas de 6404 los tres arrays unidimensionales. Si <2d_xyz_array> es un array 2D 6405 de tres columnas, o de tres filas, entonces 'points 6406 (<2d_xyz_array>)' dibuja los puntos correspondientes. 6407 6408 Ejemplos: 6409 6410 Una muestra tridimensional, 6411 (%i1) load(draw)$ 6412 (%i2) load (numericalio)$ 6413 (%i3) s2 : read_matrix (file_search ("wind.data"))$ 6414 (%i4) draw3d(title = "Daily average wind speeds", 6415 point_size = 2, 6416 points(args(submatrix (s2, 4, 5))) )$ 6417 6418 Dos muestras tridimensionales, 6419 (%i1) load(draw)$ 6420 (%i2) load (numericalio)$ 6421 (%i3) s2 : read_matrix (file_search ("wind.data"))$ 6422 (%i4) draw3d( 6423 title = "Daily average wind speeds. Two data sets", 6424 point_size = 2, 6425 key = "Sample from stations 1, 2 and 3", 6426 points(args(submatrix (s2, 4, 5))), 6427 point_type = 4, 6428 key = "Sample from stations 1, 4 and 5", 6429 points(args(submatrix (s2, 2, 3))) )$ 6430 6431 Arrays unidimensionales, 6432 (%i1) load(draw)$ 6433 (%i2) x: make_array (fixnum, 10) $ 6434 (%i3) y: make_array (fixnum, 10) $ 6435 (%i4) z: make_array (fixnum, 10) $ 6436 (%i5) for i:0 thru 9 do ( 6437 x[i]: random(10), 6438 y[i]: random(10), 6439 z[i]: random(10) ) $ 6440 (%i6) draw3d(points(x,y,z)) $ 6441 6442 Array bidimensional coloreado, 6443 (%i1) load(draw)$ 6444 (%i2) xyz: make_array(fixnum, 10, 3) $ 6445 (%i3) for i:0 thru 9 do ( 6446 xyz[i, 0]: random(10), 6447 xyz[i, 1]: random(10), 6448 xyz[i, 2]: random(10) ) $ 6449 (%i4) draw3d( 6450 enhanced3d = true, 6451 points_joined = true, 6452 points(xyz)) $ 6453 6454 Números de colores especificados explícitamente por el usuario. 6455 (%i1) load(draw)$ 6456 (%i2) pts: makelist([t,t^2,cos(t)], t, 0, 15)$ 6457 (%i3) col_num: makelist(k, k, 1, length(pts))$ 6458 (%i4) draw3d( 6459 enhanced3d = ['part(col_num,k),k], 6460 point_size = 3, 6461 point_type = filled_circle, 6462 points(pts))$ 6463 6464 -- Objeto gráfico: polar (<radius>,<ang>,<minang>,<maxang>) 6465 Dibuja funciones 2D definidas en coordenadas polares. 6466 6467 2D 6468 6469 'polar (<radius>,<ang>,<minang>,<maxang>)' dibuja la función 6470 '<radius>(<ang>)' definida en coordenadas polares, con la variable 6471 <ang> tomando valores desde <minang> hasta <maxang>. 6472 6473 Este objeto se ve afectado por las siguientes opciones gráficas: 6474 'nticks', 'line_width', 'line_type', 'key' y 'color'. 6475 6476 Ejemplo: 6477 6478 (%i1) load(draw)$ 6479 (%i2) draw2d(user_preamble = "set grid polar", 6480 nticks = 200, 6481 xrange = [-5,5], 6482 yrange = [-5,5], 6483 color = blue, 6484 line_width = 3, 6485 title = "Hyperbolic Spiral", 6486 polar(10/theta,theta,1,10*%pi) )$ 6487 6488 -- Objeto gráfico: polygon ([[<x1>,<y1>], [<x2>,<y2>],...]) 6489 -- Objeto gráfico: polygon ([<x1>,<x2>,...], [<y1>,<y2>,...]) 6490 Dibuja polígonos en 2D. 6491 6492 2D 6493 6494 'polygon ([[<x1>,<y1>], [<x2>,<y2>],...])' o 'polygon 6495 ([<x1>,<x2>,...], [<y1>,<y2>,...])': dibuja en el plano un polígono 6496 de vértices '[<x1>,<y1>]', '[<x2>,<y2>]', etc.. 6497 6498 Este objeto se ve afectado por las siguientes opciones gráficas: 6499 'transparent', 'fill_color', 'border', 'line_width', 'key', 6500 'line_type' y 'color'. 6501 6502 Ejemplo: 6503 6504 (%i1) load(draw)$ 6505 (%i2) draw2d(color = "#e245f0", 6506 line_width = 8, 6507 polygon([[3,2],[7,2],[5,5]]), 6508 border = false, 6509 fill_color = yellow, 6510 polygon([[5,2],[9,2],[7,5]]) )$ 6511 6512 -- Objeto gráfico: quadrilateral (<point_1>, <point_2>, <point_3>, 6513 <point_4>) 6514 Dibuja un cuadrilátero. 6515 6516 2D 6517 6518 'quadrilateral ([<x1>,<y1>], [<x2>,<y2>], [<x3>,<y3>], 6519 [<x4>,<y4>])' dibuja un cuadrilátero de vértices '[<x1>,<y1>]', 6520 '[<x2>,<y2>]', '[<x3>,<y3>]' y '[<x4>,<y4>]'. 6521 6522 Este objeto se ve afectado por las siguientes opciones gráficas: 6523 'transparent', 'fill_color', 'border', 'line_width', 'key', 6524 'xaxis_secondary', 'yaxis_secondary', 'line_type', 'transform' y 6525 'color'. 6526 6527 Ejemplo: 6528 6529 (%i1) load(draw)$ 6530 (%i2) draw2d( 6531 quadrilateral([1,1],[2,2],[3,-1],[2,-2]))$ 6532 6533 3D 6534 6535 'quadrilateral ([<x1>,<y1>,<z1>], [<x2>,<y2>,<z2>], 6536 [<x3>,<y3>,<z3>], [<x4>,<y4>,<z4>])' dibuja un cuadrilátero de 6537 vértices '[<x1>,<y1>,<z1>]', '[<x2>,<y2>,<z2>]', '[<x3>,<y3>,<z3>]' 6538 y '[<x4>,<y4>,<z4>]'. 6539 6540 Este objeto se ve afectado por las siguientes opciones gráficas: 6541 'line_type', 'line_width', 'color', 'key', 'enhanced3d' y 6542 'transform'. 6543 6544 -- Objeto gráfico: rectangle ([<x1>,<y1>], [<x2>,<y2>]) 6545 Dibuja rectángulos en 2D. 6546 6547 2D 6548 6549 'rectangle ([<x1>,<y1>], [<x2>,<y2>])' dibuja un rectángulo de 6550 vértices opuestos '[<x1>,<y1>]' y '[<x2>,<y2>]'. 6551 6552 Este objeto se ve afectado por las siguientes opciones gráficas: 6553 'transparent', 'fill_color', 'border', 'line_width', 'key', 6554 'line_type' y 'color'. 6555 6556 Ejemplo: 6557 6558 (%i1) load(draw)$ 6559 (%i2) draw2d(fill_color = red, 6560 line_width = 6, 6561 line_type = dots, 6562 transparent = false, 6563 fill_color = blue, 6564 rectangle([-2,-2],[8,-1]), /* opposite vertices */ 6565 transparent = true, 6566 line_type = solid, 6567 line_width = 1, 6568 rectangle([9,4],[2,-1.5]), 6569 xrange = [-3,10], 6570 yrange = [-3,4.5] )$ 6571 6572 -- Objeto gráfico: region 6573 (<expr>,<var1>,<minval1>,<maxval1>,<var2>,<minval2>,<maxval2>) 6574 Dibuja una región del plano definida por desigualdades. 6575 6576 2D <expr> es una expresión formada por desigualdades y los 6577 operadores lógicos 'and', 'or' y 'not'. La región está acotada por 6578 el rectángulo definido por [<minval1>, <maxval1>] y [<minval2>, 6579 <maxval2>]. 6580 6581 Este objeto se ve afectado por las siguientes opciones gráficas: 6582 'fill_color', 'key', 'x_voxel' y 'y_voxel'. 6583 6584 Ejemplo: 6585 6586 (%i1) load(draw)$ 6587 (%i2) draw2d( 6588 x_voxel = 30, 6589 y_voxel = 30, 6590 region(x^2+y^2<1 and x^2+y^2 > 1/2, 6591 x, -1.5, 1.5, y, -1.5, 1.5)); 6592 6593 -- Objeto gráfico: spherical 6594 (<radius>,<azi>,<minazi>,<maxazi>,<zen>,<minzen>,<maxzen>) 6595 Dibuja funciones 3D definidas en coordenadas esféricas. 6596 6597 3D 6598 6599 'spherical 6600 (<radius>,<azi>,<minazi>,<maxazi>,<zen>,<minzen>,<maxzen>)' dibuja 6601 la función '<radius>(<azi>,<zen>)' definida en coordenadas 6602 esféricas, con el azimut <azi> tomando valores desde <minazi> hasta 6603 <maxazi> y el zenit <zen> tomando valores desde <minzen> hasta 6604 <maxzen>. 6605 6606 Este objeto se ve afectado por las siguientes opciones gráficas: 6607 'xu_grid', 'yv_grid', 'line_type', 'key', 'wired_surface', 6608 'enhanced3d' y 'color'. 6609 6610 Ejemplo: 6611 6612 (%i1) load(draw)$ 6613 (%i2) draw3d(spherical(1,a,0,2*%pi,z,0,%pi))$ 6614 6615 -- Objeto gráfico: triangle (<punto_1>, <punto_2>, <punto_3>) 6616 Dibuja un triángulo. 6617 6618 2D 6619 6620 'triangle ([<x1>,<y1>], [<x2>,<y2>], [<x3>,<y3>])' dibuja un 6621 triángulo de vértices '[<x1>,<y1>]', '[<x2>,<y2>]' y '[<x3>,<y3>]'. 6622 6623 Este objeto se ve afectado por las siguientes opciones gráficas: 6624 'transparent', 'fill_color', 'border', 'line_width', 'key', 6625 'xaxis_secondary', 'yaxis_secondary', 'line_type', 'transform' y 6626 'color'. 6627 6628 Ejemplo: 6629 6630 (%i1) load(draw)$ 6631 (%i2) draw2d( 6632 triangle([1,1],[2,2],[3,-1]))$ 6633 6634 3D 6635 6636 'triangle ([<x1>,<y1>,<z1>], [<x2>,<y2>,<z2>], [<x3>,<y3>,<z3>])' 6637 dibuja un triángulo de vértices '[<x1>,<y1>,<z1>]', 6638 '[<x2>,<y2>,<z2>]' y '[<x3>,<y3>,<z3>]'. 6639 6640 Este objeto se ve afectado por las siguientes opciones gráficas: 6641 'line_type', 'line_width', 'color', 'key', 'enhanced3d' y 6642 'transform'. 6643 6644 -- Objeto gráfico: tube (<xfun>,<yfun>,<zfun>,<rfun>,<p>,<pmin>,<pmax>) 6645 Dibuja un tubo en 3D de diámetro variable. 6646 6647 3D 6648 6649 '[<xfun>,<yfun>,<zfun>]' es la curva paramétrica de parámetro <p>, 6650 el cual toma valores entre <pmin> y <pmax>. Se colocan círculos de 6651 radio <rfun> con sus centros sobre la curva paramétrica y 6652 perpendiculares a ella. 6653 6654 Este objeto se ve afectado por las siguientes opciones gráficas: 6655 'xu_grid', 'yv_grid', 'line_type', 'line_width', 'key', 6656 'wired_surface', 'enhanced3d', 'color' y 'capping'. 6657 6658 Ejemplo: 6659 6660 (%i1) load(draw)$ 6661 (%i2) draw3d( 6662 enhanced3d = true, 6663 xu_grid = 50, 6664 tube(cos(a), a, 0, cos(a/10)^2, 6665 a, 0, 4*%pi) )$ 6666 6667 -- Objeto gráfico: vector ([<x>,<y>], [<dx>,<dy>]) 6668 -- Objeto gráfico: vector ([<x>,<y>,<z>], [<dx>,<dy>,<dz>]) 6669 Dibuja vectores en 2D y 3D. 6670 6671 Este objeto se ve afectado por las siguientes opciones gráficas: 6672 'head_both', 'head_length', 'head_angle', 'head_type', 6673 'line_width', 'line_type', 'key' y 'color'. 6674 6675 2D 6676 6677 'vector ([<x>,<y>], [<dx>,<dy>])' dibuja el vector '[<dx>,<dy>]' 6678 con origen en '[<x>,<y>]'. 6679 6680 Ejemplo: 6681 6682 (%i1) load(draw)$ 6683 (%i2) draw2d(xrange = [0,12], 6684 yrange = [0,10], 6685 head_length = 1, 6686 vector([0,1],[5,5]), /* default type */ 6687 head_type = 'empty, 6688 vector([3,1],[5,5]), 6689 head_both = true, 6690 head_type = 'nofilled, 6691 line_type = dots, 6692 vector([6,1],[5,5]))$ 6693 6694 3D 6695 6696 'vector([<x>,<y>,<z>], [<dx>,<dy>,<dz>])' dibuja el vector 6697 '[<dx>,<dy>,<dz>]' con origen en '[<x>,<y>,<z>]'. 6698 6699 Ejemplo: 6700 6701 (%i1) load(draw)$ 6702 (%i2) draw3d(color = cyan, 6703 vector([0,0,0],[1,1,1]/sqrt(3)), 6704 vector([0,0,0],[1,-1,0]/sqrt(2)), 6705 vector([0,0,0],[1,1,-2]/sqrt(6)) )$ 6706 6707 6708File: maxima.info, Node: Funciones y variables para picture, Next: Funciones y variables para worldmap, Prev: Funciones y variables para draw, Up: draw 6709 671047.3 Funciones y variables para picture 6711======================================= 6712 6713 -- Función: get_pixel (<pic>,<x>,<y>) 6714 Devuelve el pixel de la imagen <pic>. Las coordenadas <x> e <y> 6715 van desde 0 hasta 'ancho-1' y 'alto-1', respectivamente. 6716 6717 -- Función: make_level_picture (<data>) 6718 -- Función: make_level_picture (<data>,<width>,<height>) 6719 Devuelve un objeto 'picture' consistente en una imagen de niveles. 6720 'make_level_picture (<data>)' construye el objeto 'picture' a 6721 partir de la matriz <data>. 'make_level_picture 6722 (<data>,<width>,<height>)' construye el objeto a partir de una 6723 lista de números, en cuyo caso deben indicarse el ancho <width> y 6724 la altura <height> en píxeles. 6725 6726 El objeto 'picture' devuelto contiene los siguientes cuatro 6727 elemento: 6728 6729 1. el símbolo 'level' 6730 2. anchura de la imagen 6731 3. altura de la imagen 6732 4. un array de enteros con los valores de los píxeles entre 0 y 6733 255. El argumento <data> debe contener sólo números entre 0 y 6734 255; los cantidades negativas se transforman en ceros y las 6735 que son mayores de 255 se igualan a este número. 6736 6737 Ejemplo: 6738 6739 Imagen de niveles a partir de una matriz. 6740 (%i1) load(draw)$ 6741 (%i2) make_level_picture(matrix([3,2,5],[7,-9,3000])); 6742 (%o2) picture(level, 3, 2, {Array: #(3 2 5 7 0 255)}) 6743 6744 Imagen de niveles a partir de una lista numérica. 6745 (%i1) load(draw)$ 6746 (%i2) make_level_picture([-2,0,54,%pi],2,2); 6747 (%o2) picture(level, 2, 2, {Array: #(0 0 54 3)}) 6748 6749 -- Función: make_rgb_picture (<redlevel>,<greenlevel>,<bluelevel>) 6750 Devuelve un objeto <picture> conteniendo una imagen en color (RGB). 6751 Los tres argumentos deben ser imágenes de niveles, para el rojo 6752 (R), verde (G) y azul (B). 6753 6754 El objeto <picture> devuelto contiene los siguientes cuatro 6755 elemento: 6756 6757 1. el símbolo 'rgb' 6758 2. anchura de la imagen 6759 3. altura de la imagen 6760 4. un array de enteros de <3*ancho*alto> con los valores de los 6761 píxeles entre 0 y 255. Cada valor de pixel se representa en 6762 el array con tres números consecutivos (rojo, verde, azul). 6763 6764 Ejemplo: 6765 6766 (%i1) load(draw)$ 6767 (%i2) red: make_level_picture(matrix([3,2],[7,260])); 6768 (%o2) picture(level, 2, 2, {Array: #(3 2 7 255)}) 6769 (%i3) green: make_level_picture(matrix([54,23],[73,-9])); 6770 (%o3) picture(level, 2, 2, {Array: #(54 23 73 0)}) 6771 (%i4) blue: make_level_picture(matrix([123,82],[45,32.5698])); 6772 (%o4) picture(level, 2, 2, {Array: #(123 82 45 33)}) 6773 (%i5) make_rgb_picture(red,green,blue); 6774 (%o5) picture(rgb, 2, 2, 6775 {Array: #(3 54 123 2 23 82 7 73 45 255 0 33)}) 6776 6777 -- Función: negative_picture (<pic>) 6778 Devuelve el negativo de la imagen, sea ésta de tipo nivel (<level>) 6779 o color (<rgb>). 6780 6781 -- Función: picture_equalp (<x>,<y>) 6782 Devuelve 'true' si los dos argumentos son imágenes idénticas, o 6783 'false' en caso contrario. 6784 6785 -- Función: picturep (<x>) 6786 Devuelve 'true' si el argumento es una imagen bien formada, o 6787 'false' en caso contrario. 6788 6789 -- Función: read_xpm (<xpm_file>) 6790 Lee el fichero gráfico en formato xpm y devuelve un objeto 6791 'picture'. 6792 6793 -- Función: rgb2level (<pic>) 6794 Transforma una imagen en color <rgb> a otra de niveles <level> 6795 promediando los niveles. 6796 6797 -- Función: take_channel (<im>,<color>) 6798 Si el argumento <color> es 'red', 'green' o 'blue', la función 6799 'take_channel' devuelve el canal de color correspondiente de la 6800 imagen <im>. 6801 6802 Ejemplo: 6803 6804 (%i1) load(draw)$ 6805 (%i2) red: make_level_picture(matrix([3,2],[7,260])); 6806 (%o2) picture(level, 2, 2, {Array: #(3 2 7 255)}) 6807 (%i3) green: make_level_picture(matrix([54,23],[73,-9])); 6808 (%o3) picture(level, 2, 2, {Array: #(54 23 73 0)}) 6809 (%i4) blue: make_level_picture(matrix([123,82],[45,32.5698])); 6810 (%o4) picture(level, 2, 2, {Array: #(123 82 45 33)}) 6811 (%i5) make_rgb_picture(red,green,blue); 6812 (%o5) picture(rgb, 2, 2, 6813 {Array: #(3 54 123 2 23 82 7 73 45 255 0 33)}) 6814 (%i6) take_channel(%,'green); /* simple quote!!! */ 6815 (%o6) picture(level, 2, 2, {Array: #(54 23 73 0)}) 6816 6817 6818File: maxima.info, Node: Funciones y variables para worldmap, Prev: Funciones y variables para picture, Up: draw 6819 682047.4 Funciones y variables para worldmap 6821======================================== 6822 6823Este paquete carga automáticamente el paquete 'draw'. 6824 682547.4.1 Variables y Funciones 6826---------------------------- 6827 6828 -- Global variable: boundaries_array 6829 Valor por defecto: 'false' 6830 6831 'boundaries_array' es donde el objeto gráfico 'geomap' lee las 6832 coordenadas de las líneas fronterizas. 6833 6834 Cada componente de 'boundaries_array' es un array de números 6835 decimales en coma flotante representando las coordenadas que 6836 definen un segmento poligonal o línea fronteriza. 6837 6838 Véase también 'geomap'. 6839 6840 -- Función: numbered_boundaries (<nlist>) 6841 Dibuja una lista de segmentos poligonales (líneas fronterizas), 6842 etiquetadas con sus números correspondientes (coordenadas de 6843 'boundaries_array'). Esta función es de mucha ayuda a la hora de 6844 definir nuevas entidades geográficas. 6845 6846 Ejemplo: 6847 6848 Mapa de Europa con las fronteras y costas etiquetadas con su 6849 componente numérica de 'boundaries_array'. 6850 (%i1) load(worldmap)$ 6851 (%i2) european_borders: 6852 region_boundaries(-31.81,74.92,49.84,32.06)$ 6853 (%i3) numbered_boundaries(european_borders)$ 6854 6855 -- Función: make_poly_continent (<continent_name>) 6856 -- Función: make_poly_continent (<country_list>) 6857 Construye los polígonos necesarios para dibujar un continente o 6858 lista de países coloreados. 6859 6860 Ejemplo: 6861 6862 (%i1) load(worldmap)$ 6863 (%i2) /* A continent */ 6864 make_poly_continent(Africa)$ 6865 (%i3) apply(draw2d, %)$ 6866 (%i4) /* A list of countries */ 6867 make_poly_continent([Germany,Denmark,Poland])$ 6868 (%i5) apply(draw2d, %)$ 6869 6870 -- Función: make_poly_country (<country_name>) 6871 Construye los polígonos necesarios para dibujar un país coloreado. 6872 En caso de contener islas, un país tendrá asociados varios 6873 polígonos. 6874 6875 Ejemplo: 6876 6877 (%i1) load(worldmap)$ 6878 (%i2) make_poly_country(India)$ 6879 (%i3) apply(draw2d, %)$ 6880 6881 -- Función: make_polygon (<nlist>) 6882 Devuelve un objeto 'polygon' a partie de una lista de líneas 6883 fronterizas y de costas. El argumento <nlist> debe ser una lista 6884 de componentes de 'boundaries_array'. 6885 6886 Ejemplo: 6887 6888 La variable Bhutan (Bután) está definida con los números 6889 fronterizos 171, 173 y 1143, de manera que 6890 'make_polygon([171,173,1143])' concatena los arrays 6891 'boundaries_array[171]', 'boundaries_array[173]' y 6892 'boundaries_array[1143]' y devuelve un objeto 'polygon' apto para 6893 ser dibujado por 'draw'. A fin de evitar mensajes de errores, los 6894 arrays deben ser compatibles en el sentido de que dos de ellos 6895 consecutivos deben tener dos coordenadas comunes en los extremos. 6896 En este ejemplo, las dos primeras componentes de 6897 'boundaries_array[171]' son iguales a las dos últimas de 6898 'boundaries_array[173]', y las dos primeras de 6899 'boundaries_array[173]' coinciden con las dos primeras de 6900 'boundaries_array[1143]'; en conclusión, los números de segmentos 6901 poligonales171, 173 y 1143 (en este orden) son compatibles y el 6902 polígono coloreado se podrá dibujar. 6903 (%i1) load(worldmap)$ 6904 (%i2) Bhutan; 6905 (%o2) [[171, 173, 1143]] 6906 (%i3) boundaries_array[171]; 6907 (%o3) {Array: 6908 #(88.750549 27.14727 88.806351 27.25305 88.901367 27.282221 6909 88.917877 27.321039)} 6910 (%i4) boundaries_array[173]; 6911 (%o4) {Array: 6912 #(91.659554 27.76511 91.6008 27.66666 91.598022 27.62499 6913 91.631348 27.536381 91.765533 27.45694 91.775253 27.4161 6914 92.007751 27.471939 92.11441 27.28583 92.015259 27.168051 6915 92.015533 27.08083 92.083313 27.02277 92.112183 26.920271 6916 92.069977 26.86194 91.997192 26.85194 91.915253 26.893881 6917 91.916924 26.85416 91.8358 26.863331 91.712479 26.799999 6918 91.542191 26.80444 91.492188 26.87472 91.418854 26.873329 6919 91.371353 26.800831 91.307457 26.778049 90.682457 26.77417 6920 90.392197 26.903601 90.344131 26.894159 90.143044 26.75333 6921 89.98996 26.73583 89.841919 26.70138 89.618301 26.72694 6922 89.636093 26.771111 89.360786 26.859989 89.22081 26.81472 6923 89.110237 26.829161 88.921631 26.98777 88.873016 26.95499 6924 88.867737 27.080549 88.843307 27.108601 88.750549 6925 27.14727)} 6926 (%i5) boundaries_array[1143]; 6927 (%o5) {Array: 6928 #(91.659554 27.76511 91.666924 27.88888 91.65831 27.94805 6929 91.338028 28.05249 91.314972 28.096661 91.108856 27.971109 6930 91.015808 27.97777 90.896927 28.05055 90.382462 28.07972 6931 90.396088 28.23555 90.366074 28.257771 89.996353 28.32333 6932 89.83165 28.24888 89.58609 28.139999 89.35997 27.87166 6933 89.225517 27.795 89.125793 27.56749 88.971077 27.47361 6934 88.917877 27.321039)} 6935 (%i6) Bhutan_polygon: make_polygon([171,173,1143])$ 6936 (%i7) draw2d(Bhutan_polygon)$ 6937 6938 -- Función: region_boundaries (<x1>,<y1>,<x2>,<y2>) 6939 Detecta los segmentos poligonales almacenados en la variable global 6940 'boundaries_array' totalmente contenidos en el rectángulo de 6941 vértices (<x1>,<y1>) -superior izquierdo- y (<x2>,<y2>) -inferior 6942 derecho-. 6943 6944 Ejemplo: 6945 6946 Devuelve los números de los segmentos necesarios para dibujar el 6947 sur de Italia. 6948 (%i1) load(worldmap)$ 6949 (%i2) region_boundaries(10.4,41.5,20.7,35.4); 6950 (%o2) [1846, 1863, 1864, 1881, 1888, 1894] 6951 (%i3) draw2d(geomap(%))$ 6952 6953 -- Función: region_boundaries_plus (<x1>,<y1>,<x2>,<y2>) 6954 Detecta los segmentos poligonales almacenados en la variable global 6955 'boundaries_array' con al menos un vértice dentro del rectángulo 6956 definido por los extremos (<x1>,<y1>) -superior izquierdo- y 6957 (<x2>,<y2>) -inferior derecho-. 6958 6959 Ejemplo: 6960 6961 (%i1) load(worldmap)$ 6962 (%i2) region_boundaries_plus(10.4,41.5,20.7,35.4); 6963 (%o2) [1060, 1062, 1076, 1835, 1839, 1844, 1846, 1858, 6964 1861, 1863, 1864, 1871, 1881, 1888, 1894, 1897] 6965 (%i3) draw2d(geomap(%))$ 6966 696747.4.2 Objetos gráficos 6968----------------------- 6969 6970 -- Objeto gráfico: geomap (<numlist>) 6971 -- Objeto gráfico: geomap (<numlist>,<3Dprojection>) 6972 Dibuja mapas cartográficos en 2D y 3D. 6973 6974 2D 6975 6976 Esta función trabaja junto con la variable global 6977 'boundaries_array'. 6978 6979 El argumento <numlist> es una lista de números o de listas de 6980 números. Todos estos números deben ser enteros mayores o iguales 6981 que cero, representando las componentes del array global 6982 'boundaries_array'. 6983 6984 Cada componente de 'boundaries_array' es un array de decimales en 6985 coma flotante, las coordenadas de un segmento poligonal o línea 6986 fronteriza. 6987 6988 'geomap (<numlist>)' toma los enteros de sus argumentos y dibuja 6989 los segmentos poligonales asociados de 'boundaries_array'. 6990 6991 Este objeto se ve afectado por las siguientes opciones gráficas: 6992 'line_width', 'line_type' y 'color'. 6993 6994 Ejemplos: 6995 6996 Un sencillo mapa hecho a mano: 6997 (%i1) load(worldmap)$ 6998 (%i2) /* Vertices of boundary #0: {(1,1),(2,5),(4,3)} */ 6999 ( bnd0: make_array(flonum,6), 7000 bnd0[0]:1.0, bnd0[1]:1.0, bnd0[2]:2.0, 7001 bnd0[3]:5.0, bnd0[4]:4.0, bnd0[5]:3.0 )$ 7002 (%i3) /* Vertices of boundary #1: {(4,3),(5,4),(6,4),(5,1)} */ 7003 ( bnd1: make_array(flonum,8), 7004 bnd1[0]:4.0, bnd1[1]:3.0, bnd1[2]:5.0, bnd1[3]:4.0, 7005 bnd1[4]:6.0, bnd1[5]:4.0, bnd1[6]:5.0, bnd1[7]:1.0)$ 7006 (%i4) /* Vertices of boundary #2: {(5,1), (3,0), (1,1)} */ 7007 ( bnd2: make_array(flonum,6), 7008 bnd2[0]:5.0, bnd2[1]:1.0, bnd2[2]:3.0, 7009 bnd2[3]:0.0, bnd2[4]:1.0, bnd2[5]:1.0 )$ 7010 (%i5) /* Vertices of boundary #3: {(1,1), (4,3)} */ 7011 ( bnd3: make_array(flonum,4), 7012 bnd3[0]:1.0, bnd3[1]:1.0, bnd3[2]:4.0, bnd3[3]:3.0)$ 7013 (%i6) /* Vertices of boundary #4: {(4,3), (5,1)} */ 7014 ( bnd4: make_array(flonum,4), 7015 bnd4[0]:4.0, bnd4[1]:3.0, bnd4[2]:5.0, bnd4[3]:1.0)$ 7016 (%i7) /* Pack all together in boundaries_array */ 7017 ( boundaries_array: make_array(any,5), 7018 boundaries_array[0]: bnd0, boundaries_array[1]: bnd1, 7019 boundaries_array[2]: bnd2, boundaries_array[3]: bnd3, 7020 boundaries_array[4]: bnd4 )$ 7021 (%i8) draw2d(geomap([0,1,2,3,4]))$ 7022 7023 El paquete auxiliar 'worldmap' asigna al array global 7024 'boundaries_array' líneas fronterizas reales en coordenadas 7025 (longitud, latitud). Estos datos son de dominio público y proceden 7026 de <http://www-cger.nies.go.jp/grid-e/gridtxt/grid19.html>. El 7027 paquete 'worldmap' también define fronteras de países, continentes 7028 y líneas costeras a partir de las componentes de 'boundaries_array' 7029 (véase el fichero 'share/draw/worldmap.mac' para más información). 7030 El paquete 'worldmap' carga automáticamente el paquete 'draw'. 7031 (%i1) load(worldmap)$ 7032 (%i2) c1: gr2d(geomap([Canada,United_States, 7033 Mexico,Cuba]))$ 7034 (%i3) c2: gr2d(geomap(Africa))$ 7035 (%i4) c3: gr2d(geomap([Oceania,China,Japan]))$ 7036 (%i5) c4: gr2d(geomap([France,Portugal,Spain, 7037 Morocco,Western_Sahara]))$ 7038 (%i6) draw(columns = 2, 7039 c1,c2,c3,c4)$ 7040 7041 'worldmap' se puede utilizar para dibujar países como polígonos. 7042 En este caso, ya no será necesario hacer uso del objeto gráfico 7043 'geomap', pero sí de 'polygon'. Puesto que en este caso se 7044 utilizan listas en lugar de arrays, los mapas se reproducirán de 7045 forma más lenta. Véanse también 'make_poly_country' y 7046 'make_poly_continent' para comprender el siguiente código. 7047 (%i1) load(worldmap)$ 7048 (%i2) mymap: append( 7049 [color = white], /* borders are white */ 7050 [fill_color = red], make_poly_country(Bolivia), 7051 [fill_color = cyan], make_poly_country(Paraguay), 7052 [fill_color = green], make_poly_country(Colombia), 7053 [fill_color = blue], make_poly_country(Chile), 7054 [fill_color = "#23ab0f"], make_poly_country(Brazil), 7055 [fill_color = goldenrod], make_poly_country(Argentina), 7056 [fill_color = "midnight-blue"], make_poly_country(Uruguay))$ 7057 (%i3) apply(draw2d, mymap)$ 7058 7059 3D 7060 7061 'geomap (<numlist>)' proyecta los mapas sobre la esfera de radio 1 7062 y centro (0,0,0). Es posible cambiar la esfera o el tipo de 7063 proyección haciendo uso de 'geomap (<numlist>,<3Dprojection>)'. 7064 7065 Proyecciones 3D disponibles: 7066 7067 * '[spherical_projection,<x>,<y>,<z>,<r>]': proyecta los mapas 7068 sobre la esfera de radio <r> y centro (<x>,<y>,<z>). 7069 (%i1) load(worldmap)$ 7070 (%i2) draw3d(geomap(Australia), /* default projection */ 7071 geomap(Australia, 7072 [spherical_projection,2,2,2,3]))$ 7073 7074 * '[cylindrical_projection,<x>,<y>,<z>,<r>,<rc>]': re-proyecta 7075 mapas esféricos sobre el cilindro de radio <rc> cuyo eje pasa 7076 a través de los polos del globo de radio <r> y centro 7077 (<x>,<y>,<z>). 7078 (%i1) load(worldmap)$ 7079 (%i2) draw3d(geomap([America_coastlines,Eurasia_coastlines], 7080 [cylindrical_projection,2,2,2,3,4]))$ 7081 7082 * '[conic_projection,<x>,<y>,<z>,<r>,<alpha>]': re-proyecta 7083 mapas esféricos sobre los conos de ángulo <alpha>, cuyos ejes 7084 pasan a través de los polos del globo de radio <r> y centro 7085 (<x>,<y>,<z>). Ambos conos, norte y sur, son tangentes a la 7086 esfera. 7087 (%i1) load(worldmap)$ 7088 (%i2) draw3d(geomap(World_coastlines, 7089 [conic_projection,0,0,0,1,90]))$ 7090 7091 En <http://riotorto.users.sf.net/gnuplot/geomap> hay ejemplos más 7092 elaborados. 7093 7094 7095File: maxima.info, Node: drawdf, Next: dynamics, Prev: draw, Up: Top 7096 709748 drawdf 7098********* 7099 7100* Menu: 7101 7102* Introducción a drawdf:: 7103* Funciones y variables para drawdf:: 7104 7105 7106File: maxima.info, Node: Introducción a drawdf, Next: Funciones y variables para drawdf, Prev: drawdf, Up: drawdf 7107 710848.1 Introducción a drawdf 7109========================== 7110 7111La función 'drawdf' dibuja el campo de direcciones de una ecuación 7112diferencial ordinaria de primer orden (EDO) o de un sistema de dos 7113ecuaciones autónomas de primer orden. 7114 7115Puesto que 'drawdf' es un paquete adicional, es necesario cargarlo en 7116memoria ejecutando previamente la instrucción 'load(drawdf)'. 'drawdf' 7117utiliza el paquete 'draw', que necesita como mínimo la versión 4.2 de 7118Gnuplot. 7119 7120Para dibujar el campo de direcciones de una EDO, ésta debe escribirse de 7121la forma 7122 dy 7123 -- = F(x,y) 7124 dx 7125 7126y ser la función <F> la que se pase a 'drawdf' como argumento. Si las 7127variables independiente y dependiente no son <x> e <y>, como en la 7128ecuación anterior, entonces deben nombrarse de forma explícita en una 7129lista que se pasará a 'drawdf' (ver ejemplos más abajo). 7130 7131Para dibujar el campo de direcciones de un conjunto de dos EDOs 7132autónomas, deben escribirse de la forma 7133 dx dy 7134 -- = G(x,y) -- = F(x,y) 7135 dt dt 7136 7137y será una lista con las dos funciones <G> y <F> la que se pase a 7138'drawdf' como argumento. El orden de las funciones es importante; la 7139primera será la derivada de la abscisa respecto del tiempo y la segunda 7140la derivada de la ordenada respecto del tiempo. Si las variables no son 7141las <x> e <y> habituales, el segundo argumento que se pase a la función 7142'drawdf' será una lista con los nombres de ambas variables, primero la 7143correspondiente a las abscisas, seguida de la asociada a las ordenadas. 7144 7145Si sólo se trata de una EDO, 'drawdf' admitirá por defecto que 'x=t' y 7146'G(x,y)=1', transformanado la ecuación no autónoma en un sistema de dos 7147ecuaciones autónomas. 7148 7149 7150File: maxima.info, Node: Funciones y variables para drawdf, Prev: Introducción a drawdf, Up: drawdf 7151 715248.2 Funciones y variables para drawdf 7153====================================== 7154 715548.2.1 Funciones 7156---------------- 7157 7158 -- Función: drawdf (<dydx>, ...options and objects...) 7159 -- Función: drawdf (<dvdu>, '['<u>,<v>']', ...opciones y objetos...) 7160 -- Función: drawdf (<dvdu>, '['<u>,<umin>,<umax>']', 7161 '['<v>,<vmin>,<vmax>']', ...opciones y objetos...) 7162 -- Función: drawdf ('['<dxdt>,<dydt>']', ...opciones y objetos...) 7163 -- Función: drawdf ('['<dudt>,<dvdt>']', '['<u>,<v>']', ...opciones y 7164 objetos...) 7165 -- Función: drawdf ('['<dudt>,<dvdt>']', '['<u>,<umin>,<umax>']', 7166 '['<v>,<vmin>,<vmax>']', ...opciones y objetos...) 7167 7168 La función 'drawdf' dibuja un campo de direcciones 2D, incluyendo 7169 opcionalmente curvas asociadas a soluciones particulares, así como 7170 otros objeto gráficos del paquete 'draw'. 7171 7172 El primer argumento especifica la(s) derivada(s), el cual debe 7173 estar formado por una expresión o una lista de dos expresiones. 7174 <dydx>, <dxdt> y <dydt> son expresiones que dependen de <x> y <y>. 7175 <dvdu>, <dudt> y <dvdt> son expresiones que dependen de <u> y <v>. 7176 7177 Si las variables independiente y dependiente no son <x> e <y>, sus 7178 nombres deben especificarse a continuación de las derivadas, bien 7179 como una lista de dos nombres, '['<u>,<v>']', o como dos listas de 7180 la forma '['<u>,<umin>,<umax>']' y '['<v>,<vmin>,<vmax>']'. 7181 7182 El resto de argumentos son opciones gráficas, objetos gráficos, o 7183 listas conteniendo elementos de ambos tipos. El conjunto de 7184 opciones y objetos gráficos soportados por 'drawdf' incluye los 7185 soportados por 'draw2d' y 'gr2d' del paquete 'draw'. 7186 7187 Los argumentos se iterpretan secuencialmente: las opciones gráficas 7188 afectan a todos los objetos gráficos que le siguen. Además, los 7189 objetos gráficos se dibujan en el orden en el que se especifican, 7190 pudiendo tapar otros gráficos dibujados con anterioridad. Algunas 7191 opciones gráficas afectan al aspecto general de la escena. 7192 7193 Los nuevos objetos gráficos que se definen en 'drawdf' son: 7194 'solns_at', 'points_at', 'saddles_at', 'soln_at', 'point_at' y 7195 'saddle_at'. 7196 7197 Las nuevas opciones gráficas que se definen en 'drawdf' son: 7198 'field_degree', 'soln_arrows', 'field_arrows', 'field_grid', 7199 'field_color', 'show_field', 'tstep', 'nsteps', 'duration', 7200 'direction', 'field_tstep', 'field_nsteps' y 'field_duration'. 7201 7202 Objetos gráficos que se heredan del paquete 'draw' incluyen: 7203 'explicit', 'implicit', 'parametric', 'polygon', 'points', 7204 'vector', 'label' y cualesquiera otros soportados por 'draw2d' y 7205 'gr2d'. 7206 7207 Opciones gráficas que se heredan del paquete 'draw' incluyen: 7208 'points_joined', 'color', 'point_type', 'point_size', 'line_width', 7209 'line_type', 'key', 'title', 'xlabel', 'ylabel', 'user_preamble', 7210 'terminal', 'dimensions', 'file_name' y cualesquiera otros 7211 soportados por 'draw2d' y 'gr2d'. 7212 7213 Véase también 'draw2d'. 7214 7215 Los usuarios de wxMaxima y Imaxima pueden hacer uso también 7216 'wxdrawdf', que es idéntica a 'drawdf', pero que inserta el gráfico 7217 en el propio documento utilizando la función 'wxdraw'. 7218 7219 Para hacer uso de esta función, ejecútese primero 'load(drawdf)'. 7220 7221 Ejemplos: 7222 7223 (%i1) load(drawdf)$ 7224 (%i2) drawdf(exp(-x)+y)$ /* default vars: x,y */ 7225 (%i3) drawdf(exp(-t)+y, [t,y])$ /* default range: [-10,10] */ 7226 (%i4) drawdf([y,-9*sin(x)-y/5], [x,1,5], [y,-2,2])$ 7227 7228 A efectos de compatibilidad, 'drawdf' acepta la mayor parte de 7229 parámetros soportados por 'plotdf'. 7230 7231 (%i5) drawdf(2*cos(t)-1+y, [t,y], [t,-5,10], [y,-4,9], 7232 [trajectory_at,0,0])$ 7233 7234 'soln_at' y 'solns_at' dibujan soluciones particulares que pasen 7235 por los puntos especificados, utilizando el integrador numérico de 7236 Runge Kutta de cuarto orden. 7237 7238 (%i6) drawdf(2*cos(t)-1+y, [t,-5,10], [y,-4,9], 7239 solns_at([0,0.1],[0,-0.1]), 7240 color=blue, soln_at(0,0))$ 7241 7242 'field_degree=2' hace que el campo se componga de splines 7243 cuadráticos basados en las derivadas de primer y segundo orden en 7244 cada punto de la malla. 'field_grid=['<COLS>,<ROWS>']' especifica 7245 el número de columnas y filas a utilizar en la malla. 7246 7247 (%i7) drawdf(2*cos(t)-1+y, [t,-5,10], [y,-4,9], 7248 field_degree=2, field_grid=[20,15], 7249 solns_at([0,0.1],[0,-0.1]), 7250 color=blue, soln_at(0,0))$ 7251 7252 'soln_arrows=true' añade flechas a las soluciones particulares y, 7253 por defecto, las borra. También cambia los colores por defecto 7254 para destacar las curvas de las soluciones particulares. 7255 7256 (%i8) drawdf(2*cos(t)-1+y, [t,-5,10], [y,-4,9], 7257 soln_arrows=true, 7258 solns_at([0,0.1],[0,-0.1],[0,0]))$ 7259 7260 'duration=40' especifica el intervalo temporal de la integración 7261 numérica, cuyo valor por defecto es 10. La integración se detendrá 7262 automáticamente si la solución se aparta mucho de la región a 7263 dibujar, o si la derivada se vuelve compleja o infinita. Aquí 7264 también hacemos 'field_degree=2' para dibujar splines cuadráticos. 7265 Las ecuaciones de este ejemplo modelizan un sistema 7266 depredador-presa. 7267 7268 (%i9) drawdf([x*(1-x-y), y*(3/4-y-x/2)], [x,0,1.1], [y,0,1], 7269 field_degree=2, duration=40, 7270 soln_arrows=true, point_at(1/2,1/2), 7271 solns_at([0.1,0.2], [0.2,0.1], [1,0.8], [0.8,1], 7272 [0.1,0.1], [0.6,0.05], [0.05,0.4], 7273 [1,0.01], [0.01,0.75]))$ 7274 7275 'field_degree='solns' hace que el campo se componga de muchas 7276 pequeñas soluciones calculadas a partir del Runge Kutta de cuarto 7277 orden. 7278 7279 (%i10) drawdf([x*(1-x-y), y*(3/4-y-x/2)], [x,0,1.1], [y,0,1], 7280 field_degree='solns, duration=40, 7281 soln_arrows=true, point_at(1/2,1/2), 7282 solns_at([0.1,0.2], [0.2,0.1], [1,0.8], 7283 [0.8,1], [0.1,0.1], [0.6,0.05], 7284 [0.05,0.4], [1,0.01], [0.01,0.75]))$ 7285 7286 'saddles_at' trata de linearizar automáticamente la ecuación en 7287 cada punto de silla y dibujar la solución numérica correspondiente 7288 a cada vector propio, incluyendo las separatrices. 'tstep=0.05' 7289 establece el salto temporal máximo para el integrador numérico, 7290 cuyo valor por defecto es 0.1. Las siguientes ecuaciones modelizan 7291 un péndulo amortiguado. 7292 7293 (%i11) drawdf([y,-9*sin(x)-y/5], tstep=0.05, 7294 soln_arrows=true, point_size=0.5, 7295 points_at([0,0], [2*%pi,0], [-2*%pi,0]), 7296 field_degree='solns, 7297 saddles_at([%pi,0], [-%pi,0]))$ 7298 7299 'show_field=false' elimina el campo completamente. 7300 7301 (%i12) drawdf([y,-9*sin(x)-y/5], tstep=0.05, 7302 show_field=false, soln_arrows=true, 7303 point_size=0.5, 7304 points_at([0,0], [2*%pi,0], [-2*%pi,0]), 7305 saddles_at([3*%pi,0], [-3*%pi,0], 7306 [%pi,0], [-%pi,0]))$ 7307 7308 'drawdf' pasa todos los parámetros que no reconoce a 'draw2d' o 7309 'gr2d', permitiendo combinar la potencia del paquete 'draw' con 7310 'drawdf'. 7311 7312 (%i13) drawdf(x^2+y^2, [x,-2,2], [y,-2,2], field_color=gray, 7313 key="soln 1", color=black, soln_at(0,0), 7314 key="soln 2", color=red, soln_at(0,1), 7315 key="isocline", color=green, line_width=2, 7316 nticks=100, parametric(cos(t),sin(t),t,0,2*%pi))$ 7317 7318 'drawdf' acepta listas anidadas de opciones y objetos gráficos, 7319 permitiendo el uso de 'makelist' y otras funciones de forma más 7320 flexible para generar gráficos. 7321 7322 (%i14) colors : ['red,'blue,'purple,'orange,'green]$ 7323 (%i15) drawdf([x-x*y/2, (x*y - 3*y)/4], 7324 [x,2.5,3.5], [y,1.5,2.5], 7325 field_color = gray, 7326 makelist([ key = concat("soln",k), 7327 color = colors[k], 7328 soln_at(3, 2 + k/20) ], 7329 k,1,5))$ 7330 7331 7332File: maxima.info, Node: dynamics, Next: ezunits, Prev: drawdf, Up: Top 7333 733449 dynamics 7335*********** 7336 7337* Menu: 7338 7339* El paquete dynamics:: 7340* Análisis gráfico de sistemas dinámicos discretos:: 7341* Visualización usando VTK:: 7342 7343 7344File: maxima.info, Node: El paquete dynamics, Next: Análisis gráfico de sistemas dinámicos discretos, Prev: dynamics, Up: dynamics 7345 734649.1 El paquete dynamics 7347======================== 7348 7349El paquete adicional 'dynamics' incluye funciones para visualización 3D, 7350animaciones, análisis gráfico de ecuaciones diferenciales y ecuaciones 7351de diferencias y para resolución numérica de ecuaciones diferenciales. 7352Las funciones para ecuaciones diferenciales se describen en la sección 7353sobre 'Métodos numéricos' y las funciones para representar las gráficas 7354de los conjuntos de Mandelbrot y de Julia se describen en la sección 7355sobre 'Gráficos'. 7356 7357Todas las funciones en este paquete se cargan automáticamente la primera 7358vez que se usan. 7359 7360 7361File: maxima.info, Node: Análisis gráfico de sistemas dinámicos discretos, Next: Visualización usando VTK, Prev: El paquete dynamics, Up: dynamics 7362 736349.2 Análisis gráfico de sistemas dinámicos discretos 7364===================================================== 7365 7366 -- Función: chaosgame ([[<x1>, <y1>]...[<xm>, <ym>]], [<x0>, <y0>], 7367 <b>, <n>, <opciones>, ...); 7368 7369 Usa el método llamado juego del caos, para producir fractales: se 7370 dibuja un punto inicial (<x0>, <y0>) y luego se elije 7371 aleatoriamente uno de los <m> puntos '['<x1>, <y1>']'...'['<xm>, 7372 <ym>']'. Después se dibuja un nuevo punto que estará en el 7373 segmento entre el último punto dibujado y el punto que se acabó de 7374 elegir aleatoriamente, a una distancia del punto elegido que será 7375 <b> veces la longitud del segmento. El proceso se repite <n> 7376 veces. Este programa acepta las mismas opciones de 'plot2d'. 7377 7378 *Ejemplo*. Gráfico del triángulo de Sierpinsky: 7379 7380 (%i1) chaosgame([[0, 0], [1, 0], [0.5, sqrt(3)/2]], [0.1, 0.1], 1/2, 7381 30000, [style, dots]); 7382 7383 -- Función: evolution evolution (<F>, <y0>, <n>, ..., <opciones>, ...); 7384 7385 Dibuja <n+1> puntos en una gráfica bidimensional (serie de tiempo), 7386 en que las coordenadas horizontales de los puntos son los números 7387 enteros 0, 1, 2, ..., <n>, y las coordenadas verticales son los 7388 valores <y(n)> correspondientes, obtenidos a partir de la relación 7389 de recurrencia 7390 y(n+1) = F(y(n)) 7391 7392 Con valor inicial <y(0)> igual a <y0>. <F> deberá ser una 7393 expresión que dependa únicamente de la variable <y> (y no de <n>), 7394 <y0> deberá ser un número real y <n> un número entero positivo. 7395 Esta función acepta las mismas opciones que 'plot2d'. 7396 7397 *Ejemplo*. 7398 7399 (%i1) evolution(cos(y), 2, 11); 7400 7401 -- Función: evolution2d ([<F>, <G>], [<u>, <v>], [<u0>, <y0>], <n>, 7402 <opciones>, ...); 7403 7404 Muestra, en una gráfica bidimensional, los primeros <n+1> puntos de 7405 la sucesión definida a partir del sistema dinámico discreto con 7406 relaciones de recurrencia: 7407 x(n+1) = F(x(n), y(n)) y(n+1) = G(x(n), y(n)) 7408 7409 Con valores iniciales <x0> y <y0>. <F> y <G> deben ser dos 7410 expresiones que dependan únicamente de <x> y <y>. Esta función 7411 acepta las mismas opciones que 'plot2d'. 7412 7413 *Ejemplo*. Evolución de un sistema dinámico discreto en dos 7414 dimensiones: 7415 7416 (%i1) f: 0.6*x*(1+2*x)+0.8*y*(x-1)-y^2-0.9$ 7417 (%i2) g: 0.1*x*(1-6*x+4*y)+0.1*y*(1+9*y)-0.4$ 7418 (%i3) evolution2d([f,g], [x,y], [-0.5,0], 50000, [style,dots]); 7419 7420 Y un acercamiento de una pequeña región en ese fractal: 7421 7422 (%i9) evolution2d([f,g], [x,y], [-0.5,0], 300000, [x,-0.8,-0.6], 7423 [y,-0.4,-0.2], [style, dots]); 7424 7425 -- Función: ifs ([<r1>, ..., <rm>], [<A1>,..., <Am>], [[<x1>, <y1>], 7426 ..., [<xm>, <ym>]], [<x0>, <y0>], <n>, <opciones>, ...); 7427 7428 Usa el método del Sistema de Funciones Iteradas (IFS, en inglés 7429 Iterated Function System). Ese método es semejante al método 7430 descrito en la función 'chaosgame'. pero en vez de aproximar el 7431 último punto al punto elegido aleatoriamente, las dos coordenadas 7432 del último punto se multiplican por una matriz 2 por 2 <Ai> 7433 correspondiente al punto que fue elegido aleatoriamente. 7434 7435 La selección aleatoria de uno de los <m> puntos atractivos puede 7436 ser realizada con una función de probabilidad no uniforme, definida 7437 con los pesos <r1>,...,<rm>. Esos pesos deben ser dados en forma 7438 acumulada; por ejemplo, si se quieren 3 puntos con probabilidades 7439 0.2, 0.5 y 0.3, los pesos <r1>, <r2> y <r3> podrían ser 2, 7 y 10, 7440 o cualquier otro grupo de números que tengan la misma proporción. 7441 Esta función acepta las mismas opciones que 'plot2d'. 7442 7443 *Ejemplo*. El helecho de Barnsley, creado con 4 matrices y 4 7444 puntos: 7445 7446 (%i1) a1: matrix([0.85,0.04],[-0.04,0.85])$ 7447 (%i2) a2: matrix([0.2,-0.26],[0.23,0.22])$ 7448 (%i3) a3: matrix([-0.15,0.28],[0.26,0.24])$ 7449 (%i4) a4: matrix([0,0],[0,0.16])$ 7450 (%i5) p1: [0,1.6]$ 7451 (%i6) p2: [0,1.6]$ 7452 (%i7) p3: [0,0.44]$ 7453 (%i8) p4: [0,0]$ 7454 (%i9) w: [85,92,99,100]$ 7455 (%i10) ifs(w, [a1,a2,a3,a4], [p1,p2,p3,p4], [5,0], 50000, [style,dots]); 7456 7457 -- Función: orbits (<F>, <y0>, <n1>, <n2>, [<x>, <x0>, <xf>, <xstep>], 7458 <opciones>, ...); 7459 7460 Dibuja el diagrama de órbitas de una familia de sistemas dinámicos 7461 discretos unidimensionales, con un parámetro <x>; ese tipo de 7462 diagrama se usa para mostrar las bifurcaciones de un sistema 7463 discreto unidimensional. 7464 7465 La función <F(y)> define una secuencia que comienza con un valor 7466 inicial <y0>, igual que en el caso de la función 'evolution', pero 7467 en este caso la función también dependerá del parámetro <x>, el 7468 cual tomará valores comprendidos en el intervalo de <x0> a <xf>, 7469 con incrementos <xstep>. Cada valor usado para el parámetro <x> se 7470 muestra en el eje horizontal. En el eje vertical se mostrarán <n2> 7471 valores de la sucesión <y(n1+1)>,..., <y(n1+n2+1)>, obtenidos 7472 después de dejarla evolucionar durante <n1> iteraciones iniciales. 7473 7474 *Ejemplo*. Diagrama de órbitas para el mapa cuadrático 7475 7476 (%i1) orbits(x^2+a, 0, 50, 200, [a, -2, 0.25], [style, dots]); 7477 7478 Para ampliar la región alrededor de la bifurcación en la parte de 7479 abajo, cerca de x '=' -1.25, se usa el comando: 7480 (%i2) orbits(x^2+a, 0, 100, 400, [a,-1,-1.53], [x,-1.6,-0.8], 7481 [nticks, 400], [style,dots]); 7482 7483 -- Función: staircase (<F>, <y0>, <n>,<opciones>,...); 7484 7485 Dibuja un diagrama de escalera (o diagrama de red) para la sucesión 7486 definida por la ecuación de recurrencia 7487 y(n+1) = F(y(n)) 7488 7489 La interpretación y valores permitidos de los parámetros de entrada 7490 es la misma que para la función 'evolution'. Un diagrama de 7491 escalera consiste en una gráfica de la función <F(y)>, junto con la 7492 recta <G(y)> '=' <y>. Se comienza por dibujar un segmento vertical 7493 desde el punto (<y0>, <y0>) en la recta, hasta el punto de 7494 intersección con la función <F>. En seguida, desde ese punto se 7495 dibuja un segmento horizontal hasta el punto de intersección con la 7496 recta, (<y1>, <y1>); el procedimiento se repite <n> veces hasta 7497 alcanzar el punto (<yn>, <yn>). Esta función acepta las mismas 7498 opciones que 'plot2d'. 7499 7500 *Ejemplo*. 7501 7502 (%i1) staircase(cos(y), 1, 11, [y, 0, 1.2]); 7503 7504