Sign in to follow this  
DarwinNE

Maxima, il nipotino del grande MACSYMA

Recommended Posts

(C9) plot2d(F,[X,1,10],[gnuplot_term, aqua]);
Unknown plot option specified: gnuplot_term
-- an error. Quitting. To debug this try DEBUGMODE(TRUE)

Ah, non saprei... Mi informero' sulle versioni di Maxima che permettono di fare quei funambolismi.

Prova a vedere cosa consiglia la tua versione di Maxima nell'help di plot2d:

(%i3) ? plot2d; 0: plot2d  (Definitions for Plotting) 1: plot2d_ps  (Definitions for Plotting)Enter space-separated numbers, `all' or `none': 0 [CUT]        * Plot with points.               (%i6) plot2d([discrete,xx,yy],[gnuplot_curve_styles,                     ["with points"]])$        * Plot the curve `cos(<x>)' using lines and (<xx>,<yy>) using          points.               (%i7) plot2d([cos(x),[discrete,xx,yy]],[x,0,10],                    [gnuplot_curve_styles,                    ["with lines","with points pointsize 3"]])$     See also `plot_options', which describes plotting options and has     more examples.

Nel mio caso, verso la fine ho un sacco di esempi in cui usa i comandi di Gnuplot.

ovviamente da gnuplot parte automaticamente aqua.

se invece non uso l'pzione mi si apre un terminal strano che si chiama schelter's 2d Plot Window che credo sia stato installato da fink quando ho installato maxima. Per curiosità, sul tuo sito ho visto come settare aqua per gnuplot con il comando ''set terminal aqua'', non c'è niente di simile per maxima?

Non è Maxima che sceglie il terminale. E' Gnuplot. Ma tu hai configurato la variabile di sistema GNUTERM?

export GNUTERM=aqua

Io ho questo frammento di codice direttamente nel file .bash_profile.

Sarà che aqua non è il massimo ma per quello che serve a me va bene (fa un grafico e me lo fa salvare), quali sono altri terminali gnuplot adeguati?

Non c'è niente di male ad usare Aqua come fai tu. Per avere l'output in un file, io preferisco pero' utilizzare il terminale postscript, come ho descritto nella discussione relativa a Gnuplot.

Ad ogni modo mi preme più fare grafici e poterli salvare, cosa che per il momento non posso fare...pensa che schifo di terminale che usa maxima!

Il problema non è di Maxima, ma di Gnuplot. Tutte le opzioni passate tramite plot2d sono in realtà comandi Gnuplot che vengono dati in pasto a quest'ultimo. Si direbbe che il terminale di Gnuplot non sia configurato correttamente e che Maxima per una ragione che ignoro non interpreti i modificatori tipo gnuplot_preamble e compagnia.

Non so se si tratta di un problema di versione. Effettivamente, la 5.9 non è recentissima, ma mi sembra un po' strano, perché la comunicazione con Gnuplot esiste da un pezzo. Posso assicurare che tutti gli esempi che ho fornito funzionano bene con la 5.11 che ho sul portatile e sul fisso.

Share this post


Link to post
Share on other sites

allora, ho copiato la riga

export GNUTERM=aqua

nel file .bash_profile. nell'help del comando plot2d non compare quello che compare a te:


(C1) ? plot2d

0: PLOT2D :(maxima.info)Definitions for Plotting.
1: PLOT2D_PS :Definitions for Plotting.
Enter n, all, none, or multiple choices eg 1 3 : 0

Info from file /sw/share/info/maxima.info:
- Function: PLOT2D (expr,range,...,options,..)
- Function: PLOT2D ([expr1,expr2,..,exprn],xrange,...,options,..)
- Function: PLOT2D (parametric_expr)
- Function: PLOT2D ([..,expr,..,parametric_expr,..],xrange,...,options)
EXPR is an expression to be plotted on y axis as a function of 1
variable. RANGE is of the form [var,min,max] and expr is assumed
to be an expression to be plotted against VAR. In the second form
of the function a list of expressions may be given to plot against
VAR. Truncation in the y direction will be performed, for the
default y range. It may be specified as an option or using
SET_PLOT_OPTION.

(C1) plot2d(sin(x),[x,-5,5]);
(C2) plot2d(sec(x),[x,-2,2],[y,-20,20],[nticks,200]);

Anywhere there may be an EXPR you may also use a parametric
expression: PARAMETRIC_EXPR is a Maxima list of the form
`[parametric, xexpr, yexpr, trange, ..options]' Here XEXPR and
YEXPR are functions of 1 variable VAR which is the first element
of the range TRANGE. The plot is of the path traced out by the
pair `[XEXPR, YEXPR]' as VAR varies in TRANGE. In the following
example, we plot a circle, then we do the plot with only a few
points used, so that we get a star, and finally we plot this
together with an ordinary function of X.

(C1) plot2d([parametric,cos(t),sin(t),[t,-%pi*2,%pi*2]]);
(C2) plot2d([parametric,cos(t),sin(t),[t,-%pi*2,%pi*2],
[nticks,8]]);
(C3) plot2d([x^3+2,[parametric,cos(t),sin(t),[t,-5,5]]],
[x,-3,3]);

per le versioni di maxima, sul sito fink nella sezione pacchetti c'è la versione 5.13 ma con il comando fink install maxima mi ha messo la 5.9 e credo che tutti i problemi nascano da lì. ma se scarico dal sito di fink la versione recente (5.13) poi come la installo? devo prima cancellare quella che ho già giusto? come devo fare?

Non uso finkCommander, quindi tutto da terminale.

P.S.: complimenti per il tuo sito davvero ben fatto e soprattutto utile.

Share this post


Link to post
Share on other sites

se vedi qui http://pdb.finkproject.org/pdb/package.php/maxima

vedi che la versione per leopard è solo la 5.9 .. che poi la devi scaricare da sorgenti..

ora io per scaricare da sorgenti, uso un'altra stringa..

non so la tua stringa "fink install maxima" vale per entrambi.. non so..

cmq sei riuscito a installare maxima, con quella stringa..

ma poi ti chiedeva, trovati i pacchetti, le varie domande, se volevi altri programmi?

ha installato tutti i pacchetti?

Share this post


Link to post
Share on other sites

si si ho installato tutto, tant'è vero che ora ho una finestra per vedere i grafici che prima non avevo. cmq hai ragione per leopard c'è solo la 5.9, mi sembrava strano che con una nuova ne installasse una vecchia ma controllare non fa male.

forse mi sbaglio, ma credo che il tutto dipenda da un'idiozia, tipo una semplice riga da aggiungere a qualche comando.

Share this post


Link to post
Share on other sites

Allora, ho fatto un po' di ricerche e da quanto ci ho capito, sembrerebbe proprio che l'interfaccia di comunicazione con Gnuplot sia stata estesa nelle ultime versioni di Maxima.

Per la versione 5.9, c'è qualcosina descritto nel Maxima book:

http://michel.gosse.free.fr/documentation/fichiers/maximabook.pdf

A pagina 79 e seguenti.

Share this post


Link to post
Share on other sites

tutto ok, il file che mi hai linkato è perfetto e finalmente ora usa aqua.

Visto che te ne intendi, ma maxima risolve anche equazioni differenziali alle derivate parziali? lo chiedo perchè ho visto che per le altre va una meraviglia...

Share this post


Link to post
Share on other sites

maxima risolve anche equazioni differenziali alle derivate parziali? lo chiedo perchè ho visto che per le altre va una meraviglia...

Vedo solo ora la domanda. Non saprei rispondere, dato che fino ad adesso per le equazioni differenziali alle derivate parziali (PDE) ho utilizzato soprattutto metodi numerici (differenze finite o metodi basati su decomposizione in una serie di Fourier troncata), programmando in C o sotto Octave.

Share this post


Link to post
Share on other sites

anch'io ho problemi con octave e maxima. in realtà

per maxima ho provato ad installarlo con i darwin port (o macport, gli ho installati entrambi) ma nulla, nè da porticus nè da terminale mi da il seguente errore:

sh-3.2# port install maxima

---> Building sbcl with target all

Error: Target org.macports.build returned: shell command "unset LD_PREBIND && unset LD_PREBIND_ALLOW_OVERLAP && sh make.sh "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_sbcl/work/sbcl-0.9.16-x86-darwin/src/runtime/sbcl --core /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_sbcl/work/sbcl-0.9.16-x86-darwin/output/sbcl.core --disable-debugger --sysinit /dev/null --userinit /dev/null" " returned error 127

Command output: sh: make.sh: No such file or directory

Error: The following dependencies failed to build: sbcl

Error: Status 1 encountered during processing.

per octave l'ho installatto col .dmg

funziona, si, ma male credo; per plottare mi apre x11 e non posso nemmeno salvare il grafico prodotto. poi non l'ho usato molto.

cosa mi consigliate: vado con Fink? ma dovrò fare una pulizia di tutto quello che ho installato finora? tipo darwin port etc....?

Share this post


Link to post
Share on other sites

anch'io ho problemi con octave e maxima. in realtà

per maxima ho provato ad installarlo con i darwin port (o macport, gli ho installati entrambi) ma nulla, nè da porticus nè da terminale

Non ti posso aiutare più di tanto, perché ho installato il programma un bel po' di tempo fa. Ad ogni modo, sei su una macchina con processore Intel? Mi pare che sul MacBook ho dovuto ritoccare qualcosa per farlo compilare correttamente.

per octave l'ho installatto col .dmg

funziona, si, ma male credo; per plottare mi apre x11 e non posso nemmeno salvare il grafico prodotto. poi non l'ho usato molto.

E' un problema di configurazione del terminale di Gnuplot. Octave si appoggia a questo programma per fare i suoi grafici. Hai letto la discussione corrispondente per capire come funziona Gnuplot?

http://www.macitynet.it/forum/showthread.php?t=47855

Share this post


Link to post
Share on other sites

ragazzi ho un problema che mi chiedevo se potesse essere risolto con Maxima...

il prof x la mia tesi mi ha dato da inserire in questo programma una serie di equazioni differenziali spaventose.. considerato che io sono uno studente di agraria, tutta sta accozzaglia di calcoli matematici la capisco ben poco, ma sto facendo del mio meglio per uscirne fuori..

il mio problema è il seguente.. (guardate anke il jpg allegato x capire meglio)

devo inserire una sommatoria di derivate... mw sta per bilancio di massa del mio componente, wcp per bilancio di massa cellulare e wsol bilancio di massa della soluzione...

devo fare una sommatoria di derivate in maxima.. e quindi fare

dmw10/dt + dmw9/dt + dmw8/dt + ecc... fino a dmw0/dt = dmwsol/dt...

dopo ognuno di quei termini è uguale a un'altra formula, che si ricava con un'altra formula, che si ricava con altre formule.. insomma ci sono altre 20 formule da inserire.. ma secondo me il problema principale sta in questa sommatoria di derivate che nn riesco a fare..

per prima cosa mi chiedevo se un calcolo del genere si potesse fare con maxima o è pura utopia...

poi pensavo che forse avrei dovuto far memorizzare al programma ogni termine della sommatoria e quindi fare una roba del genere:

w10 : dmw10/dt

w9: dmw9/dt... eccc

e alla fine fare diff(w10,w9,ecc)... x risolvere il problema..

se mi aiutate salvate la vita di uno studente.. nn riesco a scapparne fuori e ora iniziano anche le vacanze di Natale e il prof nn mi aiuta per 2 settimane, quindi se nn ce la faccio con le mie forze nn riuscirò mai a laurearmi in tempo..

grazie mille!!!!!!

(Spero di aver spiegato bene il problema.. nn mastico molto nè il linguaggio matematico nè quello informatico..)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this