Ero sivun ”Maxima” versioiden välillä

Siirry navigaatioon Siirry hakuun
5 172 merkkiä lisätty ,  7. lokakuuta 2013
Liuta esimerkkejä ja syntaksia
p (kh)
(Liuta esimerkkejä ja syntaksia)
Rivi 4: Rivi 4:


== Käyttöesimerkkejä ==
== Käyttöesimerkkejä ==
Kaikki komennot päättyvät puolipisteeseen.  
*Syöte voi päättyä joko puolipisteeseen tai dollarimerkkiin. Puolipisteen käyttäminen tulostaa tuloksen, dollarimerkin ei.
*Syötteet ja tulokset ovat numeroituja, ja niihin voi viitata myöhemmin: <tt>%o8</tt>
*<tt>_</tt>-muuttuja viittaa edelliseen syötteeseen
*<tt>%</tt>-muuttuja viittaa edelliseen tulokseen
*<tt>'</tt>-etuliiteoperaattori estää lausekkeen laskemisen, mutta ei sievennystä: <tt>'%</tt>
*<tt><nowiki>''</nowiki></tt>-etuliiteoperaattori laskee lausekkeen paikallaan, eli korvaa itsensä tuloksellaan: <tt><nowiki>''</nowiki>%</tt>


Yhtälön ratkaisu:
 
  (%i) solve(4*x^2 = 3*a, x);
Yhtälön ratkaiseminen
  (%i1) solve(4*x^2 = 3*a, x);
                         sqrt(3) sqrt(a)      sqrt(3) sqrt(a)
                         sqrt(3) sqrt(a)      sqrt(3) sqrt(a)
  (%o)            [x = - ---------------, x = ---------------]
  (%o1)            [x = - ---------------, x = ---------------]
                               2                    2
                               2                    2


Derivointi
Derivointi
  (%i) diff(4*x^2 + sin(x) - a, x);
  (%i2) diff(4*x^2 + sin(x) - a, x);
  (%o) cos(x)+8*x
  (%o2)                           cos(x) + 8 x


Integrointi
Integrointi
  (%i) integrate(4*sin(a*x) - a^2*x, x);
  (%i3) integrate(4*sin(a*x) - a^2*x, x);
                                               2  2
                                               2  2
                                 4 cos(a x)  a  x
                                 4 cos(a x)  a  x
(%o3)                        - ---------- - -----
                                    a          2
(%i4) romberg(x**2, x, 0, 3);
(%o4)                                9.0
Sievennys (huomaa dollarimerkin käyttö ja edelliseen tulokseen viittaaminen %-merkillä)
(%i5) (b+c)**2$
(%i6) ratsimp(%);
                                2            2
(%o6)                          c  + 2 b c + b
(%i7) trigsimp(2*cos(x)^2 + sin(x)^2);
                                    2
(%o7)                            cos (x) + 1
Sijoitus
                                            2  2
                              4 cos(a x)  a  x
  (%o)                        - ---------- - -----
  (%o)                        - ---------- - -----
                                     a         2
                                  a          2
(%i) %, a=x;
                                        2    4
                                4 cos(x )  x
(%o)                          - --------- - --
                                    x      2
 
Summia
(%i) sum(1/(x**2), x, 1, inf) + sum(x**2, x, 1, inf);
                            inf        inf
                            ====      ====
                            \      2  \    1
(%o)                        >    x  +  >    --
                            /          /      2
                            ====      ====  x
                            x = 1      x = 1
(%i) sumcontract(%);
                              inf
                              ====
                              \      2  1
(%o)                          >    (x  + --)
                              /            2
                              ====        x
                              x = 1
Sarjan konvergenssi
(%i) sum(1/x**2, x, 1, inf), simpsum;
                                      2
                                     %pi
(%o)                              ----
                                    6
 
Tulos [[TeX]]-muodossa
(%i) tex(%)$
$${{\pi^2}\over{6}}$$
 
Datan lukeminen tiedostosta
$ cat data
1 2
2 5
6 8
12 29
15 34
$ maxima
(%i) v : read_nested_list("data")$
(%i) v;
(%o)            [[1, 2], [2, 5], [6, 8], [12, 29], [15, 34]]
 
$ cat mtrx
1 3 7
2 8 12
4 3 9
$ maxima
(%i) A : read_matrix("mtrx")$
(%i) A;
                                [ 1  3  7  ]
                                [          ]
(%o)                            [ 2  8  12 ]
                                [          ]
                                [ 4  3  9  ]
 
Redusoitu porrasmuoto
(%i) B : read_matrix("matrx2");
                            [  2    1  - 1  8  ]
                            [                    ]
(%o)                      [ - 3  - 1  2  - 11 ]
                            [                    ]
                            [ - 2  1    2  - 3  ]
rref(a):=block([p,q,k],[p,q]:matrix_size(a),a:echelon(a),
    k:min(p,q),
    for i thru min(p,q) do (if a[i,i]=0 then (k:i-1,return())),
    for i:k thru 2 step -1 do (for j from i-1 thru 1 step -1 do a:rowop(a,j,i,a[j,i])),
    a)$
(%i) rref(B);
                              [ 1  0  0  2  ]
                              [              ]
(%o)                        [ 0  1  0  3  ]
                              [              ]
                              [ 0  0  1  - 1 ]
 
== Graafien piirto ==
Tosin kuin Maximan sisäänrakennettu <tt>plot</tt>-toiminnallisuus, hieman monipuolisemman <tt>draw</tt>-moduulin funktiot käyttävät [[Gnuplot]]ia.
 
Funktio aiemmasta esimerkistä
(%i) import(draw)$
(%i) f(c) := <nowiki>''%o6$</nowiki>
(%i) f(%pi*3);
                                              2
(%o)                              (b + 3 %pi)
(%i) draw2d(terminal = wxt,
              grid = true,
              explicit(f(3), b, 0, 10) )$
 
Piirto EPS-tiedostoon 10x10cm -mitoituksella
(%i) draw2d(dimensions = 100*[10,10],
              terminal = eps_color,
              file_name = "deg2",
              grid = true,
              explicit(f(3), b, 0, 10) )$
 
== Eräajo ==
Syötteen putkittaminen Maximalle
echo '1000!;' | xargs -I '{}' maxima --very-quiet --batch-string='{}'
Syötteen lataaminen tiedostosta (esimerkiksi erillistä datatiedostoa käytettäessä)
maxima -b ~/cas/regress.mac
 
== Komentorivieditointi ==
Joissakin jakeluissa SBCL-Lispiä käyttävä Maxima saa tavalliset [[Readline]]-ominaisuudet <tt>rlwrap</tt>illa
rlwrap maxima
 
== Asetukset ==
<tt>~/.maxima/maxima-init.mac</tt> ajetaan aina Maximan käynnistyksen yhteydessä.
Seuraava esimerkki kokoaa väliaikaistiedostot samaan paikkaan:
maxima_tempdir: "/.maxima/tmp"$
load(draw)$


== Käyttöliittymiä ==
== Käyttöliittymiä ==
Maximaa ei ole pakko käyttää komentoriviltä, vaan sille on olemassa useampiakin käyttöliittymiä. Näitä ovat mm.
Maximaa ei ole pakko käyttää komentoriviltä, vaan sille on olemassa useampiakin käyttöliittymiä. Näitä ovat mm.
*[[wxMaxima]]
*[[Xmaxima]]
*[[Xmaxima]]
*[[wxMaxima]]
Nämä antavat tulokset selkeinä graafisina kaavoina monirivisen ASCIIn sijaan.


== Katso myös ==
== Katso myös ==
*[[yacas]]
*[[yacas]]
*[[Sage]]
*[http://maxima.sourceforge.net/docs/manual/en/maxima.html Maximan dokumentaatio]
*[http://maxima.sourceforge.net/docs/manual/en/maxima.html Maximan dokumentaatio]
*[http://www.csulb.edu/~woollett/ Kattavia ohjeita ja esimerkkejä fysiikkapainotuksella]


[[Luokka:Tiedeohjelmat]]
[[Luokka:Tiedeohjelmat]]
Rekisteröitymätön käyttäjä

Navigointivalikko