• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af Linnk | 16.03.2008 03:33

Maxima: For den dovne matematiker

Artikel
Maxima er det man kalder et CAS, Computer Algebra System, hvilket vil sige, at det er en avanceret lommeregner. I denne artikel vil vi kigge lidt på den funktionalitet som Maxima udbyder, samt vise hvordan man kan løse enkle matematiske problemer med minimalt besvær.

Først skal vi lige have styr på den basale del af Maxima. I Ubuntu skal du skrive kommandoen,


sudo aptitude install maxima


for at installere programmet. Jeg vil lige gøre opmærksom på, at Maxima kører i terminalen. Det skal dog ikke skræmme dig fra at prøve det, hvilket du gør ved, at skrive,


maxima


i terminalen. Der findes også en grafisk brugerflade til Maxima som jeg måske vil dække senere i en anden artikel.

Du vil nu se en besked fra Maxima som fortæller om hvilken version du har installeret og lidt om licensen. Den sidste linje skulle gerne ligne dette,


(%i1)


Hvis du nu taster 2 + 2; på tasterne og trykker enter, skulle du gerne se følgende,


(%i1) 2 + 2;
(%o1) 4


Du kan også udregne mere avancerede ting, så som,


(%i2) sin(0.5) * (sqrt(%pi) + 1);
(%o2) 0.4794255386042 (sqrt(%pi) + 1)


For at få et forståeligt tal, altså et læsbart resultat, kan du bruge funktionen float(),


(%i3) float(sin(0.5) * (sqrt(%pi) + 1));
(%o3) 1.329185180725674


Så Maxima understøtter altså en hel del funktioner. Her fik vi demonstreret en af de trigonometriske funktioner, samt kvadratrods funktionen. Men Maxima kan langt mere end dette. Den er en veludrustet symbolsk solver. I dette eksempel starter vi med, at deklarere to funktioner,


(%i4) f(x) := 2*x + 5;
(%o4) f(x) := 2*x + 5;
(%i5) g(x) := -0.5*x - 3;
(%o5) g(x) := -0.5*x - 3;


Vi kan nu finde skæringspunktet af de to linjer ved at finde det punkt hvor de to funktioner er ens, derfor løser vi ligningerne for x,


(%i6) float(solve(f(x) = g(x), x));
(%o6) [x = - 3.2]


Nu ved du hvordan man løser almindelige ligninger i Maxima. Det er også muligt at differentiere ligninger, som f.eks.,


(%i7) h(x) := 4*x^2 + 0.5*x - 9;
(%o7) h(x) := 4*x^2 + 0.5*x - 9
(%i8) diff(h(x), x);
(%o8) 8 x + 0.5


Vi kan selvfølgelig også integrere ligningen for et specifikt interval, f.eks. for x mellem 0 og 10,


(%i9) integrate(8 * x + 0.5, x, 0, 10);
(%o9) 405


En sidste nyttig ting er, at du kan deklarere variabler. Dette gøres med kolon operatoren,


(%i10) r : 4.5;
(%o10) 4.5
(%i11) float(2 * %pi * r);
(%o11) 28.27433388230814


Du bør nu kende til de mest basale redskaber i Maxima. Det kan på det stærkeste anbefales, at læse noget af al den anden glimrende dokumentation der findes om Maxima. Heraf kan anbefales,


  • A 10 minute tutorial for solving Math problems with Maxima

  • Introduction to Maxima

  • Maxima reference manual in English


  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer18

# 1

17 år 3 måneder siden

Permalink

Indsendt af lusepuster den 16. marts 2008 kl. 15:19

Permalink

TeXmacs som maxima-interface

Dejlig artikel, Linnk!
jeg bruger Maxima rigtig meget.
Vidste du, at TeXmacs fungerer som interface til Maxima? Det betyder, at man kan foretage inline beregninger i sin artikel, rapport m.m. TeXmacs kan oversætte formatteret matematisk input (integraltegn, summationstegn osv) til Maxima-kode og den anden vej, så man kan få smukt formatteret input og output fra maxima i sit dokument. Og der er endnu flere muligheder end det. Læs denne artikel for en nem og pædagogosk vejledning i at bruge Maxima sammen med TeXmacs.

Ubuntu har et problem i denne sammenhæng: i stedet for bash linker den sin sh til dash, og det ødelægger kompatibiliteten med TeXmacs/Maxima-interfacet. Dette er dog utrolig nemt at rette: Åbn filen /usr/lib/texmacs/TeXmacs/bin/maxima_detect. Denne skal åbnes med administratorrettigheder, for eksempel ved at trykke Alt+F2 og skrive gksudo "gedit /usr/lib/texmacs/TeXmacs/bin/maxima_detect" (her skal citationstegnene med!)
Når filen er åbnet, ændrer man den første linje fra "#!/bin/sh" til "#!/bin/bash" (uden citationstegnene), genstarter TeXmacs, og vupti! finder den Maxima-plugin'et.

En anden ting man kan komme til at savne er muligeden for at få et plot til at vise sig i dokumentet i stedet for i et separat vindue. For at give denne mulighed kan man hente scriptet tmplot, som tilføjer denne funktionalitet. Download arkivet på siden, kør installeringsscriptet og skriv load(tmplot) som det første i din session, så kan du ved at køre kommandoen tmplot eller tmplot3d få dine grafer til at optræde smukt inde i dokumentet. Yderligere info kan findes på tmplot-siden.
  • Log ind eller opret dig for at tilføje kommentarer

# 2

17 år 3 måneder siden

Permalink

Indsendt af shafh.dk den 16. marts 2008 kl. 16:13

Permalink

Cool

Ahh super nice. Det er jo fuldstig som Ti-89'eren. :P
Installerer man btw. Maxisma på samme måde i OpenSUSE?
  • Log ind eller opret dig for at tilføje kommentarer

# 3

17 år 3 måneder siden

Permalink

Indsendt af corfitzulfeldt den 16. marts 2008 kl. 16:21

Permalink

Re: Maxima: For den dovne matematiker

Tilføj Buildservice_science som kilde i opensuse, og installer det vha. Yast.
Overvej også at installere wxmaxima.
  • Log ind eller opret dig for at tilføje kommentarer

# 4

17 år 3 måneder siden

Permalink

Indsendt af Linnk den 16. marts 2008 kl. 16:57

Permalink

Re: Maxima: For den dovne matematiker

Kender godt til TeXmacs, men har ikke haft mulighed for at prøve det da jeg bruger TeXlive og TeXmacs gerne vil have, at jeg bruger (tetex tror jeg det er) en anden LaTeX distribution (oh, og så foretrækker jeg, at skrive LaTeX i hånden, bare for, at lære det grundigt).

Glæder mig, at I kunne lide artiklen. Planlægger, at skrive en som omhandler det grafisk interface til Maxima.

Til sidst planlægger jeg, at omskrive de referencer jeg har til gnuplot, LaTeX, maxima og fityk til en guide som kan bruges af studerende, da det er de værktøjer jeg bruger på min uddannelse som erstatning for de Windows programmer som skolen tilbyder os.

Ville det have nogen interesse?
  • Log ind eller opret dig for at tilføje kommentarer

# 5

17 år 3 måneder siden

Permalink

Indsendt af lusepuster den 16. marts 2008 kl. 20:58

Permalink

Re: Maxima: For den dovne matematiker

Du kan i givet fald se på den artikel som tjansson er medforfatter på: http://www.gamma.nbi.dk/Galleri/gamma140/frieprog.pdf
den kan sagtens tåle en udvidelse, men der er jo ikke nogen grund til ikke at lade sig inspirere den.

På Ubuntu 7.10 har jeg ikke noget ptoblem med at få TeXmacs og TeXLive til at spille sammen. Foretrækker også rendyrket LaTeX, men jeg sværger, teXmacs er et dejligt, dejligt interfave til TeXmacs, Gnuplot, Shell, Octave, Matlab, maple, Mathematica, Mupad, ...



  • Log ind eller opret dig for at tilføje kommentarer

# 6

16 år 3 måneder siden

Permalink

Indsendt af Outoff den 27. marts 2009 kl. 10:18

Permalink

iMaxima til emacs

God artikel! - Jeg stødte selv på Maxima lidt ved et tilfælde, og synes virkeligt det har været meget brugbart, og nemt at have med at gøre.

I forlængelse af det lusepuster skriver vedr. TeXmecs: Hvis man ikke ønsker et direkte stand-alone program, som TeXmecs, kan man benytte sig af iMaxima, som er et plugin(?) til emacs. Dette plugin gør det muligt at få genereret LaTeX-formaterede formler, som man så kan kopiere ind i sit LaTeX-dokument nemt og bekvemt.
Bruger selv emacs sammen med imaxima, da TeXmecs ikke faldt helt i min smag.

På http://members3.jcom.home.ne.jp/imaxima/Site/Welcome.html kan der findes nogle screenshots og information omkring imaxima - og selvfølgelig download mulighed :)

Obs. Man skal være opmærksom på at man skal bruge "breqn"-pakken til LaTeX for at overstående virker. Pakken ligger f.eks. i "texlive-math-extra" i Debian/ubuntu.

Mvh. Morten
  • Log ind eller opret dig for at tilføje kommentarer

# 7

15 år 9 måneder siden

Permalink

Indsendt af astoft den 8. september 2009 kl. 23:46

Permalink

Hvordan løser man en matematisk ligning?

Jeg synes det er synd og skam at man ikke bruger opensource noget mere.
Jeg er matematiklærer i Virum, og jeg ved hvor store problemer der er med at distribuere licenser til MathCad og Maple.
Maxima er frit tilgængeligt, og det er let at installere.
Se her
http://kortlink.dk/6xmv

Venligst

Søren Toft
  • Log ind eller opret dig for at tilføje kommentarer

# 8

15 år 9 måneder siden

Permalink

Indsendt af Remmen den 9. september 2009 kl. 06:13

In reply to Hvordan løser man en matematisk ligning? by astoft

Permalink

Re: Hvordan løser man en matematisk ligning?

Til elever i folkeskolen vil jeg hellere anbefale SMath Studio end Maxima. Interfacet er meget lig MathCad og programmet er nemt at komme i gang med. Det er dog ikke open source og kræver Mono for at køre, så der er nok nogle som ikke vil røre det. Det kører desuden på Windows desktops og smartphones hvis man er til sådan noget.

SMath har også funktioner som solve og kan plotte funktioner i både 2D og 3D.

http://en.smath.info/forum/default.aspx?g=posts&t=202

Udvikles af en russer som ser ud til at være meget lydhør overfor nye forslag.

/Lars
  • Log ind eller opret dig for at tilføje kommentarer

# 9

15 år 9 måneder siden

Permalink

Indsendt af jeppester den 9. september 2009 kl. 00:11

Permalink

#7
Jeg er ked af at sige

#7
Jeg er ked af at sige det, men jeg kan desværre ikke åbne din side, da den er i et eller andet MS-format, der kræver et plugin for at virke.

Tror det ville være smart at gemme i et mere tilgængeligt format, hvis du vil noget med dit open source budskab :D.
  • Log ind eller opret dig for at tilføje kommentarer

# 10

15 år 9 måneder siden

Permalink

Indsendt af *klonk* den 9. september 2009 kl. 17:47

Permalink

Re: Maxima: For den dovne matematiker

Flere artikler om matematik tak!

#9 tak for linket, har aldrig set det før, meget spændende.
  • Log ind eller opret dig for at tilføje kommentarer

# 11

13 år 4 måneder siden

Permalink

Indsendt af ask den 3. februar 2012 kl. 10:24

Permalink

Forklaring på Regression formlen i maxima

Er der nogle der kan forklare mig simple_linear_regression
Efter som det ikke er særligt uddybet i manulaen http://maxima.sourceforge.net/docs/manual/en/maxima.pdf. se side 934.

  • Log ind eller opret dig for at tilføje kommentarer

# 12

13 år 4 måneder siden

Permalink

Indsendt af frogmaster den 3. februar 2012 kl. 17:15

Permalink

That's a hell of a question

That's a hell of a question ...

Måske kan dette hjælpe

http://da.wikipedia.org/wiki/Regressionsanalyse#Simpel_line.C3.A6r_regr…
  • Log ind eller opret dig for at tilføje kommentarer

# 13

13 år 4 måneder siden

Permalink

Indsendt af quap den 3. februar 2012 kl. 17:39

Permalink

God artikel, keep 'em coming

God artikel, keep 'em coming :-)

Vil lige slå et slag for Octave, Godt alternativ til Matlab.
  • Log ind eller opret dig for at tilføje kommentarer

# 14

13 år 4 måneder siden

Permalink

Indsendt af stra den 3. februar 2012 kl. 19:29

Permalink

#13

Har du set dato for artikel? 2008!!
  • Log ind eller opret dig for at tilføje kommentarer

# 15

13 år 4 måneder siden

Permalink

Indsendt af quap den 3. februar 2012 kl. 20:15

Permalink

Ups næh, det havde jeg

#14:
Ups næh, det havde jeg nu godt nok ikke. - doh, min fejl! :-S
  • Log ind eller opret dig for at tilføje kommentarer

# 16

13 år 4 måneder siden

Permalink

Indsendt af ask den 3. februar 2012 kl. 20:17

Permalink

SF har jeg det.

Men derfor kan man da godt spørge i denne tråd i stedet for at oprette en ny.
For samtidigt ville folk der ikke kendte til maxima eller wxmaxima læse den glimrende artikkel. Så jo jeg ved godt den er gammen. Men programmet er ret godt. For står bare ikke output'et fra simpel_linear_regression.
Og der er ikke et decideret maxima forum med mindre der snakkes om en bil hvilken jeg ikke har brug for at vide noget om.
  • Log ind eller opret dig for at tilføje kommentarer

# 17

13 år 4 måneder siden

Permalink

Indsendt af ask den 3. februar 2012 kl. 20:17

Permalink

SF har jeg det.

Men derfor kan man da godt spørge i denne tråd i stedet for at oprette en ny.
For samtidigt ville folk der ikke kendte til maxima eller wxmaxima læse den glimrende artikkel. Så jo jeg ved godt den er gammen. Men programmet er ret godt. For står bare ikke output'et fra simpel_linear_regression.
Og der er ikke et decideret maxima forum med mindre der snakkes om en bil hvilken jeg ikke har brug for at vide noget om.
  • Log ind eller opret dig for at tilføje kommentarer

# 18

13 år 4 måneder siden

Permalink

Indsendt af mrbrown79 den 6. februar 2012 kl. 18:27

Permalink

For står bare ikke

#17: For står bare ikke output'et fra simpel_linear_regression.

Er det matematikken eller softwaren, du ikke forstår?

Som det fremgår af manualen returnerer den et inference_result objekt. Du kan trække de enkelte parametre ud af objektet med bl.a. 'take_inference'. Fx.:


load("stats");
s:[[125,140.7], [130,155.1], [135,160.3], [140,167.2],[145,169.8]];
z:simple_linear_regression(s,conflevel=0.99);
take_inference(model,z);

Returnerer:
1.405999999999985*x-31.18999999999804
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

Gode anmeldelser Zorin OS 17.3 0
llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0

Seneste aktivitet

"Intet realistisk alternativ" - mig i r*ven 11
Ingen Mint 5
Linux App Store Flathub når 3 milliarder downloads 2
Digitaliseringsministeriet sætter gang i pilotprojekt om digital suverænitet 3
Mest sikker webbrowser 5
Firefox 2
Privatbeskeder 7
Backup/synkronisering? 3
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2
Vanilla OS 15
Pepsi Challenge 4
Linuxin er nu migreret til Drupal 11 13
Et Dansk alternativ til Facebook 18
Ekstern Blu-ray-brænder, der fungerer med PCLinuxOS 3
Københavns og Aarhus Kommune dropper MS 9
Open Source-eksperimentet 1
Microsoft og Google ud af de danske skoler 2
Udfordringer med lydin på Debian 12 1

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !