Funcțiile și comenzile sistemului Maxima. Sistem matematic Maxima Explorează o funcție folosind maximele SCM

03.02.2024 Toate întrebările

Maxima- un sistem informatic care vă permite să lucrați cu expresii simbolice și numerice. Sprijină operațiunile de extindere a seriei, diferențiere, transformare Laplace și integrare. Programul nu se teme de ecuații diferențiale obișnuite, matrice și tensori, sisteme de ecuații liniare, liste, vectori, polinoame, mulțimi. Sistemul de calcul informatic poate produce calcule cu un grad ridicat de precizie. Folosește numere întregi și expresii fracționale. Aplicația poate construi grafice în două sau trei dimensiuni. Are un manual care descrie în detaliu modul de lucru cu utilitarul, care operatori sunt suportați de sistemul de operații matematice. Programul este perfect pentru iubitorii de algebră computerizată: studenți, profesori, absolvenți.



- Lucrează cu expresii matematice numerice și simbolice.
- Sprijină lucrul cu liste, polinoame, matrice, tensori, ecuații diferențiale și sisteme de ecuații liniare.
- Suporta operatii de extindere in serie, diferentiere, transformare Laplace, integrare.
- Efectuează calcule cu un grad ridicat de precizie.
- Folosește numere întregi, expresii fracționale.
- Capabil să construiască grafice în dimensiuni bidimensionale sau tridimensionale.
- Potrivit pentru fanii algebrei computerizate.
- Are documentație accesibilă pentru a vă familiariza cu funcționarea sistemului.
- Nu afectează performanța și viteza mediului de operare.
- Există sprijin pentru limba rusă.

Dezavantajele programului

- Nu există o versiune portabilă.

- Procesor cu o frecvență de ceas de 1200 MHz sau mai puternică.
- RAM 256 MB sau mai mult.
- Spațiu liber pe hard disk de la 185 MB.
- Arhitectură pe 32 de biți sau 64 de biți (x86 sau x64).
- Sistem de operare Windows XP, Windows Vista, Windows 7, Windows 8

Calculatoare multifuncționale: tabele de comparație

Numele programului În rusă Distribuții Instalator Popularitate Dimensiune Index
★ ★ ★ ★ ★ 48,7 MB 100
★ ★ ★ ★ ★ 59,8 MB 99
★ ★ ★ ★ ★ 1,3 MB 86

Interfata programului: rusă

Platformă: XP/7/Vista

Producător: Alexey Beshenov

Maxima- una dintre cele mai puternice aplicații matematice de astăzi, care are multe capacități pentru calcularea unui număr destul de mare de diferite funcții. Este de la sine înțeles că aplicația este un produs destul de specific pe care utilizatorul mediu este puțin probabil să îl folosească. Faptul este că, în primul rând, programul este conceput pentru calcule științifice și de inginerie, deși poate fi util unui număr mare de studenți.

Principalele caracteristici ale programului Maxima

Dacă vorbim despre principalele capabilități ale acestui produs software unic, atunci merită imediat remarcat numărul mare de funcții cu care programul poate funcționa. Aceasta include diferențierea, funcțiile integrale, calculul funcțiilor explicite și implicite, lucrul cu expresii în virgulă mobilă, recunoașterea sistemelor de ecuații liniare, transformările Laplace, extinderea seriei, calcularea matricelor și tensoarelor, lucrul cu sisteme de ecuații, mulțimi, fracții exacte, polinoame, vectori, funcții de trasare folosind reprezentarea 2D sau 3D și multe altele. Probabil, astăzi nu există o zonă de calcule matematice pe care acest sistem să nu o recunoască.

În ceea ce privește interfața acestui produs software, în ciuda complexității programului în sine, este destul de simplă. Panoul principal are mai multe tipuri de meniuri, în care, de fapt, sunt prezentate toate secțiunile calculelor matematice. Când utilizați fiecare dintre ele, trebuie să introduceți problema inițială, iar programul va oferi automat soluția optimă. Mai mult, în unele cazuri este posibil să se obțină rezultatul sub formă de dovezi detaliate cu toate procedurile și justificările descrise pentru acceptarea rezultatului final.

În plus, orice soluție poate fi imprimată cu ușurință sau, în unele cazuri, se pot obține graficele corespunzătoare. Trebuie spus că întreg acest sistem nu pare să fie în nici un fel împovărător, chiar și în ciuda complexității sale aparente. Este clar că un instrument atât de puternic poate fi pe gustul multor utilizatori. Cu siguranță, lucrătorii de inginerie, mințile științifice și studenții vor aprecia capacitățile sale enorme, lista sarcinilor suportate, precum și viteza inimaginabilă a muncii. Așadar, dacă de multe ori ai de-a face cu atât de multe calcule matematice, atunci pur și simplu nu vei găsi un produs software mai bun pentru acest tip de sarcină. În general, aplicația funcționează, după cum se spune, cu un plus.

MINISTERUL EDUCAȚIEI ȘI ȘTIINȚEI AL FEDERATIEI RUSE AGENȚIA FEDERALĂ PENTRU EDUCAȚIE INSTITUȚIA DE ÎNVĂȚĂMÂNT DE STAT

ÎNVĂȚĂMÂNT PROFESIONAL SUPERIOR „UNIVERSITATEA DE STAT YELTSK numită după. I. A. BUNINA"

CENTRUL DE SOFTWARE GRATUIT

T. N. Gubina, E. V. Andropova

SOLUȚIA DIFERENȚIALĂ

ECUAȚII ÎN SISTEMUL MATEMATIC CALCULATOR MAXIMA

Tutorial

UDC 519.62+519.63+004.94 BBK 32.973.26-018

Publicat prin hotărâre a consiliului editorial și editorial al Universității de Stat Yelets numit după I.A. Bunin din 27 mai 2009, protocol nr.2

Recenzători:

EL. Masina, candidat la științe fizice și matematice, conferențiar (Universitatea de Stat Eletsk numită după I.A. Bunin); A. V. Yakushin, candidat la științe pedagogice, conferențiar

(Universitatea Pedagogică de Stat Tula numită după L.N. Tolstoi)

T. N. Gubina, E. V. Andropova

G 93 Rezolvarea ecuațiilor diferențiale în sistemul de matematică computerizată Maxima: tutorial. – Yelets: Universitatea de Stat Yelets poartă numele. I.A. Bunina, 2009. – 99 p.

Manualul poate fi utilizat în cadrul disciplinelor de analiză matematică, ecuații diferențiale, pachete de aplicații software etc. în diverse specialități din instituțiile de învățământ profesional superior, dacă standardul educațional de stat prevede studierea secțiunii „Ecuații diferențiale”, precum și ca parte a cursurilor opționale. De asemenea, poate fi util pentru familiarizarea cu sistemele de matematică computerizată în clasele de specialitate ale instituțiilor de învățământ general cu studiu aprofundat al matematicii și informaticii.

UDC 519,62+519,63+004,94 BBK 22,1+22,18 R30

© Gubina T.N., Andropova E.V., 2009

© Universitatea de Stat din Erevan poartă numele I.A. Bunina, 2009

Prefață .................................................. .... ................................................. ..........................

Capitolul 1. Bazele lucrului în sistemul de calcul matematic Maxima

1.1. Despre sistemul Maxima.................................................. ............................................................. ........... ..

1.2. Instalarea Maxima pe un computer personal.................................................. ........ ....

1.3. Interfața ferestrei principale Maxima.................................................. ........ ........................

1.4. Lucrul cu celule în Maxima............................................. ......................................................

1.5. Lucrul cu sistemul de ajutor Maxima.................................................. ........ .............

1.6. Funcțiile și comenzile sistemului Maxima.................................................. ....... .................

1.7. Gestionarea procesului de calcul în Maxima.................................................. ....... .......

1.8. Cele mai simple transformări ale expresiilor............................................. ...... ..............

1.9. Rezolvarea ecuațiilor algebrice și a sistemelor acestora.................................................. ........ ....

1.10. Capabilitati grafice.................................................................. ...................................

Capitolul 2. Metode numerice de rezolvare a ecuaţiilor diferenţiale

2.1. Informații generale despre ecuațiile diferențiale............................................. ......

2.2. Metode numerice de rezolvare a problemei Cauchy pentru diferenţialul ordinar

ecuație de ordinul întâi.................................................. ........................................

2.2.1. Metoda lui Euler.............................................................. ................................................... ......... .....

2.2.2. Metoda Euler-Cauchy.............................................................. .......................................................... .................

2.2.3. Metoda Runge-Kutta 4 ordine de precizie........................................... .......... .............

2.3. Rezolvarea problemelor cu valori la limită pentru ecuații diferențiale obișnuite

metoda diferențelor finite.................................................. ............................. ................................. ..........

2.4. Metoda grilă pentru rezolvarea ecuațiilor cu diferențe parțiale

apă................................................. .. ................................................ ........ ................................

Capitolul 3. Găsirea soluțiilor ecuațiilor diferențiale în sistemul Maxima

3.1. Funcții încorporate pentru găsirea de soluții la ecuații diferențiale

3.2. Rezolvarea ecuațiilor diferențiale și a sistemelor lor sub formă simbolică

formă................................................. ....... ................................................. .............................................

3.3. Construcția traiectoriilor și a câmpurilor de direcție ale ecuațiilor diferențiale

nou................................................. ........................................................ ............................. ................................

3.4. Implementarea metodelor numerice de rezolvare a problemei Cauchy pentru ordinare

ecuații diferențiale................................................. ....................................

3.4.1. Metoda lui Euler.............................................................. ................................................... ......... .....

3.4.2. Metoda Euler-Cauchy.................................................. .......................................................... .................

3.4.3. Metoda Runge-Kutta ................................................. ...................................................... .......

3.5. Implementarea unei metode cu diferențe finite pentru rezolvarea unei probleme cu valori la limită pentru obișnuit

noi ecuații diferențiale.................................................. .... ....................

3.6. Implementarea metodei grile pentru ecuații cu diferențe parțiale

derivate.................................................................. ....... ................................................. ............. ................

Sarcini pentru soluție independentă.................................................................

Literatura ................................................. ....... ................................................. ............. .............

Prefaţă

Teoria ecuațiilor diferențiale este una dintre cele mai mari ramuri ale matematicii moderne. Una dintre principalele caracteristici ale ecuațiilor diferențiale este legătura directă dintre teoria ecuațiilor diferențiale și aplicații. Când studiază orice fenomen fizic, cercetătorul, în primul rând, își creează idealizarea matematică sau modelul matematic, notează legile de bază care guvernează acest fenomen în formă matematică. Foarte des aceste legi pot fi exprimate sub formă de ecuații diferențiale. Acestea se dovedesc a fi modele ale diferitelor fenomene de mecanică a continuului, reacții chimice, fenomene electrice și magnetice etc. Prin studierea ecuațiilor diferențiale rezultate împreună cu condiții suplimentare, care, de regulă, sunt specificate sub formă de condiții inițiale și de limită. , matematicianul obține informații despre fenomenul care se produce, uneori poate afla trecutul și viitorul acestuia.

Pentru a compila un model matematic sub formă de ecuații diferențiale, de regulă, trebuie să cunoașteți numai conexiuni locale și nu aveți nevoie de informații despre întregul fenomen fizic în ansamblu. Un model matematic face posibilă studierea unui fenomen în ansamblu, prezicerea dezvoltării lui și efectuarea evaluărilor calitative ale măsurătorilor care apar în el în timp. Undele electromagnetice au fost descoperite pe baza analizei ecuațiilor diferențiale.

Putem spune că nevoia de a rezolva ecuații diferențiale pentru nevoile mecanicii, adică de a găsi traiectorii de mișcare, la rândul său, a fost impulsul pentru Newton pentru a crea un nou calcul. Aplicațiile noului calcul la probleme de geometrie și mecanică au fost făcute prin ecuații diferențiale obișnuite.

Luând în considerare dezvoltarea modernă a tehnologiei informatice și dezvoltarea intensivă a unei noi direcții - matematica pe calculator- pachetele software numite sisteme de matematică pe calculator au devenit larg răspândite și solicitate.

Matematică pe calculator- o nouă direcție în știință și educație care a apărut la intersecția dintre matematica fundamentală, tehnologiile informaționale și informatice.

Sistemul de matematică pe calculator (SCM) este un set de programe care asigură procesarea automată, unificată tehnologic și în buclă închisă a problemelor matematice atunci când se stabilesc condiții într-un limbaj special furnizat.

Sistemele moderne de matematică pe computer sunt programe cu o interfață grafică cu mai multe ferestre și un sistem de ajutor dezvoltat, care le face mai ușor de învățat și utilizat.

Principalele tendințe în dezvoltarea SCM sunt creșterea capacităților matematice, în special în domeniul calculelor analitice și simbolice, o extindere semnificativă a instrumentelor de vizualizare pentru toate etapele de calcul, utilizarea pe scară largă a graficii 2D și 3D și integrarea diverse sisteme între ele.

Şi alte software, acces larg la Internet, organizare de colaborare pe proiecte educaționale și științifice pe Internet, utilizarea instrumentelor de animație și procesare a imaginilor, instrumente multimedia

etc.

O circumstanță semnificativă care până de curând a împiedicat utilizarea pe scară largă a SCM în educație este costul ridicat al software-ului profesional științific matematic. Cu toate acestea, recent, multe companii care dezvoltă și distribuie astfel de programe prezintă (prin Internet - http://www.softline.ru) versiuni anterioare ale programelor lor pentru utilizare gratuită, folosesc pe scară largă un sistem de reduceri pentru instituțiile de învățământ și distribuie demo sau versiuni de încercare pentru programe gratuite

În plus, apar analogi liberi ai sistemelor de matematică computerizată, de exemplu, Maxima, Scilab, Octave etc.

Acest tutorial examinează capacitățile sistemului de matematică computerizată Maxima pentru găsirea de soluții la ecuații diferențiale.

De ce Maxima?

În primul rând, sistemul Maxima este un proiect open source non-profit. Maxima aparține unei clase de produse software care sunt distribuite sub GNU GPL (General Public License).

În al doilea rând, Maxima este un program pentru rezolvarea problemelor matematice atât sub formă numerică, cât și simbolică. Gama capacităților sale este foarte largă: acțiuni de transformare a expresiilor, lucru cu părți de expresii, rezolvare de probleme de algebră liniară, analiză matematică, combinatorică, teoria numerelor, analiza tensorială, probleme statistice, construirea graficelor de funcții în plan și în spațiu în diferite sisteme de coordonate etc. d.

În al treilea rând, Maxima are acum o interfață grafică multiplatformă puternică, eficientă și ușor de utilizat, numită WxMaxima (http://wxmaxima.sourceforge.net).

Autorii cărții studiază de zece ani sisteme de matematică computerizată precum Mathematica, Maple, MathCad. Prin urmare, cunoscând capacitățile acestor produse software, în special pentru găsirea de soluții la ecuații diferențiale, am dorit să studiez problema legată de organizarea calculelor sub formă simbolică în sistemele matematice computerizate distribuite liber.

Acest manual vorbește despre posibilitățile de organizare a procesului de căutare a soluțiilor ecuațiilor diferențiale bazate pe sistemul Maxima și conține informații generale despre organizarea muncii în sistem.

Manualul este format din 3 capitole. Primul capitol prezintă cititorii în interfața grafică wxMaxima a sistemului Maxima, caracteristicile de lucru în acesta și sintaxa limbajului sistemului. Considerarea sistemului începe cu unde puteți găsi distribuția sistemului și cum să o instalați. Al doilea capitol discută aspecte generale ale teoriei ecuațiilor diferențiale și metode numerice de rezolvare a acestora. Al treilea capitol este dedicat funcțiilor încorporate ale sistemului

matematică pe calculator Maxime pentru găsirea de soluții la ecuații diferențiale obișnuite de ordinul 1 și 2 sub formă simbolică. Tot în capitolul al treilea este prezentată implementarea metodelor numerice de rezolvare a ecuațiilor diferențiale în sistemul Maxima. La sfârșitul manualului există sarcini pentru soluții independente.

Sperăm că o gamă largă de utilizatori vor fi interesați de manual și va deveni asistentul lor în stăpânirea unui nou instrument de rezolvare a problemelor matematice.

T.N. Gubina, E.V. Andropova Yelets, iulie 2009

Capitolul 1 BAZELE LUCRĂRII ÎN SISTEMUL MATEMATIC MAXIMA COMPUTER

1.1. Despre sistemul Maxima

ÎN Ca parte a proiectului de creare a inteligenței artificiale în 1967, dezvoltarea primului sistem de algebră computerizată, Macsyma, a fost inițiată la Institutul de Tehnologie din Massachusetts. Programul a fost folosit și dezvoltat de mulți ani la universitățile din America de Nord, unde au apărut multe variații ale sistemului. Maxima este o astfel de variantă, creată de profesorul William Schelter în 1982. În 1998, a primit permisiunea oficială de la Departamentul de Energie al SUA pentru a lansa Maxima sub licența GPL. Și din 2001, Maxima se dezvoltă ca un proiect internațional gratuit bazat pe SourceForge.

ÎN În prezent, Maxima este un sistem computerizat de matematică care este conceput pentru a efectua calcule matematice (atât simbolice, cât și numerice), cum ar fi:

– simplificarea expresiilor;

– vizualizarea grafică a calculelor;

– rezolvarea ecuațiilor și a sistemelor acestora;

– rezolvarea ecuațiilor diferențiale obișnuite și a sistemelor acestora;

– rezolvarea problemelor de algebră liniară;

– rezolvarea problemelor de calcul diferenţial şi integral;

– rezolvarea de probleme de teoria numerelor și ecuații combinatorii etc.

ÎN Sistemul are un număr mare de comenzi și funcții încorporate, precum și capacitatea de a crea noi funcții de utilizator. Sistemul are propriul său limbaj. De asemenea, are încorporat un limbaj de programare la nivel înalt, care indică posibilitatea de a rezolva noi probleme și capacitatea de a crea module separate și de a le conecta la sistem pentru a rezolva o anumită gamă de probleme.

1.2. Instalarea Maxima pe un computer personal

O versiune distribuită gratuit a kitului de distribuție Maxima, documentația în limba engleză, tipurile și tipurile de interfețe de sistem pot fi vizualizate și descărcate de pe site-ul web al programului http://maxima.sourceforge.net. La momentul redactării acestui manual, cea mai recentă versiune a distribuției era Maxima 5.18.1.

Maxima în sine este un program de consolă și „desenează” toate formulele matematice folosind caractere de text obișnuite.

Sistemul este multi-platformă, are o dimensiune de distribuție mică (≈ 21,5 MB), este ușor de instalat și are mai multe interfețe grafice rusificate: xMaxima, wxMaxima, TexMacs.

Cea mai prietenoasă, simplă și ușor de utilizat interfață grafică în prezent este interfața wxMaxima. Prin urmare, în viitor vom folosi această interfață.

T.N. Gubina, E.V. Andropova

Instalarea Maxima pe Windows

Fișierul rezultat după descărcare, de exemplu maxima-5.18.1.exe (dimensiunea fișierului de aproximativ 21,5 megaocteți), este executabil. Pentru a începe instalarea programului, faceți dublu clic pe el cu butonul stâng al mouse-ului. Va apărea imediat o fereastră de selectare a localizării (selectați limba rusă).

ÎN În fereastra care apare, selectați calea de instalare a programului (o puteți lăsa neschimbată).

Să trecem la alegerea componentelor de instalat. Dintre toate cele de mai sus, „extra” pentru noi sunt pachetele de suport lingvistic Maxima.

În timpul instalării, este recomandabil să instalați interfața grafică xMaxima, deoarece interfața wxMaxima se bazează pe aceasta și este necesară pentru rezolvarea anumitor probleme, de exemplu, la realizarea construcțiilor grafice.

ÎN Următoarele ferestre vă solicită să selectați locația comenzii rapide pentru a lansa programul (în meniul Start, pe desktop etc.). Etapa finală va fi o fereastră care vă va cere să începeți instalarea. După finalizarea instalării, selectați „Următorul” și „Terminare”.

Astfel, instalarea programului este finalizată.

Instalarea Maxima sub Linux

Maxima este inclus în multe distribuții Linux, de exemplu, AltLinux, Mandriva, Ubuntu, Fedora etc. În unele cazuri, poate fi necesar să îl instalați din depozitul de distribuție folosind sistemele yum sau sinaptice.

Pentru a instala pe alte distribuții Linux, trebuie să utilizați un pachet de sistem Maxima adecvat, care poate fi descărcat de pe site http://maxima.sourceforge.net.

Acum puteți începe să lucrați cu sistemul.

Tutorialul este axat pe lucrul cu sistemul Maxima instalat sub Linux. Rețineți că toate comenzile în cauză sunt active și pe un sistem instalat sub Windows.

Mai întâi, să ne familiarizăm cu interfața ferestrei principale a programului.

1.3. Interfața ferestrei principale Maxima

După pornirea sistemului Maxima 5.18.1 cu interfața grafică wxMaxima, apare fereastra de lucru a programului (Fig. 1).

Capitolul 1 Bazele lucrului în sistemul de calcul matematic Maxima

Orez. 1. Vedere a ferestrei de lucru a sistemului Maxima

Structura ferestrei, după cum se poate vedea din figură, are o formă standard:

linia de titlu, care conține numele programului și informații despre dacă documentul de lucru este salvat (dacă documentul este salvat, atunci numele acestuia este scris);

panoul meniului programului – acces la funcțiile și setările principale ale programului. Conține funcții pentru rezolvarea unui număr mare de probleme matematice tipice, împărțite în grupe: ecuații, algebră, analiză, simplificare, grafice, calcule numerice.

nia. Rețineți că introducerea comenzilor prin casetele de dialog facilitează lucrul cu programul pentru utilizatorii începători;

bara de instrumente - conține butoane pentru crearea unui document nou, salvarea rapidă a unui document, apelarea unei ferestre de ajutor, crearea celulelor de intrare, întreruperea calculelor, butoane pentru lucrul cu clipboard-ul etc.;

zona de lucru - documentul în sine, în care sunt formate celule de intrare și sunt afișate rezultatele comenzilor executate;

bare de defilare;

panou cu butoane - un set de butoane pentru apelarea rapidă a unor comenzi: simplificați, rezolvați o ecuație sau sistem, construiți un grafic etc.;

bara de stare.

T.N. Gubina, E.V. Andropova

În Maxima, o comandă este orice combinație de expresii matematice și funcții încorporate. Fiecare comandă se termină cu simbolul „;”, iar dacă lipsește, sistemul însuși va adăuga acest simbol.

1.4. Lucrul cu celule în Maxima

După ce sistemul a pornit, puteți începe calculele. Pentru a face acest lucru, ar trebui să adăugați o așa-numită celulă de intrare, în care introduceți o comandă în sistem pentru a efectua o acțiune.

Sistemul poate fi folosit ca un calculator puternic pentru a găsi valorile expresiilor numerice. De exemplu, pentru a găsi valoarea produsului 120 și 1243, trebuie să:

– în bara de instrumente, faceți clic pe butonul Inserare celulă de introducere (sau apăsați tasta Enter de pe tastatură). Ca rezultat, o celulă de intrare se va forma în zona de lucru (Fig. 2).

Fig.2. Formarea unei noi celule de intrare

Fig.3. Efectuarea calculelor în Maxima

Astfel, în document s-au format două linii: (%i1) - celulă de intrare și pentru aceasta (%o1) - celulă de ieșire. Fiecare celulă are propria etichetă - numele celulei cuprins între paranteze. Celulele care conțin date de intrare (formule, comenzi, expresii) sunt numite celule de intrare. Ele sunt notate cu %iChislo, unde Chislo este numărul celulei de intrare (i este prescurtarea cuvântului englezesc input). Celulele în care

Aici puteți descărca gratuit o nouă versiune a aplicației matematice Maxima în limba rusă pentru Windows XP / Vista / 7 / 8 / 10 de pe server sau de pe site-ul oficial.

Descrierea programului Maxima:

Maxima- un sistem de algebră computerizată conceput pentru a lucra cu expresii simbolice și numerice, inclusiv integrare, diferențiere, extindere în serie, transformată Laplace, sisteme de ecuații liniare, ecuații diferențiale obișnuite, mulțimi, polinoame, liste, vectori, matrice și tensori.

Deoarece programul efectuează calcule destul de serioase din domeniul ingineriei și al matematicii superioare, este puțin probabil ca utilizatorul obișnuit să aibă nevoie de el. Dar specialiștii care efectuează calcule științifice și de inginerie, precum și mulți studenți, vor aprecia capacitățile sale enorme, lista sarcinilor suportate și viteza excelentă de lucru.

Maxima este una dintre cele mai puternice aplicații matematice disponibile astăzi, care are multe capacități de calculare a unui număr destul de mare de diferite funcții. În plus față de funcțiile de mai sus, programul efectuează calcule numerice de înaltă precizie folosind fracții exacte, numere întregi și numere în virgulă mobilă de precizie arbitrară. Sistemul vă permite să reprezentați funcții și statistici în două și trei dimensiuni.

Probabil, astăzi nu există o zonă de calcule matematice pe care acest sistem să nu o recunoască.

Interfața programului. În ciuda complexității sale, este destul de simplu. Panoul de control principal are mai multe secțiuni de meniu, în care sunt prezentate toate metodele de calcul matematic. Pentru a începe lucrul cu fiecare secțiune, utilizatorul trebuie să introducă problema inițială, iar programul va oferi automat soluția optimă.

Mai mult, în unele cazuri este posibil să se obțină rezultatul sub formă de dovezi detaliate cu toate procedurile și justificările descrise pentru acceptarea rezultatului final.

Maxima este un descendent al legendarului sistem de algebră computerizată Macsyma, dezvoltat la începutul anilor '60 la MIT. Este singurul sistem bazat pe Macsyma încă disponibil public și are o comunitate de utilizatori activă datorită deschiderii sale. La un moment dat, Macsyma a revoluționat algebra computerizată și a influențat multe alte sisteme, inclusiv Maple și Mathematica.

Nume Maxima
Versiune 5.40.0
Limbă rusă da
Sistem Windows XP / Vista / 7 / 8 / 10
Dezvoltator

Deoarece această serie de articole se va concentra pe un program matematic pentru calcule simbolice, mai întâi câteva cuvinte despre ceea ce sunt aceste calcule simbolice sau, așa cum se mai numesc, analitice, spre deosebire de calculele numerice. Se știe că computerele funcționează cu numere (întregi și virgulă mobilă). De exemplu, soluțiile ecuației x 2 = 2 x + 1 pot fi obținute ca −0,41421356 și 2,41421356, iar 3 x = 1 ca 0,33333333. Dar aș dori să văd nu o înregistrare digitală aproximativă, ci o valoare exactă, adică 1±√2 în primul caz și 1/3 în al doilea. Diferența dintre calculele numerice și cele simbolice începe cu acest exemplu simplu. Dar, pe lângă aceasta, există și probleme care nu pot fi deloc rezolvate numeric. De exemplu, ecuațiile parametrice, unde sub forma unei soluții trebuie să exprimați necunoscutul printr-un parametru; sau găsirea derivatei unei funcții; Da, aproape orice problemă destul de generală poate fi rezolvată doar în formă simbolică. Prin urmare, nu este de mirare că pentru această clasă de probleme au apărut programe de calculator care operează nu numai cu numere, ci cu aproape orice obiecte matematice, de la vectori la tensori, de la funcții la ecuații integro-diferențiale etc.

Maxime în știință și educație

Dintre software-ul matematic pentru calcule analitice (simbolice), cel mai cunoscut este cel comercial ( Arţar, Mathematica); Acesta este un instrument foarte puternic pentru un om de știință sau profesor, student absolvent sau student, permițându-vă să automatizați cea mai rutină și mai solicitantă parte a muncii, operand în același timp cu o înregistrare analitică a datelor, adică, de fapt, formule matematice. Un astfel de program poate fi numit mediu de programare, cu diferența că elementele limbajului de programare sunt notații matematice familiare oamenilor.

Programul, care a devenit subiectul articolului, funcționează pe aceleași principii și oferă funcționalități similare; Diferența sa cea mai radicală este că nu este nici comercial, nici închis. Cu alte cuvinte, vorbim de software liber. De fapt, utilizarea software-ului liber este mai naturală pentru știința fundamentală decât pentru știința comercială, deoarece modelul care este folosit în software-ul liber este un model de deschidere și disponibilitate publică a tuturor dezvoltărilor. Evident, aceleași proprietăți sunt inerente rezultatelor activității științifice. Folosind această similitudine de abordări, se pot considera de fapt extensii ale funcționalității software-ului liber sau biblioteci suplimentare care pot fi create pentru nevoile lor în procesul de cercetare științifică ca parte integrantă a rezultatelor unei astfel de cercetări. Și aceste rezultate pot fi utilizate și distribuite la discreția utilizatorului, fără a ține cont de restricțiile impuse de licențele software-ului sursă. În cazul software-ului comercial, care este proprietatea producătorului său, acest tip de libertate este limitat în mod semnificativ, variind de la incapacitatea de a transfera liber (și legal) un astfel de software în sine, împreună cu dezvoltări și până la posibile revendicări de brevet din partea dezvoltatorului de software. companie în cazul distribuirii de biblioteci suplimentare de casă la aceasta.

Pe de altă parte, direcția principală, pe lângă dezvoltarea științifică, în care sunt solicitate astfel de programe este învățământul superior;

iar utilizarea software-ului gratuit pentru nevoile educaționale este o oportunitate reală atât pentru universitate, cât și pentru studenți și profesori de a avea la dispoziție copii legale ale unui astfel de software fără costuri bănești mari, sau chiar semnificative. Maxima Acest articol începe o serie dedicată programului gratuit de calcul analitic

. În această serie, voi încerca să vă ofer cea mai completă impresie despre program: acesta va fi dedicat atât principiilor, cât și elementelor de bază ale lucrului cu Maxima, precum și o descriere a capacităților sale mai largi și exemple practice.

Istoria proiectului, cunoscut acum sub numele de Maxima, a început la sfârșitul anilor ’60, la legendarul MIT (Massachusetts Institute of Technology), când, în cadrul marelui proiect MAC care exista în acei ani, au început lucrările la un calcul simbolic. programul care a primit numele Macsyma (de la MAC Symbolic MANipulation). Arhitectura sistemului a fost dezvoltată până în iulie 1968, programarea însăși a început în iulie 1969. Lisp a fost ales ca limbaj pentru dezvoltarea sistemului, iar istoria a arătat că a fost alegerea corectă: dintre limbajele de programare existente la acea vreme , este singurul care continuă să se dezvolte și astăzi – la aproape jumătate de secol de la începerea proiectului. Principiile care stau la baza proiectului au fost ulterior împrumutate de programele comerciale care se dezvoltă cel mai activ astăzi - Mathematica și Maple; Astfel, Macsyma a devenit de fapt fondatorul întregii direcții de programe de matematică simbolică. Desigur, Macsyma a fost un proiect comercial închis; a fost finanțat de organizații publice și private, inclusiv de istoricul ARPA (Advanced Research Projects Agency; vă amintiți ARPAnet - strămoșul Internetului?), Departamentele de Energie și Apărare din SUA, DOE și DOD. Proiectul se dezvolta activ, iar organizațiile care îl controlau s-au schimbat de mai multe ori, așa cum este întotdeauna cazul proiectelor închise de lungă durată. în 1982, profesorul William Schelter a început să dezvolte propria sa versiune bazată pe același cod, numit Maxima. în 1998, Shelter a reușit să obțină drepturile de a publica codul sub GPL de la DOE. Proiectul original Macsyma a încetat să mai existe în 1999. William Shelter a continuat să dezvolte Maxima până la moartea sa în 2001. Dar, așa cum este tipic pentru software-ul open source, proiectul nu a murit împreună cu autorul și curatorul său. Acum, proiectul continuă să se dezvolte activ, iar participarea la el este cea mai bună carte de vizită pentru matematicieni și programatori din întreaga lume.

Câteva cuvinte despre program

În acest moment, Maxima este lansat pentru două platforme: sisteme compatibile cu Unix, adică Linux și *BSD și MS Windows. Desigur, voi vorbi despre versiunea Linux.

Maxima în sine este un program de consolă și desenează toate formulele matematice folosind caractere de text obișnuite. Există cel puțin două avantaje în acest sens. Pe de o parte, Maxima în sine poate fi folosit ca un nucleu, cu interfețe grafice construite deasupra acestuia pentru a se potrivi fiecărui gust. Există destul de multe dintre ele astăzi; de data aceasta mă voi concentra pe cele două cele mai populare (vezi bara laterală) – și pe cele mai vizuale și ușor de utilizat, iar despre restul vom vorbi în numerele următoare; sunt interesante și în felul lor, deși mai specifice.

Pe de altă parte, de la sine, fără suplimente de interfață, Maxima este nepretențioasă din punct de vedere hardware și poate funcționa pe computere pe care nimeni nu le consideră acum computere (acest lucru poate fi relevant, de exemplu, pentru o universitate sau un laborator științific, care cel mai probabil nu au bani pentru a-și actualiza flota de mașini, dar poate apărea nevoia de software pentru calcul simbolic).

Numele de funcții și variabile în Maxim sunt sensibile la majuscule, adică diferă prin litere mari și mici. Acest lucru nu va fi nou pentru nimeni care a lucrat cu sisteme compatibile cu POSIX sau limbaje de programare, cum ar fi, de exemplu, C sau Perl. Acest lucru este convenabil și din punctul de vedere al unui matematician, pentru care este, de asemenea, obișnuit ca literele majuscule și mici să poată desemna diferite obiecte (de exemplu, mulțimi și, respectiv, elementele acestora).

Pentru a începe să lucrați cu programul, veți avea nevoie de pachetul Maxima; Dacă nu se află în depozitele standard ale distribuției dvs., atunci îl puteți obține pe site-ul web al proiectului, a cărui adresă este dată în bara laterală.

Principiile de lucru cu programul nu depind de interfața pe care o alegeți pentru acesta, așa că voi încerca să abstrag cât mai mult posibil dintr-o anumită interfață, limitându-mă la doar mici comentarii în cazurile în care acestea se comportă diferit.

Momentan, cea mai recentă versiune a programului este 5.9.3, despre care voi vorbi; dacă distribuția dvs. are încă o versiune mai veche, puteți, în principiu, să o utilizați: atât 5.9.2, care era relevantă cu câteva luni în urmă, cât și 5.9.1, lansată la sfârșitul anului trecut, nu au diferențe fundamentale față de cea actuală.

Interfețe grafice pentru Maxima

Din punctul de vedere al cunoașterii lui Maxima, două interfețe prezintă cel mai mare interes.

Primul este un program separat de grafică independent numit . Acesta, ca și Maxima în sine, pe lângă Linux/*BSD, există și într-o versiune pentru MS Windows. În wxMaxima, introduceți formule sub formă de text, iar rezultatul Maxima este afișat grafic, folosind simboluri matematice familiare. În plus, se pune mare accent pe ușurința introducerii: linia de comandă este separată de fereastra I/O, iar butoanele suplimentare și un sistem de meniu vă permit să introduceți comenzi nu numai în text, ci și în modul de dialog. Așa-numita „completare automată” din linia de comandă are de fapt doar asemănarea cu ea, prin aceea că este apelată de tasta „Tab”. Din păcate, se comportă doar ca un istoric de comandă inteligentă, adică apelează comanda de la cei deja introduși în această sesiune care începe cu caracterele specificate pe linia de comandă, dar nu completează numele comenzilor și parametrii acestora. Astfel, această interfață este cea mai convenabilă atunci când trebuie să faceți o mulțime de calcule și să vedeți rezultatele pe ecran; și, de asemenea, poate, dacă nu vă place să introduceți toate comenzile de la tastatură. În plus, wxMaxima oferă o interfață convenabilă pentru documentația sistemului; deși, deoarece documentația vine în format html, puteți utiliza în schimb un browser obișnuit.


A doua interfață destul de interesantă pentru Maxima este un mod suplimentar în editor . Deși acest editor împărtășește un fundal istoric comun cu binecunoscutul Emacs, așa cum sugerează și numele, există puține asemănări practice între ele. TeXmacs este dezvoltat pentru editarea vizuală a textelor științifice, în care vedeți textul editat pe ecran aproape în aceeași formă în care va fi tipărit. În special, are un așa-numit mod de introducere matematică, care este foarte convenabil pentru a lucra cu o mare varietate de formule și poate importa/exporta text în LaTeX și XML/HTML. Maxima, numit de la TeXmacs, folosește capacitatea de a lucra cu formule. De fapt, formulele sunt afișate în notația matematică obișnuită, dar în același timp pot fi editate și copiate în alte documente, cum ar fi textul obișnuit. Sesiunea Maxima este apelată din meniu: „ introduceSesiuneMaxima", și apare un meniu suplimentar cu comenzi Maxima. După începerea sesiunii, puteți trece deja la modul de introducere matematică în interiorul acesteia (meniul modului de introducere este apelat de primul buton de pe panoul de intrare) și, de asemenea, puteți utiliza elemente de notație matematică la intrare. Această interfață va fi cea mai convenabilă pentru cei care doresc să folosească rezultatele calculelor în textele lor și le place să le editeze vizual.



Să începem

După începerea sesiunii Maxima, vedem următoarele rânduri:

Maxima a repornit. (%i1)

Primul este un mesaj că kernel-ul Maxima tocmai a pornit (în schimb, în ​​funcție de versiune și de versiunea specifică, pot fi afișate informații scurte despre program);


a doua este o invitație de a introduce prima comandă. O comandă în Maxim este orice combinație de expresii matematice și funcții încorporate, terminată, în cel mai simplu caz, cu punct și virgulă. După ce ați introdus comanda și apăsați „Enter”, Maxima va imprima rezultatul și va aștepta următoarea comandă:

Pentru operațiile aritmetice se folosesc notații tradiționale: -, +, *, /; ** sau ^ pentru exponențiere, sqrt() pentru rădăcina pătrată.

Dacă pentru unele notații nu este evident cum să le scrieți într-o linie, voi explica acest lucru pe măsură ce merg mai departe. După cum puteți vedea, fiecare celulă are propria etichetă; această etichetă este numele celulei cuprins între paranteze. Celulele de intrare sunt denumite %i cu un număr (i de la intrare - intrare), celule de ieșire - ca %o cu ​​numărul corespunzător (o din ieșire

- concluzie). Toate numele de servicii încorporate încep cu semnul %: pentru, pe de o parte, pentru a le face suficient de scurte și ușor de utilizat și, pe de altă parte, pentru a evita eventualele suprapuneri cu numele personalizate, care sunt adesea convenabile de păstrat. scurt. Datorită acestei uniformități, nu va trebui să vă amintiți, așa cum se întâmplă adesea în alte sisteme, care dintre aceste nume scurte și convenabile sunt rezervate de program și pe care le puteți utiliza pentru nevoile dvs. De exemplu, denumirile interne %e și %pi denotă constante matematice binecunoscute; iar %c cu un număr denotă constante utilizate în integrare, pentru care utilizarea literei „c” este tradițională în matematică.

Aici %+47/59 este la fel cu %o1+47/59 .

Rezultatul calculului nu este întotdeauna necesar pe ecran; poate fi suprimat prin terminarea comenzii cu un simbol $ în loc de; . Rezultatul dezactivat este încă evaluat; După cum puteți vedea, în acest exemplu, celulele %o1 și %o2 sunt disponibile, deși nu sunt afișate (celula %o2 este accesată prin simbolul %, a cărui semnificație este descifrată mai sus):

Fiecare comandă ulterioară nu trebuie să fie scrisă pe o linie nouă; Dacă introduceți mai multe comenzi într-o singură linie, fiecare dintre ele va avea în continuare propriul nume de celulă. De exemplu, aici, în rândul de după eticheta %i1, sunt introduse celule de la %i1 la %i4; celula %i3 folosește %i1 și %i2 (indicată prin _ - intrarea anterioară):


În wxMaxima și TeXmacs, ultima sau singura comandă de pe o linie nu trebuie să fie urmată de un caracter final - acesta va funcționa la fel ca și cum ar fi fost terminat; , adică ieșirea nu va fi dezactivată. În alte exemple voi omite adesea; . Dacă alegeți o altă interfață, nu uitați să o adăugați.

Pe lângă folosirea numelor de celule, putem, desigur, să dăm și noi nume oricăror expresii. În alt mod, putem spune că atribuim valori variabilelor, cu diferența că orice expresie matematică poate acționa ca valoare a unei astfel de variabile. Acest lucru se face folosind două puncte - semnul egal este lăsat pe seama ecuațiilor, care, având în vedere contextul matematic general al notației, sunt mai ușor și mai familiar de citit în acest fel. Și în plus, deoarece principalul hobby al lui Maxima este notația simbolică și calculele analitice, ecuațiile sunt folosite destul de des. De exemplu:

Într-un fel, două puncte sunt chiar mai clare în acest context decât semnul egal: acest lucru poate fi înțeles în sensul că definim o anumită denumire și apoi folosim două puncte pentru a descifra ce înseamnă exact. Odată ce expresia este numită, o putem numi pe nume oricând:

Orice nume poate fi șters din expresia atribuită utilizând funcția kill(), iar memoria ocupată de această expresie poate fi eliberată. Pentru a face acest lucru, trebuie doar să tastați kill(name) , unde nume este numele expresiei care urmează să fie distrusă;

în plus, acesta poate fi fie un nume atribuit de dvs., fie orice celulă de intrare sau de ieșire. În mod similar, puteți șterge toată memoria simultan și puteți elibera toate numele tastând kill(all) . În acest caz, toate celulele I/O vor fi, de asemenea, șterse, iar numerotarea lor va începe din nou de la una. Pe viitor, dacă contextul înseamnă o continuare logică a liniilor I/O anterioare, voi continua numerotarea (am folosit deja această tehnică mai sus). Când noua „sesiune” nu este în niciun fel conectată cu cea anterioară, voi începe din nou numerotarea; aceasta va fi o comandă indirectă pentru a face „kill(all)” dacă introduceți exemple în Maxima, deoarece numele de variabile și celule pot fi repetate în astfel de „sesiuni”.

Acces la documentația Maxima


În exemplele de mai sus am folosit două funcții încorporate. După cum puteți ghici cu ușurință din context, rezolvarea este o funcție pentru rezolvarea unei ecuații, iar diff este o funcție de diferențiere. Aproape toate funcționalitățile Maxima sunt implementate prin astfel de funcții încorporate. O funcție din Maxima poate avea un număr variabil de argumente. De exemplu, funcția solve, pe care am folosit-o cu un singur argument, este mai des numită cu două argumente. Prima specifică ecuația sau funcția ale cărei rădăcini trebuie găsite; a doua este variabila pentru care trebuie rezolvată ecuația:

Dacă formula care definește ecuația de rezolvat conține un singur simbol, ca în exemplul anterior, atunci al doilea argument poate fi omis, deoarece alegerea pentru ce să rezolve ecuația este încă neambiguă.

Cea de-a doua funcție a noilor noștri prieteni - diff - poate lua și un singur argument; în acest caz, găsește diferența expresiei date:

Fiecare funcție încorporată are o descriere în documentația Maxima. Conține informații despre ce argumente acceptă funcția și în ce variante, precum și o descriere a acțiunilor sale în diferite cazuri și exemple specifice de aplicare. Dar, desigur, căutarea unei descrieri a fiecărei funcții necesare în documentația html sau paginile de informații nu este întotdeauna convenabilă, mai ales că aceste informații sunt de obicei necesare chiar în procesul de lucru. Prin urmare, Maxima are o funcție specială - describe(), care oferă informații din documentație pentru anumite cuvinte. Mai mult decât atât, în special pentru confortul obținerii de informații de referință, există o versiune scurtată a apelării acestei funcții: ? nume în loc de descrie(nume) . Aici? este numele operatorului, iar argumentul trebuie separat de acesta printr-un spațiu (expresia ?name este folosită pentru a apela funcția Lisp numită nume). descrie funcția și operatorul? afișează o listă de secțiuni de ajutor și nume de funcții care conțin textul specificat și apoi vă solicită să introduceți numărul secțiunii sau descrierea funcției pe care doriți să o vizualizați:

Când selectați o secțiune, conținutul acesteia va fi afișat:


Dacă pentru cuvântul pe care l-ai introdus după? sau descrie , este găsită o singură potrivire, descrierea acesteia va fi afișată imediat.

Pe lângă ajutor, multe funcții Maxima au exemple de utilizare. Un exemplu poate fi încărcat cu funcția example(). Apelarea acestei funcții fără argument va afișa o listă cu toate exemplele de nume disponibile; un apel ca exemplu(nume) va încărca fișierul exemplu specificat în sesiunea curentă și îl va executa:


Rezolvarea problemei cu lansarea din TeXmacs

Dacă aveți probleme la lansarea unei sesiuni Maxima din TeXmacs, acordați atenție cine rulează sub numele /bin/sh pe sistemul dumneavoastră. Faptul este că inițializarea tuturor sesiunilor diferite este implementată în TeXmacs prin scripturi shell numite folosind /bin/sh. Și scriptul responsabil pentru sesiunea Maxima utilizează o caracteristică care nu este standardizată așa cum este necesar pentru /bin/sh , dar este prezentă în emularea sa bash. Cu alte cuvinte, dacă /bin/sh-ul dvs. nu este un link către /bin/bash , ci altceva, atunci acesta poate fi motivul incapacității de a deschide o sesiune Maxima (de exemplu, în Debian și distribuțiile bazate pe ea alte decât bash link /bin/sh poate dori, de asemenea, să instalați o liniuță mai ușoară, în acest caz, puteți restabili starea de lucru folosind dpkg-reconfigure dash). Dacă nu este posibil să faceți /bin/sh un link către /bin/bash, puteți încerca să schimbați #!/bin/sh în #!/bin/bash în /usr/lib/texmacs/TeXmacs/bin/maxima_detect . Le-am scris dezvoltatorilor TeXmacs despre această problemă, dar nu am primit încă niciun răspuns de la ei, așa că nu pot spune încă dacă acest defect va fi corectat în versiunile următoare.

Principii de bază

Faptul că Maxima este scris în Lisp devine clar pentru o persoană familiarizată cu acest limbaj deja la începutul lucrului cu programul. Într-adevăr, Maxim arată clar principiul „Lisp” al lucrului cu date, care se dovedește a fi foarte util în contextul matematicii simbolice și al calculelor analitice. Faptul este că în Lisp, în general, nu există nicio separare între obiecte și date: numele de variabile și expresiile pot fi folosite aproape în același context. În Maxima, această proprietate este dezvoltată și mai mult: de fapt, putem folosi orice simbol, indiferent dacă îi este atribuită vreo expresie. În mod implicit, un simbol asociat cu orice expresie va reprezenta acea expresie; un simbol care nu este legat de nimic se va reprezenta pe sine, din nou interpretat ca o expresie. Să explicăm cu un exemplu:

Rezultă din aceasta, în special, că valoarea simbolului inclus în acesta este înlocuită automat în expresie numai dacă această valoare a fost atribuită simbolului înainte ca expresia să fie definită:

Dacă un simbol are deja o anumită semnificație, putem folosi simbolul în sine mai degrabă decât sensul său într-o expresie?

Cu siguranţă. Acest lucru se poate face folosind semnul apostrof - introdus înaintea oricărui caracter sau expresie, împiedică calcularea acestuia:

Rezultatul expresiei %i12 ar fi similar dacă b și y nu ar avea valori în acel moment; astfel, putem bloca în siguranță evaluarea simbolurilor fără să ne amintim (sau să știm) dacă le sunt atribuite expresii.

Putem face același lucru cu orice funcție încorporată dacă nu dorim să o executăm, dar să o folosim în contextul nostru matematic. De exemplu, funcția de diferențiere deja menționată ne poate fi utilă pentru a desemna derivata într-o ecuație diferențială; în acest caz, desigur, nu este nevoie să îl calculați:

Datorită caracteristicilor descrise, lucrul în Maxim, pe de o parte, devine în multe privințe similar cu munca „manuală” tradițională cu formule matematice, care practic elimină bariera psihologică atunci când începe să lucrezi cu programul. Pe de altă parte, chiar și în această etapă inițială, sunteți eliberat efectiv de cea mai rutină muncă manuală, cum ar fi urmărirea valorilor simbolurilor curente și vă puteți concentra complet asupra sarcinii în sine. Desigur, blocarea evaluărilor nu este singura modalitate de a influența modul în care Maxima evaluează o anumită expresie; acest proces poate fi controlat destul de flexibil.