Rekisteröitymätön käyttäjä
Ero sivun ”Maxima” versioiden välillä
Siirry navigaatioon
Siirry hakuun
Liuta esimerkkejä ja syntaksia
p (kh) |
(Liuta esimerkkejä ja syntaksia) |
||
Rivi 4: | Rivi 4: | ||
== Käyttöesimerkkejä == | == Käyttöesimerkkejä == | ||
*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 | |||
(% | 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) | ||
(% | (%o1) [x = - ---------------, x = ---------------] | ||
2 2 | 2 2 | ||
Derivointi | Derivointi | ||
(% | (%i2) diff(4*x^2 + sin(x) - a, x); | ||
(% | (%o2) cos(x) + 8 x | ||
Integrointi | Integrointi | ||
(% | (%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 | 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]] | ||
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]] |