## maxima-lang-es — Spanish-language discussion of the Maxima computer algebra system

You can subscribe to this list here.

 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 Jan Feb Mar Apr May Jun Jul Aug Sep (12) Oct (1) Nov (9) Dec (2) Jan (3) Feb (6) Mar (2) Apr May (3) Jun (5) Jul Aug Sep (3) Oct Nov Dec Jan (3) Feb (6) Mar (7) Apr (2) May (3) Jun Jul (8) Aug (3) Sep (4) Oct (2) Nov Dec (10) Jan Feb (2) Mar Apr (1) May (14) Jun Jul (14) Aug (9) Sep (12) Oct (7) Nov Dec (5) Jan (27) Feb (5) Mar (5) Apr (57) May (35) Jun (8) Jul Aug (3) Sep (5) Oct (16) Nov (28) Dec (9) Jan (6) Feb (29) Mar (36) Apr (3) May Jun (14) Jul (2) Aug (3) Sep (17) Oct (9) Nov (3) Dec (9) Jan (19) Feb (4) Mar (10) Apr (7) May (7) Jun Jul (4) Aug (2) Sep (9) Oct (10) Nov (8) Dec (10) Jan Feb (6) Mar Apr (11) May Jun (3) Jul (17) Aug Sep (17) Oct (8) Nov Dec Jan (1) Feb (8) Mar (4) Apr (8) May (5) Jun (3) Jul (5) Aug (2) Sep Oct (2) Nov Dec (4) Jan Feb (4) Mar (3) Apr (2) May (2) Jun Jul (1) Aug Sep Oct Nov Dec
S M T W T F S

1

2
(1)
3
(1)
4

5

6

7

8
(1)
9

10
(1)
11
(2)
12

13

14
(2)
15
(2)
16
(3)
17

18
(2)
19
(1)
20
(1)
21
(10)
22
(2)
23
(3)
24

25

26

27

28

29

30

31
(3)

Showing results of 35

1 2 > >> (Page 1 of 2)
 Re: [Maxima-lang-es] simplificando From: Mario Rodriguez - 2010-05-31 22:33:46 aristide@... escribió: > Una simplificación: > a-b^2=(sqrt(a)-b)*(sqrt(a)+b) > > Maxima expande el producto (sqrt(a)-b)*(sqrt(a)+b) como a-b^2. > Para el recíproco, Cómo obtenerla con Maxima, la necesito para fines > didactico. > Aprecio la ayuda y atención, arístides > Puedes escribir una función que haga la transformación siempre que la expresión cumpla determinadas características. Probablemente, la función sea mejorable para adaptarse a tus necesidades. También existiría la posibilidad de aplicar reglas de transformación a patrones. (%i1) factoriza(expr) := if not atom (expr) and op(expr) = "+" and length(args(expr)) = 2 and not atom(part(expr,2)) and op(part(expr,2)) = "-" then (sqrt(part(expr,1))-sqrt(-part(expr,2))) * (sqrt(part(expr,1))+sqrt(-part(expr,2))) else expr$(%i2) /* suponemos que vamos a trabajar con positivos */ assume(a>0, b>0)$ (%i3) factoriza(a-b); (%o3) (sqrt(a) - sqrt(b)) (sqrt(b) + sqrt(a)) (%i4) factoriza(a^2-b^3); (%o4) (a-b^(3/2))*(b^(3/2)+a) (%i5) factoriza(a+b); (%o5) b + a (%i6) factoriza(t); (%o6) t (%i7) factoriza(a-b^2); (%o7) (sqrt(a) - b) (b + sqrt(a)) -- Mario 
 Re: [Maxima-lang-es] simplificando From: CARLOS Enrique CARLEOS Artime - 2010-05-31 12:55:27 aristide@... skribis, je 7h42'35" en 10ª Prerialo 162ª (2010.5.31.7.50): > Una simplificación: > a-b^2=(sqrt(a)-b)*(sqrt(a)+b) > > Maxima expande el producto (sqrt(a)-b)*(sqrt(a)+b) como a-b^2. > Para el recíproco, Cómo obtenerla con Maxima, la necesito para fines > didactico. No lo sé, lo siento. Sólo se me ocurre algo como: (%i10) a - b^2, a=c^2, factor; (%o10) (c - b) (c + b) (%i11) %, c=sqrt(a); (%o11) (sqrt(a) - b) (b + sqrt(a)) -- Carlos Enrique Carleos Artime Departamento de Estadística Departemento pri Statistiko e Investigación Operativa kaj Operaciesploro y Didáctica de la Matemática kaj Didaktiko de Matematiko Universidad Oviedo Universitato Oviedo Reino de España Reĝlando Hispanujo _____________________________________________________________________________ Por favor, NO me GRITE. Bonvolu NE skribi LAŬTE. Las mayúsculas son poco legibles. Majuskloj legeblas malbone. Si le gustan, pruebe la fundición PEIGNOT -tiparon uzu se ili plaĉas. 
 [Maxima-lang-es] simplificando From: - 2010-05-31 12:27:16 Una simplificación: a-b^2=(sqrt(a)-b)*(sqrt(a)+b) Maxima expande el producto (sqrt(a)-b)*(sqrt(a)+b) como a-b^2. Para el recíproco, Cómo obtenerla con Maxima, la necesito para fines didactico. Aprecio la ayuda y atención, arístides 
 Re: [Maxima-lang-es] etiquetas de colores From: Tecpro - 2010-05-23 12:43:58 La verdad es que había probado varias formas de declarar el color y no me funciona ninguna. La versión de gnuplot es la 4.2 con Patchlevel 3. Esta me acepta bien los acentos, de momento no me ha dado problemas. Probaré de actualizar la versión de gnuplot. Saludos y gracias. ----- Original Message ----- From: "xefe" To: "Tecpro" Cc: Sent: Sunday, May 23, 2010 12:53 PM Subject: Re: [Maxima-lang-es] etiquetas de colores > Tecpro escribió: >> Hola, >> intento que las 3 labels sean de color azul y no responde. Incluso he >> probado con los ejemplos de la ayuda de maxima para draw y tampoco me >> cambia de color. ¿Puede tener que ver con la versión de máxima? >> ¿Se puede construir un plano con esos 6 puntos? >> Saludos. >> xyz: [[13800,265,44500],[1000,284,54000],[18000,267.1,41272]]$>> opt:[[2000,360,80000],[14150,263.25,43625],[20000,269.1,40050]]$ >> draw3d( >> key="Óptimos funciones 1, 2 y 3.", >> point_size = 1, >> point_type = filled_square, >> points_joined = false, >> color = blue, >> xlabel=z1,ylabel=z2,zlabel=z3, >> points(opt), >> key="Método restricciones", >> point_type = circle, >> color = green, >> points_joined = false, >> points(xyz), >> label(["Opt 1",2000,350,80000]), >> label(["Opt 2",14150,253.25,43625]), >> color = "red", >> label(["Opt 3",20000,259.1,40050]) > > El color que le quieras asignar a las etiquetas hay que declararlo antes > que los objetos 'label'. Los valores que les quieras dar a xrange, yrange > y zrange deben ser cadenas; si no lo haces así, te escribirá símbolos de > dólar antes de los nombres. > > Por último, no sé cómo lo verás tú, pero yo evito utilizar caracteres > acentuados porque no suelen llevarse bien con gnuplot. La última versión > de gnuplot (4.4) parece que trae mejor soporte para caracteres unicode; > habrá que investigarlo para ver qué provecho le podemos sacar. > > Prueba esto. Si no ves las etiquetas en azul, probablemente se deba a tu > versión de gnuplot; creo recordar que a mí me dió problemas en el pasado. > La que tengo instalada en el ultraportátil desde el que te escribo es la > 4.2.6 y se ven todas en azul. > > draw3d( > > key="Óptimos funciones 1, 2 y 3.", > point_size = 1, > point_type = filled_square, > points_joined = false, > color = blue, > xlabel="z1",ylabel="z2",zlabel="z3", > points(opt), > > key="Método restricciones", > point_type = circle, > color = green, > points_joined = false, > points(xyz), > > color = "blue", > label(["Opt 1",2000,350,80000]), > label(["Opt 2",14150,253.25,43625]), > label(["Opt 3",20000,259.1,40050])); > > -- > Mario 
 Re: [Maxima-lang-es] Formateo de la entrada/salida From: Mario Rodriguez - 2010-05-23 12:22:05 Nohaim escribió: > Gracias Jaime, esto me viene muy bien también para "engancharlo" al > paquete mactex y obtener la salida para LaTeX :-) Hablando de latex, aquí te mando otra alternativa, que puedes añadir a la anterior: texmolecula(expr) := block([salida:"", argumentos:args(expr), n], n : length(argumentos), for k:1 thru n step 2 do if argumentos[k+1] = 1 then salida : concat(salida," ",argumentos[k]) else salida : concat(salida," ",argumentos[k],"_",argumentos[k+1]), salida )$texmezcla(expr) := block([salida:"", argumentos:args(expr), n], n : length(argumentos), salida : texmolecula(argumentos[1]), for k:2 thru n do salida : concat(salida, " + ", texmolecula(argumentos[k])), salida )$ texreaccion(expr):= block([ant, des], [ant, des] : args(expr), concat(texmezcla(ant), " \\rightarrow", texmezcla(des)) )$texput(molecula, texmolecula)$ texput(antes,texmezcla)$texput(despues,texmezcla)$ texput(reaccion, texreaccion)$Ahora, con lo anterior hacemos algunas pruebas: (%i9) tex(molecula(H,2,O,1))$ $$H_2 O$$ (%i10) tex(antes(molecula(H,2,O,1), molecula(N,1,H,4)))$$$H_2 O + N H_4$$ (%i11) miformula: reaccion( antes( molecula(C,4,H,10), molecula(O,2)), despues( molecula(C,1,O,2), molecula(H,2,O,1)) )$ (%i12) tex(miformula)$$$C_4 H_10 + O_2 \rightarrow C O_2 + H_2 O$$ Quizás necesite de algunos refinamientos, pero es una idea. Más complicado sería preparar salida en ascii-art para el terminal o para Xmaxima, pero ahí me temo que habrá que hacerlo en Lisp. En Maxima, un paquete puede estar formado por más de un fichero, pudiendo estar escritos unos en Maxima y otros en Lisp, pues ambos lenguajes se combinan perfectamente. Un saludo. -- Mario   Re: [Maxima-lang-es] etiquetas de colores From: xefe - 2010-05-23 10:53:52 Tecpro escribió: > Hola, > > intento que las 3 labels sean de color azul y no responde. Incluso he > probado con los ejemplos de la ayuda de maxima para draw y tampoco me > cambia de color. ¿Puede tener que ver con la versión de máxima? > > ¿Se puede construir un plano con esos 6 puntos? > > Saludos. > > > xyz: [[13800,265,44500],[1000,284,54000],[18000,267.1,41272]]$ > opt:[[2000,360,80000],[14150,263.25,43625],[20000,269.1,40050]]$> draw3d( > > key="Óptimos funciones 1, 2 y 3.", > point_size = 1, > point_type = filled_square, > points_joined = false, > color = blue, > xlabel=z1,ylabel=z2,zlabel=z3, > points(opt), > > key="Método restricciones", > point_type = circle, > color = green, > points_joined = false, > points(xyz), > > label(["Opt 1",2000,350,80000]), > label(["Opt 2",14150,253.25,43625]), > color = "red", > > label(["Opt 3",20000,259.1,40050]) El color que le quieras asignar a las etiquetas hay que declararlo antes que los objetos 'label'. Los valores que les quieras dar a xrange, yrange y zrange deben ser cadenas; si no lo haces así, te escribirá símbolos de dólar antes de los nombres. Por último, no sé cómo lo verás tú, pero yo evito utilizar caracteres acentuados porque no suelen llevarse bien con gnuplot. La última versión de gnuplot (4.4) parece que trae mejor soporte para caracteres unicode; habrá que investigarlo para ver qué provecho le podemos sacar. Prueba esto. Si no ves las etiquetas en azul, probablemente se deba a tu versión de gnuplot; creo recordar que a mí me dió problemas en el pasado. La que tengo instalada en el ultraportátil desde el que te escribo es la 4.2.6 y se ven todas en azul. draw3d( key="Óptimos funciones 1, 2 y 3.", point_size = 1, point_type = filled_square, points_joined = false, color = blue, xlabel="z1",ylabel="z2",zlabel="z3", points(opt), key="Método restricciones", point_type = circle, color = green, points_joined = false, points(xyz), color = "blue", label(["Opt 1",2000,350,80000]), label(["Opt 2",14150,253.25,43625]), label(["Opt 3",20000,259.1,40050])); -- Mario   [Maxima-lang-es] etiquetas de colores From: Tecpro - 2010-05-22 14:32:51 Attachments: Message as HTML Hola, intento que las 3 labels sean de color azul y no responde. Incluso he probado con los ejemplos de la ayuda de maxima para draw y tampoco me cambia de color. ¿Puede tener que ver con la versión de máxima? ¿Se puede construir un plano con esos 6 puntos? Saludos. xyz: [[13800,265,44500],[1000,284,54000],[18000,267.1,41272]]$ opt:[[2000,360,80000],[14150,263.25,43625],[20000,269.1,40050]]$draw3d( key="Óptimos funciones 1, 2 y 3.", point_size = 1, point_type = filled_square, points_joined = false, color = blue, xlabel=z1,ylabel=z2,zlabel=z3, points(opt), key="Método restricciones", point_type = circle, color = green, points_joined = false, points(xyz), label(["Opt 1",2000,350,80000]), label(["Opt 2",14150,253.25,43625]), color = "red", label(["Opt 3",20000,259.1,40050])  Re: [Maxima-lang-es] Formateo de la entrada/salida From: Nohaim - 2010-05-22 12:27:31 Gracias Jaime, esto me viene muy bien también para "engancharlo" al paquete mactex y obtener la salida para LaTeX :-)   Re: [Maxima-lang-es] Formateo de la entrada/salida From: Mario Rodriguez - 2010-05-21 14:32:31 El vie, 21-05-2010 a las 02:14 +0200, Nohaim escribió: > Muchas gracias Mario! > Sí, realmente la primera opción me parece la más versátil, la > segunda ya la probé, y efectivamente da problemas, más que por los > operadores, por los subíndices: no se pueden (o no sé cómo!) > representar compuestos del tipo Al2(SO4)3. > En cuanto a mis "necesidades": Maxima me parece una herramienta muy > poderosa para el aprendizaje de las matemáticas, la física y la > química, y mi esfuerzo va encaminado a que despierte interés entre los > chicos a partir de 16 años, pero este interés es inversamente > proporcional al número de teclas que hay que pulsar ;-), Qué me vas a decir! Si estás haciendo un paquete para tus alumnos quizás te sea útil definir algunas variables del estilo agua : molecula(H,2,O,1)$ así ellos tendrían que escribir menos y tú ahorrarías tiempo de tus clases. > así que busco > que sea lo más simple y visual posible. > Voy a adaptar las funciones que tengo a la sintaxis que propones, y > a ver qué tal.... La sintaxis que te he sugerido facilitaría el formateo posterior para dar resultados visualmente agradables, como código latex para documentos de calidad. Acabo de leer la respuesta que te ha mandado Jaime. Con ella se puede escribir una función que podrás utilizar a nivel de Maxima y que también te será útil. > Gracias de nuevo, A ti. -- Mario 
 Re: [Maxima-lang-es] Matriz de paso From: Jaime Villate - 2010-05-21 14:31:30 On Fri, 2010-05-21 at 15:06 +0100, Jaime Villate wrote: > No se muy bien que será la matriz de paso. Te refieres a la matriz S > que hace que: > S A S^(-1) > sea diagonal? Me respondo a mi mismo, pues acabé de ver en la Web que la matriz de paso sí es eso. La matriz de paso la obtienes facilmente construyendo una matriz en que cada columna es un vector propio: (%i1) display2d: false$(%i2) A: matrix([1,3],[2,5]); (%o2) matrix([1,3],[2,5]) (%i3) v: eigenvectors(A); (%o3) [[[3-sqrt(10),sqrt(10)+3],[1,1]], [[[1,-(sqrt(10)-2)/3]],[[1,(sqrt(10)+2)/3]]]] (%i4) S: transpose( apply( matrix, makelist( first(i), i, second(v)))); (%o4) matrix([1,1],[-(sqrt(10)-2)/3,(sqrt(10)+2)/3]) Si tienes una versión muy antigua de Maxima, tendrás que ajustar el comando anterior, pues la salida de eigenvectors tenía una estructura un poco diferente en versiones antiguas. Podemos comprobar que S es la matriz de paso de A: (%i5) invert(S).A.S, ratsimp; (%o5) matrix([3-sqrt(10),0],[0,sqrt(10)+3]) A propósito, bienvenido a esta lista. No me había dado cuenta que Cataluña ya tiene su propio dominio en la Internet (bravo). Saludos, Jaime   Re: [Maxima-lang-es] Matriz de paso From: Mario Rodriguez - 2010-05-21 14:22:15 El vie, 21-05-2010 a las 12:57 +0200, Josep Gelonch Anyé escribió: > Hola a todos. > Acabo de darme de alta en la lista y ya os presento mi primera pregunta. > ¿Hay alguna forma de conseguir automáticamente la matriz de paso cuando > realizas la diagonalización de una matriz? > Gracias de antemano por vuestras respuestas. > Saludos, > Josep Gelonch Hola, Función ModeMatrix del paquete diag. Échale un vistazo a la página 62 de http://www.telefonica.net/web2/biomates/maxima/max.pdf También tienes las funciones eigenvectors y eigenvalues por si prefieres hacerlo a mano y paso a paso. Por cierto, el nombre de la función ModeMatrix no sigue el estándar habitualmente seguido en Maxima, que mejor sería mode_matrix o algo por estilo. Bienvenido a la lista. -- Mario   Re: [Maxima-lang-es] Matriz de paso From: Jaime Villate - 2010-05-21 14:06:19 On Fri, 2010-05-21 at 12:57 +0200, Josep Gelonch Anyé wrote: > ¿Hay alguna forma de conseguir automáticamente la matriz de paso > cuando realizas la diagonalización de una matriz? No se muy bien que será la matriz de paso. Te refieres a la matriz S que hace que: S A S^(-1) sea diagonal? Saludos, Jaime   Re: [Maxima-lang-es] Formateo de la entrada/salida From: Jaime Villate - 2010-05-21 12:59:23 On Thu, 2010-05-20 at 00:34 +0200, Nohaim wrote: > Hola a todos! > Estoy preparando un paquete de química para máxima, para el ajuste > de ecuaciones, cálculos estequiométricos, etc. Hasta ahora introduzco > las reacciones como listas de la forma: > [[[C, 4, H, 10], [O, 2]], [[C, 1, O, 2], [H, 2, O, 1]]], y me > preguntaba cómo sería posible formatear la salida (y a poder ser la > entrada) de una forma más amigable, algo como > C4H10 + O2 -> CO2 + H2O. Ando cortito de LISP, así que si me pudiesen > ayudar con algún ejemplo, estaría muuuuy agradecido. Hola, eso sería más fácil en Maxima, mas ya que quieres hacerlo en Lisp, aquí te envío un comando Lisp que hace lo que quieres. Claro que en tu programa será más conveniente que lo desmenuces en varios comandos para que sea mas digerible y más fácil de modificar en futuras versiones: (%i1) a: [[[C, 4, H, 10], [O, 2]], [[C, 1, O, 2], [H, 2, O, 1]]]; (%o1) [[[C, 4, H, 10], [O, 2]], [[C, 1, O, 2], [H, 2, O, 1]]] (%i2) :lisp (format t "~{~a~} + ~{~a~} -> ~{~a~} + ~{~a~}" (mapcar #'ensure-string (cdr (first (cdr (first (cdr$a)))))) (mapcar #'ensure-string (cdr (second (cdr (first (cdr $a)))))) (mapcar #'ensure-string (remove 1 (cdr (first (cdr (second (cdr$a))))))) (mapcar #'ensure-string (remove 1 (cdr (second (cdr (second (cdr $a))))))) ) C4H10 + O2 -> CO2 + H2O NIL Algunos comentarios: - El comando format, con el primer operando igual a t se usa para imprimir en la salida estándar. Si quieres guardar el resultado en una variable, usa nil en vez de t y colócalo dentro de un setq o setf. - El formato entre paréntesis está preparado para recibir 4 listas (las fórmulas de las 4 moléculas). ~{ ~} se usa para iterar en una lista. - Se podría anidar la iteración de cada fórmula química dentro de otra iteración para todas las moléculas del lado izquierdo y igual para el lado derecho. - Como se trata de listas de Maxima, para convertirlas en listas de Lisp hay que eliminar en cada lista el primer elemento. Por eso ves tantos cdr. - La función ensure-string es propia de Maxima y te recupera las letras como H, que ha sido convertida en Lisp para$h (un símbolo). - En las dos últimas fórmulas usé (remove 1 ...) para no imprimir los unos; eso se debería usar en todas las listas. Lo mejor será que crees una función a la que le das una lista Maxima y te da como salida la lista después de eliminar el primer elemento y los unos que halla y de aplicar la función ensure-string a cada elemento de la lista resultante. Espero que esto te sea útil. Saludos, Jaime 
 Re: [Maxima-lang-es] graficos en una misma ventana From: BIOMATES@telefonica.net - 2010-05-21 12:00:07 Attachments: Message as HTML > Hola, si tengo dos gráficos guardados en variables: > > P: plot2d(x,[x,-5,5])$> Q: plot2d(1/x,[x,-15,15])$ > > ¿Cómo ver estos dos gráficos en una misma ventana usando las variable > P y Q? Hola, No sé si te vale draw, pero aquí va un ejemplo. He asignado manualmente el codominio para que el gráfico sea visible. load("draw")$P : explicit(x,x,-5, 5)$ Q : explicit(1/x, x, -15, 15) $draw2d(yrange=[-10,10], P, Q)$ -- Mario 
 [Maxima-lang-es] Matriz de paso From: Josep Gelonch Anyé - 2010-05-21 11:49:26 Hola a todos. Acabo de darme de alta en la lista y ya os presento mi primera pregunta. ¿Hay alguna forma de conseguir automáticamente la matriz de paso cuando realizas la diagonalización de una matriz? Gracias de antemano por vuestras respuestas. Saludos, Josep Gelonch __________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5134 (20100521) __________ ESET NOD32 Antivirus ha comprobado este mensaje. http://www.eset.com 
 Re: [Maxima-lang-es] graficos en una misma ventana From: Jaime Villate - 2010-05-21 10:11:47 On Thu, 2010-05-20 at 20:07 -0430, aristide@... wrote: > Hola, si tengo dos gráficos guardados en variables: > > P: plot2d(x,[x,-5,5])$> Q: plot2d(1/x,[x,-15,15])$ > > ¿Cómo ver estos dos gráficos en una misma ventana usando las variable > P y Q? Hola, los gráficos no se pueden guardar en una variable. Lo que quedará guardado en las variables P y Q son los resultados de la realización de los comandos, que en este caso es una variable vacía. Para ver dos gráficos en uno, hay que usar algo como: plot2d([1/x,x],[x,-15,15],[y,-15,15]); Actualmente no es posible dar dominios diferentes a las varias funciones en plot2d (en plot3d si es posible). Saludos, Jaime 
 [Maxima-lang-es] graficos en una misma ventana From: - 2010-05-21 00:37:48 Hola, si tengo dos gráficos guardados en variables: P: plot2d(x,[x,-5,5])$Q: plot2d(1/x,[x,-15,15])$ ¿Cómo ver estos dos gráficos en una misma ventana usando las variable P y Q? Gracias, por la atención y apoyo 
 Re: [Maxima-lang-es] Formateo de la entrada/salida From: Nohaim - 2010-05-21 00:22:43  Muchas gracias Mario! Sí, realmente la primera opción me parece la más versátil, la segunda ya la probé, y efectivamente da problemas, más que por los operadores, por los subíndices: no se pueden (o no sé cómo!) representar compuestos del tipo Al2(SO4)3. En cuanto a mis "necesidades": Maxima me parece una herramienta muy poderosa para el aprendizaje de las matemáticas, la física y la química, y mi esfuerzo va encaminado a que despierte interés entre los chicos a partir de 16 años, pero este interés es inversamente proporcional al número de teclas que hay que pulsar ;-), así que busco que sea lo más simple y visual posible. Voy a adaptar las funciones que tengo a la sintaxis que propones, y a ver qué tal.... Gracias de nuevo, Un saludo Jose. 
 Re: [Maxima-lang-es] Formateo de la entrada/salida From: Mario Rodriguez - 2010-05-20 20:04:41 Nohaim escribió: > Hola a todos! > Estoy preparando un paquete de química para máxima, para el ajuste > de ecuaciones, cálculos estequiométricos, etc. Hasta ahora introduzco > las reacciones como listas de la forma: > [[[C, 4, H, 10], [O, 2]], [[C, 1, O, 2], [H, 2, O, 1]]], y me > preguntaba cómo sería posible formatear la salida (y a poder ser la > entrada) de una forma más amigable, algo como > C4H10 + O2 -> CO2 + H2O. Ando cortito de LISP, así que si me pudiesen > ayudar con algún ejemplo, estaría muuuuy agradecido. > > Un saludo a todos! > Jose. > Hola Jose, No controlo mucho de química y no sé exactamente tus necesidades. Pero yo empezaría por utilizar una sintaxis del tipo siguiente (con la nomenclatura que tú prefieras): miformula: reaccion( antes( molecula(C,4,H,10), molecula(O,2)), despues( molecula(C,1,O,2), molecula(H,2,O,1)) ) ; Con las funciones op y args te sería muy fácil acceder a los elementos de la ecuación para realizar los cálculos que necesitas. Y si una reacción es el resultado de una función que hayas escrito, sería muy fácil formatearla. Otra sintaxis (o alguna variante de ella): reaccion(C[4]*H[10] + O[2], C*O[2]+H[2]*O); tiene la ventaja de que el aspecto visual es más cercano al habitual, pero me temo que antes o después se produzcan conflictos con las funciones predefinidas + y *. También se puede traducir la ecuación a una cadena de caracteres del estilo que sugieres, pero creo que es la peor de las soluciones, ya que se perdería la estructura interna de sus componentes. No sé. Es difícil responder a tu pregunta sin saber exactamente las necesidades, pero yo me quedaría con la primera opción, aunque parezca que haya que teclear más. Además, su representación interna estaría más cerca de la forma en la que Maxima codifica sus propios objetos, lo cual, a la larga, sólo trae beneficios. Un saludo. -- Mario 
 [Maxima-lang-es] Formateo de la entrada/salida From: Nohaim - 2010-05-19 22:34:13  Hola a todos! Estoy preparando un paquete de química para máxima, para el ajuste de ecuaciones, cálculos estequiométricos, etc. Hasta ahora introduzco las reacciones como listas de la forma: [[[C, 4, H, 10], [O, 2]], [[C, 1, O, 2], [H, 2, O, 1]]], y me preguntaba cómo sería posible formatear la salida (y a poder ser la entrada) de una forma más amigable, algo como C4H10 + O2 -> CO2 + H2O. Ando cortito de LISP, así que si me pudiesen ayudar con algún ejemplo, estaría muuuuy agradecido. Un saludo a todos! Jose. 
 Re: [Maxima-lang-es] eliminar comentarios de un gráfico From: Mario Rodriguez - 2010-05-18 14:22:13 El mar, 18-05-2010 a las 07:40 -0430, aristide@... escribió: > Cuando realizo un gráfico en Maxima. por ejempo, > wxplot2d(x, [x,-5,5]) > Antes gráfico apaarece el siguiente comantario (tres veces): > plot2d: some values wer clipped > plot2d: some values wer clipped > plot2d: some values wer clipped > ¿Cómo eliminarlos? Hola, ¿qué versión de Maxima utilizas? Yo no observo este comportamiento en Linux + Maxima 5.21.1 -- Mario 
 [Maxima-lang-es] eliminar comentarios de un gráfico From: - 2010-05-18 12:25:53 Cuando realizo un gráfico en Maxima. por ejempo, wxplot2d(x, [x,-5,5]) Antes gráfico apaarece el siguiente comantario (tres veces): plot2d: some values wer clipped plot2d: some values wer clipped plot2d: some values wer clipped ¿Cómo eliminarlos? Gracias por la atención 
 Re: [Maxima-lang-es] Signo $From: Tecpro - 2010-05-16 09:18:59 Sí, por ejemplo me refería a crear una función que calcule la fiabilidad de un sistema (definida por dos parámetros lamba y gamma). De ese modo puedo crear otro código que calcule la fiabilidad de 3 componentes llamando a la función anterior y redefiniendo los valores de las variables. Saludos. ----- Original Message ----- From: "Mario Rodriguez" To: "Tecpro" Cc: Sent: Sunday, May 16, 2010 10:02 AM Subject: Re: [Maxima-lang-es] Signo$ > >> Hola, >> > > Hola, > >> cuando ejecuto código dentro de un bucle, sustituyo "punto y coma" por >> "coma". >> ¿Qué debo poner para que me acepte el $? >> > Dentro de una función no se admiten puntos y comas ni dólares. El símbolo > dólar se utiliza en modo interactivo cuando quieres ejecutar un cálculo y > no te interesa ver el resultado. > > Cuando hagas un empaquetamiento de sentencias utiliza siempre la coma. > > >> ¿Hay alguna forma de crear funciones que puedan ser llamadas dentro de >> otro código? >> > > No sé si comprendo la pregunta. Tú puedes definir una función y luego > llamarla desde dentro de otra función. > >> ¿Existe algún comando que te liste todas las variables que se han >> definido? >> > ? values > >> Saludos y gracias por adelantado. > De nada, para eso estamos. > > -- > Mario   Re: [Maxima-lang-es] Graficar listas de Objetos gráficos From: Mario Rodriguez - 2010-05-16 08:21:41 Hola Robert, Tu problema se resuelve con el siguiente código: opciones: [title="Campo vectorial tangente", color=red, parametric(t,sin(t),t,0,2*%pi), color=blue, head_length=0.2, head_angle=10, unit_vectors=true]$ puntos: [color=green, point_type=7, points(P)] $apply(draw2d, append(opciones,T,puntos))$ Como las funciones draw no admiten listas como argumentos, debemos crear una única lista que contenga opciones y objetos gráficos. Una vez creada, aplicamos la función apply. Precisamente estos días tenía previsto hacer algunos cambios en draw que permitiesen que estas funciones admitiesen listas como argumentos. Espero que en la próxima versión de Maxima (que saldrá allá para el verano) tu segundo ejemplo pueda funcionar perfectamente. De momento puedes hacer uso del código anterior. Un saludo. -- Mario 
 Re: [Maxima-lang-es] Signo $From: Mario Rodriguez - 2010-05-16 08:02:13 > Hola, > Hola, > cuando ejecuto código dentro de un bucle, sustituyo "punto y coma" por > "coma". > ¿Qué debo poner para que me acepte el$? > Dentro de una función no se admiten puntos y comas ni dólares. El símbolo dólar se utiliza en modo interactivo cuando quieres ejecutar un cálculo y no te interesa ver el resultado. Cuando hagas un empaquetamiento de sentencias utiliza siempre la coma. > ¿Hay alguna forma de crear funciones que puedan ser llamadas dentro de > otro código? > No sé si comprendo la pregunta. Tú puedes definir una función y luego llamarla desde dentro de otra función. > ¿Existe algún comando que te liste todas las variables que se han > definido? > ? values > Saludos y gracias por adelantado. De nada, para eso estamos. -- Mario 

Showing results of 35

1 2 > >> (Page 1 of 2)