Kuinka käyttää maximal pro -ohjelmaa. Maxima-järjestelmän toiminnot ja komennot

Kotiin / Erittelyt

Koska tämä artikkelisarja keskittyy matemaattiseen ohjelmaan symbolisten laskelmien suorittamiseksi, kerron ensin muutama sana siitä, mitä nämä symboliset tai, kuten niitä kutsutaan myös, analyyttiset laskelmat ovat, toisin kuin numeeriset laskelmat. Tietokoneiden tiedetään toimivan numeroilla (kokonaisluku ja liukuluku). Esimerkiksi yhtälön x 2 = 2 x + 1 ratkaisut voidaan saada muodossa −0,41421356 ja 2,41421356 ja 3 x = 1 muodossa 0,33333333. Mutta en haluaisi nähdä likimääräistä digitaalista tallennusta, vaan tarkkaa arvoa, eli ensimmäisessä tapauksessa 1±√2 ja toisessa 1/3. Ero numeeristen ja symbolisten laskelmien välillä alkaa tästä yksinkertaisesta esimerkistä. Mutta tämän lisäksi on myös ongelmia, joita ei voida ratkaista numeerisesti ollenkaan. Esimerkiksi parametriyhtälöt, joissa ratkaisun muodossa täytyy ilmaista tuntematon parametrin kautta; tai funktion derivaatan löytäminen; Kyllä, melkein mikä tahansa melko yleinen ongelma voidaan ratkaista vain symbolisessa muodossa. Siksi ei ole yllättävää, että tämän luokan ongelmia esiintyi tietokoneohjelmia, joka toimii paitsi numeroiden, myös melkein minkä tahansa matemaattisen objektin kanssa, vektoreista tensoreihin, funktioista integro-differentiaaliyhtälöihin jne.

Maxima tieteessä ja koulutuksessa

Analyyttisten (symbolisten) laskelmien matemaattisista ohjelmistoista tunnetuin on kaupallinen ( Vaahtera, Mathematica); Tämä on erittäin tehokas työkalu tiedemiehelle tai opettajalle, jatko-opiskelijalle tai opiskelijalle, jonka avulla voit automatisoida rutiinisimman ja vaativimman osan työstä samalla kun työskentelet analyyttisellä tietojen, eli itse asiassa matemaattisten kaavojen, tallennuksella. Tällaista ohjelmaa voidaan kutsua ohjelmointiympäristöksi sillä erolla, että ohjelmointikielen elementit ovat ihmisille tuttuja matemaattisia merkintöjä.

Ohjelma, josta tuli artikkelin aihe, toimii samoilla periaatteilla ja tarjoaa samanlaisia ​​toimintoja; Sen radikaalein ero on, että se ei ole kaupallinen eikä suljettu. Toisin sanoen, me puhumme ilmainen ohjelma. Itse asiassa vapaiden ohjelmistojen käyttö on luontevampaa perustieteelle kuin kaupalliselle tieteelle, koska vapaissa ohjelmistoissa käytetty malli on malli kaiken kehityksen avoimuudesta ja julkisesta saatavuudesta. Ilmeisesti nämä samat ominaisuudet ovat luontaisia ​​tieteellisen toiminnan tuloksiin. Tätä lähestymistapojen samankaltaisuutta käyttämällä voidaan itse asiassa pitää vapaiden ohjelmistojen toiminnallisuuden laajennuksia tai lisäkirjastoja, jotka voidaan luoda heidän tarpeisiinsa tieteellisen tutkimuksen prosessissa, kiinteänä osana tällaisen tutkimuksen tuloksia. Ja näitä tuloksia voidaan käyttää ja jakaa käyttäjän harkinnan mukaan ottamatta huomioon lähdeohjelmiston lisenssien asettamia rajoituksia. Kaupallisten ohjelmistojen, jotka ovat sen valmistajan omaisuutta, tämänkaltainen vapaus on huomattavasti rajoitettu ulottuen kyvyttömyydestä vapaasti (ja laillisesti) siirtää tällaisia ​​ohjelmistoja itse kehitystyön mukana aina ohjelmistokehittäjän mahdollisiin patenttivaatimuksiin. yritys, jos sille jaetaan kotitekoisia lisäkirjastoja.

Toisaalta pääsuunta tieteellisen kehityksen ohella, missä tällaisille ohjelmille on kysyntää, on korkeakoulutus;

ja ilmaisten ohjelmistojen käyttö opetustarkoituksiin on todellinen mahdollisuus sekä yliopistolle että opiskelijoille ja opettajille saada käyttöönsä laillisia kopioita tällaisista ohjelmistoista ilman suuria tai jopa merkittäviä rahallisia kustannuksia. Tämä artikkeli aloittaa ilmaiselle analyyttiselle laskentaohjelmalle omistetun sarjan Maxima

. Tässä sarjassa yritän antaa sinulle täydellisimmän vaikutelman ohjelmasta: se on omistettu sekä Maximan kanssa työskentelyn periaatteille ja perusteille että kuvaus sen laajemmista ominaisuuksista ja käytännön esimerkkejä.

Nykyisin Maxima-nimellä tunnetun projektin historia alkoi 60-luvun lopulla legendaarisessa MIT:ssä (Massachusetts Institute of Technology), jolloin noina vuosina olemassa olevan suuren MAC-projektin puitteissa alettiin työstää symbolista laskentaa. ohjelma, joka sai nimen Macsyma (MAC Symbolic MAnipulationista). Järjestelmän arkkitehtuuri kehitettiin heinäkuuhun 1968 mennessä, itse ohjelmointi alkoi heinäkuussa 1969. Lisp valittiin järjestelmän kehittämiskieleksi, ja historia on osoittanut, kuinka se oli oikea valinta: tuolloin olemassa olevista ohjelmointikielistä , se on ainoa, joka jatkaa kehittymistä tänään - lähes puoli vuosisataa projektin alkamisen jälkeen. Projektin taustalla olevat periaatteet lainasivat myöhemmin tämän päivän aktiivisimmin kehittyvät kaupalliset ohjelmat - Mathematica ja Maple; Siten Macsymasta tuli itse asiassa symbolisten matematiikan ohjelmien koko suunnan perustaja. Luonnollisesti Macsyma oli suljettu kaupallinen projekti; sitä rahoittivat julkiset ja yksityiset organisaatiot, mukaan lukien historiallinen ARPA (Advanced Research Projects Agency; muistatko ARPAnetin – Internetin esi-isän?), Yhdysvaltain energia- ja puolustusministeriöt, DOE ja DOD. Projekti kehittyi aktiivisesti ja sitä ohjaavat organisaatiot vaihtuivat useammin kuin kerran, kuten aina pitkäikäisten suljettujen hankkeiden kohdalla. Vuonna 1982 professori William Schelter alkoi kehittää omaa versiotaan, joka perustuu samaan koodiin, nimeltään Maxima. Vuonna 1998 Shelter sai DOE:ltä oikeudet julkaista koodi GPL:n alaisina. Alkuperäinen Macsyma-projekti lakkasi olemasta vuonna 1999. William Shelter jatkoi Maximan kehitystä kuolemaansa asti vuonna 2001. Mutta kuten avoimen lähdekoodin ohjelmistoille on tyypillistä, projekti ei kuollut tekijänsä ja kuraattorinsa mukana. Nyt projekti jatkaa aktiivisesti kehittymistä, ja siihen osallistuminen on paras käyntikortti matemaatikoille ja ohjelmoijille ympäri maailmaa.

Muutama sana ohjelmasta

Päällä tällä hetkellä Maxima julkaistaan ​​kahdelle alustalle: Unix-yhteensopiville järjestelmille eli Linuxille ja *BSD:lle sekä MS Windowsille. Puhun tietysti Linux-versiosta.

Maxima itsessään on konsoliohjelma, joka piirtää kaikki matemaattiset kaavat tavallisilla tekstimerkeillä. Tästä on ainakin kaksi etua. Toisaalta Maximaa itseään voidaan käyttää ytimenä, jonka päälle on rakennettu graafisia käyttöliittymiä jokaiseen makuun. Niitä on nykyään melko vähän; Tällä kertaa keskityn kahteen suosituimpiin (katso sivupalkki) - ja visuaaliisimpaan ja helppokäyttöisimpään, ja muista puhumme seuraavissa numeroissa; ne ovat myös mielenkiintoisia omalla tavallaan, vaikkakin tarkempia.

Toisaalta Maxima itsessään, ilman käyttöliittymälisäosia, on laitteistoltaan vaatimaton ja pystyy työskentelemään tietokoneilla, joita kukaan ei enää pidä tietokoneina (tämä voi olla relevanttia esimerkiksi yliopiston tai tieteellisen laboratorion kannalta, joka todennäköisimmin heillä ei ole rahaa päivittää konekantaa, mutta tarve ohjelmistoille symboliseen laskentaan voi ilmaantua).

Maximin funktioiden ja muuttujien nimet ovat isot ja pienet kirjaimet erottuvat toisistaan, eli ne eroavat toisistaan ​​isoilla ja pienillä kirjaimilla. Tämä ei ole uutta kenellekään, joka on työskennellyt POSIX-yhteensopivien järjestelmien tai ohjelmointikielien, kuten esimerkiksi C:n tai Perlin, kanssa. Tämä on kätevää myös matemaatikon näkökulmasta, jolle on myös yleistä, että isot ja pienet kirjaimet voivat merkitä erilaisia ​​objekteja (esimerkiksi joukkoja ja niiden elementtejä, vastaavasti).

Jotta voit aloittaa työskentelyn ohjelman kanssa, tarvitset Maxima-paketin; Jos se ei ole jakelusi vakiovarastoissa, voit saada sen projektin verkkosivustolta, jonka osoite on annettu sivupalkissa.

Ohjelman kanssa työskentelyn periaatteet eivät riipu siitä, minkä käyttöliittymän valitset sille, joten yritän ottaa mahdollisimman paljon abstraktia tietystä käyttöliittymästä ja rajoittuen vain pieniin kommentteihin tapauksissa, joissa ne käyttäytyvät eri tavalla.

Toistaiseksi uusin versio ohjelmat - 5.9.3, tästä puhun; jos jakelusi sisältää tällä hetkellä enemmän kuin vanha versio, voit periaatteessa käyttää sitä: sekä muutama kuukausi sitten ajankohtaisella 5.9.2:lla että viime vuoden lopulla julkaistulla 5.9.1:llä ei ole perustavanlaatuisia eroja nykyiseen.

Graafiset rajapinnat Maximalle

Maximaan itseensä tutustumisen kannalta kaksi käyttöliittymää kiinnostaa eniten.

Ensimmäinen on erillinen itsenäinen grafiikkaohjelma nimeltä . Se, kuten itse Maxima, on Linux/*BSD:n lisäksi olemassa myös MS Windows -versiona. wxMaximassa syötät kaavat tekstimuodossa ja Maximan tulos näytetään graafisesti tutulla tavalla matemaattiset symbolit. Lisäksi syöttömukavuuteen on kiinnitetty paljon huomiota: komentorivi on erotettu I/O-ikkunasta ja lisäpainikkeet ja valikkojärjestelmä mahdollistaa komentojen syöttämisen paitsi tekstinä myös dialogitilassa. Niin sanottu "automaattinen täydennys" sisään komentorivi Itse asiassa ainoa samankaltaisuus sen kanssa on, että sitä kutsutaan "Tab"-näppäimellä. Valitettavasti se toimii vain kuin älykäs komentohistoria, eli se kutsuu tähän istuntoon jo syötetyistä komennoista, jotka alkavat komentorivillä määritetyillä merkeillä, mutta eivät täydennä komentojen nimiä ja niiden parametreja. Näin ollen tämä käyttöliittymä on kätevin, kun sinun täytyy tehdä paljon laskelmia ja nähdä tulokset näytöllä; ja ehkä myös, jos et todellakaan pidä kaikkien komentojen syöttämisestä näppäimistöltä. Lisäksi wxMaxima tarjoaa kätevän käyttöliittymän järjestelmädokumentaatioon; vaikka, koska asiakirjat tulevat html-muodossa, voit käyttää sen sijaan tavallista selainta.


Toinen melko mielenkiintoinen käyttöliittymä Maximaan on lisätila editorissa . Vaikka tällä editorilla on yhteinen historiallinen tausta tunnettujen Emacsien kanssa, kuten nimestä voi päätellä, niiden välillä on vähän käytännön yhtäläisyyksiä. TeXmacsia kehitetään tieteellisten tekstien visuaaliseen editointiin, jossa näet muokatun tekstin näytöllä lähes samassa muodossa kuin se tulostetaan. Erityisesti siinä on ns. matemaattinen syöttötila, joka on erittäin kätevä työskennellä useiden kaavojen kanssa ja voi tuoda/viedä tekstiä LaTeX- ja XML/HTML-muotoon. TeXmacsista kutsuttu Maxima käyttää kykyä työskennellä kaavojen kanssa. Itse asiassa kaavat näytetään tavallisella matemaattisella merkinnällä, mutta samalla niitä voidaan muokata ja kopioida muihin asiakirjoihin, kuten tavalliseen tekstiin. Maxima-istunto kutsutaan valikosta: " lisääistuntoTämä artikkeli aloittaa ilmaiselle analyyttiselle laskentaohjelmalle omistetun sarjan", ja ylimääräinen valikko, jossa on Maxima-komennot, tulee näkyviin. Istunnon aloittamisen jälkeen voit jo siirtyä sen sisällä olevaan matemaattiseen syöttötilaan (syöttötilan valikko avautuu syöttöpaneelin ensimmäisestä painikkeesta) ja käyttää myös matemaattisen merkinnän elementtejä sisään tullessa. Tämä käyttöliittymä on kätevin niille, jotka haluavat käyttää laskentatuloksia teksteissään ja haluavat muokata niitä visuaalisesti.



Aloitetaan

Maxima-istunnon aloittamisen jälkeen näemme seuraavat rivit:

Maxima käynnistyi uudelleen. (%i1)

Ensimmäinen on viesti, että Maxima-ydin on juuri käynnistynyt (sen sijaan versiosta ja tietystä koontiversiosta riippuen voidaan näyttää lyhyttä tietoa ohjelmasta);


toinen on kutsu syöttää ensimmäinen komento. Maximin komento on mikä tahansa matemaattisten lausekkeiden ja sisäänrakennettujen funktioiden yhdistelmä, joka päättyy yksinkertaisimmassa tapauksessa puolipisteeseen. Kun olet syöttänyt komennon ja painanut "Enter", Maxima tulostaa tuloksen ja odottaa seuraavaa komentoa:

Aritmeettisissa operaatioissa käytetään perinteisiä merkintöjä: -, +, *, /; ** tai ^ eksponentioille, sqrt() neliöjuurelle.

Jos joidenkin merkintöjen kohdalla ei ole selvää, kuinka ne kirjoitetaan riviin, selitän tämän eteenpäin. Kuten näet, jokaisella solulla on oma otsikkonsa; tämä etiketti on suluissa oleva solun nimi. Syöttösolut on nimetty nimellä %i numerolla (i alkaen syöttö - input), lähtösolut - %o:na vastaavalla numerolla (o from ulostulo

- johtopäätös). Kaikki sisäänrakennetut palvelunimet alkavat %-merkillä: toisaalta, jotta ne olisivat riittävän lyhyitä ja helppokäyttöisiä, ja toisaalta jotta vältetään mahdolliset päällekkäisyydet mukautettujen nimien kanssa, joita on myös usein kätevä säilyttää. lyhyt. Tämän yhtenäisyyden ansiosta sinun ei tarvitse muistaa, kuten muissa järjestelmissä usein tapahtuu, mitkä näistä lyhyistä ja kätevistä nimistä on varattu ohjelman toimesta ja mitä voit käyttää tarpeisiisi. Esimerkiksi sisäiset nimet %e ja %pi tarkoittavat hyvin tunnettuja matemaattisia vakioita; ja %c numerolla tarkoittaa integroinnissa käytettyjä vakioita, joille "c"-kirjaimen käyttö on matematiikassa perinteistä.

Tässä %+47/59 on sama kuin %o1+47/59 .

Laskentatulosta ei aina tarvita näytöllä; se voidaan estää päättämällä komennon $-symboliin sen sijaan; . Mykistetty tulos arvioidaan edelleen; Kuten näet, tässä esimerkissä solut %o1 ja %o2 ovat käytettävissä, vaikka niitä ei näytetä (soluun %o2 päästään %-symbolin kautta, jonka merkitys on selvitetty yllä):

Jokaista seuraavaa komentoa ei tarvitse kirjoittaa uudelle riville; Jos kirjoitat useita komentoja yhdelle riville, jokaisella niistä on silti oma solun nimi. Esimerkiksi tänne %i1-tunnisteen jälkeiselle riville syötetään solut välillä %i1–%i4. solu %i3 käyttää %i1:tä ja %i2:ta (merkitty _ - edellinen syöte):


wxMaximassa ja TeXmacsissa rivin viimeisen tai ainoan komennon perässä ei tarvitse olla perässä olevaa merkkiä - tämä toimii samalla tavalla kuin jos se olisi lopetettu; , eli lähtöä ei mykistetä. Lisäesimerkeissä jätän usein väliin; . Jos valitset toisen käyttöliittymän, älä unohda lisätä sitä.

Solunnimien käytön lisäksi voimme tietysti antaa nimiä mille tahansa lausekkeelle itse. Toisella tavalla voimme sanoa, että annamme arvoja muuttujille sillä erolla, että mikä tahansa matemaattinen lauseke voi toimia tällaisen muuttujan arvona. Tämä tehdään kaksoispisteellä - yhtäläisyysmerkki jätetään yhtälöille, jotka merkinnän yleisen matemaattisen kontekstin vuoksi ovat helpompia ja tutumpia lukea tällä tavalla. Ja lisäksi, koska Maximan pääharrastus on symbolinen merkintä ja analyyttinen laskeminen, yhtälöitä käytetään melko usein. Esimerkiksi:

Eräässä mielessä kaksoispiste on tässä yhteydessä jopa selkeämpi kuin yhtäläisyysmerkki: tämä voidaan ymmärtää tarkoittavan, että määrittelemme tietyn nimityksen ja käytämme kaksoispistettä tulkitsemaan, mitä se tarkalleen tarkoittaa. Kun lauseke on nimetty, voimme kutsua sitä nimellä milloin tahansa:

Mikä tahansa nimi voidaan tyhjentää sille määrätystä lausekkeesta kill()-funktiolla ja tämän lausekkeen varaama muisti voidaan vapauttaa. Tätä varten sinun tarvitsee vain kirjoittaa kill(name) , jossa nimi on tuhottavan lausekkeen nimi;

Lisäksi tämä voi olla joko antamasi nimi tai mikä tahansa tulo- tai lähtösolu. Vastaavasti voit tyhjentää kaiken muistin kerralla ja vapauttaa kaikki nimet kirjoittamalla kill(all) . Tällöin myös kaikki I/O-solut tyhjennetään ja niiden numerointi alkaa jälleen yhdestä. Jatkossa, jos konteksti tarkoittaa loogista jatkoa aiemmille I/O-riville, jatkan numerointia (olen jo käyttänyt tätä tekniikkaa edellä). Kun uusi ”istunto” ei liity millään tavalla edelliseen, aloitan numeroinnin uudelleen; tämä on epäsuora komento tehdä "kill(all)", jos kirjoitat esimerkkejä Maximaan, koska muuttujien ja solujen nimet voivat toistua sellaisissa "istunnoissa".

Pääsy Maxima-asiakirjoihin


Yllä olevissa esimerkeissä käytimme kahta sisäänrakennettua funktiota. Kuten voit helposti arvata kontekstista, ratkaista on yhtälön ratkaisemiseen tarkoitettu funktio ja diff on differentiaatiofunktio. Lähes kaikki Maximan toiminnot toteutetaan tällaisten sisäänrakennettujen toimintojen kautta. Maximan funktiolla voi olla vaihteleva määrä argumentteja. Esimerkiksi ratkaista-funktiota, jota käytimme yhdellä argumentilla, kutsutaan useammin kahdella argumentilla. Ensimmäinen määrittää yhtälön tai funktion, jonka juuret on löydettävä; toinen on muuttuja, jolle yhtälö on ratkaistava:

Jos ratkaistavan yhtälön määrittelevä kaava sisältää vain yhden symbolin, kuten edellisessä esimerkissä, niin toinen argumentti voidaan jättää pois, koska valinta, millä yhtälö ratkaistaan, on edelleen yksiselitteinen.

Uusien ystäviemme toinen funktio - diff - voi myös kestää yhden argumentin; tässä tapauksessa se löytää annetun lausekkeen differentiaalin:

Tässä del(x) ja del(y) tarkoittavat vastaavien symbolien differentiaaleja. Jokaisella sisäänrakennetulla toiminnolla on kuvaus Maximan dokumentaatiossa. Se sisältää tietoa siitä, mitä argumentteja funktio hyväksyy ja missä muunnelmissa, sekä kuvauksen sen toiminnoista eri tapauksissa ja konkreettisia esimerkkejä sovelluksia. Mutta tietysti, etsi kuvaus jokaisesta html-dokumentaatiossa tai infosivuilla ei aina ole kätevää, varsinkin kun näitä tietoja tarvitaan yleensä heti työn aikana. Siksi Maximalla on erityinen toiminto - description(), joka antaa tietoja dokumentaatiosta tietyille sanoille. Lisäksi, erityisesti viitetietojen hankkimisen helpottamiseksi, tämän toiminnon kutsumisesta on lyhennetty versio: ? nimi kuvaile(nimi) sijaan. Tässä? on operaattorin nimi, ja argumentti on erotettava siitä välilyönnillä (?name-lauseketta käytetään kutsumaan Lisp-funktio nimeltä name). kuvaile toimintoa ja operaattoria? näyttää luettelon ohjeosista ja funktioiden nimistä, jotka sisältävät määritetyn tekstin, ja pyytää sitten syöttämään sen osion numeron tai toiminnon kuvauksen, jota haluat tarkastella:

Kun valitset osion, sen sisältö näytetään:


Jos sen jälkeen kirjoittamasi sanalle? tai kuvaa , yksittäinen vastaavuus löytyy, sen kuvaus näytetään välittömästi.

Avun lisäksi monissa Maxima-toiminnoissa on esimerkkejä niiden käytöstä. Esimerkki voidaan ladata esimerkki()-funktiolla. Tämän funktion kutsuminen ilman argumenttia näyttää luettelon kaikista käytettävissä olevista esimerkkinimistä; kutsu kuten esimerkki(nimi) latautuu nykyiseen istuntoon ja suoritetaan määritetty tiedosto esimerkki:


TeXmacsista käynnistämisen ongelman ratkaiseminen

Jos sinulla on ongelmia Maxima-istunnon käynnistämisessä TeXmacsista, kiinnitä huomiota siihen, kuka järjestelmässäsi käyttää /bin/sh-nimeä. Tosiasia on, että kaikkien eri istuntojen alustus toteutetaan TeXmacsissa komentotulkkikomentosarjan avulla, jota kutsutaan /bin/sh-komennolla. Ja Maxima-istunnosta vastaava komentosarja käyttää ominaisuutta, jota ei ole standardoitu /bin/sh vaaditulla tavalla, mutta joka on läsnä sen bash-emulaatiossa. Toisin sanoen, jos /bin/sh ei ole linkki hakemistoon /bin/bash , vaan jotain muuta, tämä voi olla syy siihen, ettei Maxima-istuntoa voi avata (esimerkiksi Debianissa ja siihen perustuvissa jakeluissa kuin bash link /bin/sh voi myös haluta asentaa kevyemmän viivan, tässä tapauksessa voit palauttaa status quon komennolla dpkg-reconfigure dash). Jos /bin/sh-linkin tekeminen hakemistoon /bin/bash ei ole mahdollista, voit yrittää muuttaa #!/bin/sh-numeroksi #!/bin/bash tiedostossa /usr/lib/texmacs/TeXmacs/bin/maxima_detect. Kirjoitin TeXmacs-kehittäjille tästä ongelmasta, mutta en ole vielä saanut heiltä vastausta, joten en voi vielä sanoa, korjataanko tämä virhe seuraavissa versioissa.

Perusperiaatteet

Se, että Maxima on kirjoitettu Lisp-kielellä, selviää tätä kieltä tuntevalle henkilölle jo ohjelman kanssa työskentelyn alussa. Itse asiassa Maxim osoittaa selvästi "Lisp" -periaatteen tietojen kanssa työskentelyssä, mikä osoittautuu erittäin hyödylliseksi symbolisen matematiikan ja analyyttisten laskelmien yhteydessä. Tosiasia on, että Lispissä ei yleensä ole eroa objektien ja tietojen välillä: muuttujien nimiä ja lausekkeita voidaan käyttää melkein samassa yhteydessä. Maximassa tätä ominaisuutta kehitetään entisestään: itse asiassa voimme käyttää mitä tahansa symbolia riippumatta siitä, onko sille määritetty jokin lauseke. Oletusarvoisesti mihin tahansa lausekkeeseen liittyvä symboli edustaa kyseistä lauseketta; symboli, joka ei liity mihinkään, edustaa itseään, taas tulkitaan ilmaisuksi. Selitetäänpä esimerkillä:

Tästä seuraa erityisesti, että siihen sisältyvän symbolin arvo korvataan automaattisesti lausekkeella vain, jos tämä arvo on annettu symbolille ennen lausekkeen määrittelyä:

Jos symbolilla on jo jokin merkitys, voimmeko käyttää ilmaisussa itse symbolia sen merkityksen sijaan?

Varmasti. Tämä voidaan tehdä heittomerkkiä käyttämällä - syötetään ennen mitä tahansa merkkiä tai lauseketta, se estää sen laskemisen:

Lausekkeen %i12 tulos olisi samanlainen, jos b:llä ja y:llä ei olisi arvoja sillä hetkellä; näin ollen voimme turvallisesti estää symbolien arvioinnin edes muistamatta (tai tietämättä), onko niille annettu mitään lausekkeita.

Voimme tehdä saman minkä tahansa sisäänrakennetun funktion kanssa, jos emme halua suorittaa sitä, vaan käyttää sitä matemaattisessa kontekstissamme. Esimerkiksi jo mainittu differentiaatiofunktio voi olla hyödyllinen meille merkitsemään derivaatta differentiaaliyhtälössä; tässä tapauksessa sitä ei tietenkään tarvitse laskea: Kuvattujen ominaisuuksien ansiosta Maximissa työskentely toisaalta muistuttaa monin tavoin perinteistä "manuaalista" työtä matemaattisten kaavojen kanssa, mikä käytännössä eliminoi psykologisen esteen, kun aloitat työskennellä ohjelman kanssa. Toisaalta jo tässä alkuvaiheessa olet todella säästynyt rutiineista, kuten pitää kirjaa nykyisistä symboliarvoista, jotta voit keskittyä kokonaan itse tehtävään. Arvioiden estäminen ei tietenkään ole ainoa tapa vaikuttaa siihen, kuinka Maxima arvioi tietyn lausekkeen; tätä prosessia voidaan ohjata melko joustavasti.

Aihe: Komentojärjestelmä, laskelmat Maximassa.

Kohde: jatkaa tutustumista Maxima-ohjelmaan, ottaa käyttöön Maxima-komentojärjestelmä; kehittää muistia, huomiota; viljellä tietokulttuuria.

Oppitunnin edistyminen:

    Organisaation alku:

    Tervehdys.

    Työskentely päivystajien kanssa.

    Toistuva harjoitus alkaa.

    Yksilötyö korttien avulla.

Kortti nro 1.

    1. Matemaattisen laskentajärjestelmän käsite.

      Järjestelmän ominaisuudet matemaattiset laskelmat.

Kortti nro 2.

    1. Tietokonealgebran käsite.

      Tietokonealgebran ominaisuudet.

    Suullinen henkilökohtainen kysely.

Maxima konsepti. Erikoisuudet. Käynnistä ohjelma.

Käyttöliittymä Maxima ohjelmat.

    Työskentele uuden materiaalin ymmärtämiseksi ja hallitsemiseksi.

    Oppitunnin aiheen ja tarkoituksen ilmoittaminen.

    Uuden materiaalin oppiminen.

Peruskomentojen syöttäminen wxMaximaan

Kun wxMaxima on käynnistetty, ohjelmaikkuna tulee näkyviin.

Maxima-käyttöliittymäikkunan graafinen yläosa kertoo, että versio 5.14.0 on ladattu, että se on jaettu GNU-lisenssillä, miltä sivustolta se on saatavilla ja kuka sen vanhempi on. Alemmassa ikkunassa ENTER-kentässä: Maxima on valmis vastaanottamaan komentoja. Komentoerotin on merkki; (puolipiste). Kun olet antanut komennon, sinun on painettava Anna avain käsitellä sitä ja tulostaa tulos.

Maximan ja joidenkin sen kuorien (esimerkiksi xMaxima) aiemmissa versioissa ja in konsoliversio Puolipisteen läsnäolo jokaisen komennon jälkeen on ehdottomasti pakollinen. Siksi suosittelemme Maximan käyttöä

älä unohda lisätä puolipistettä; jokaisen komennon jälkeen. Siinä tapauksessa, että lauseke on näytettävä eikä laskettava, sitä edeltää merkki (") ( yksi lainaus). Mutta tämä menetelmä ei toimi, kun lausekkeella on eksplisiittinen arvo,

esimerkiksi Maxim käsittelee lauseketta sin(π) nollana vaikka heittomerkki onkin. Monimuotoisuutta on vaikea kuvitella mahdollisia vaihtoehtoja käytä Maximeja lausekkeiden laskemiseen tai muuntamiseen. Vaikeissa tapauksissa voit yrittää saada todistuksen englanti. Soita apua kirjoittamalla ENTER-kenttään? ja paina Enter.

Komentojen ja laskentatulosten nimeäminen

Syöttämisen jälkeen jokaiselle komennolle annetaan sarjanumero. Alla olevassa kuvassa syötetyt komennot on numeroitu 1–3 ja ne on merkitty vastaavasti (%i1), (%i2), (%i3). Laskentatuloksilla on vastaava sarjanumero (%o1), (%o2) jne. Missä "i" on lyhenne englannista. Input (input) ja "o" on englanti. Lähtö

Tämän mekanismin avulla komentoja kirjoitettaessa voidaan viitata aiemmin kirjoitettuihin komentoihin, esimerkiksi (%i1)+(%i2) tarkoittaa toisen lausekkeen lisäämistä ensimmäisen komennon lausekkeeseen, jonka jälkeen lasketaan tulos. Voit myös käyttää laskentatulosten numeroita, esimerkiksi näin (%o1)*(%o2).

Viimeksi suoritetulla komennolla Maximassa on erityinen merkintä - %.

Esimerkki: Laske funktion derivaatta

pisteessä x=1.

Komento (%i9) suoritettiin ja tulos (%o9) saatiin. Siksi seuraava komento (%i10) viittasi jo saatuun tulokseen, mutta määritti muuttujan x arvon, joten komento sai muotoa (%i10) (%o9), x=1.

Enter numeerista tietoa

Numeroiden syöttämistä koskevat säännöt Maximassa ovat täsmälleen samat kuin monissa muissa vastaavissa ohjelmissa. Desimaalilukujen kokonais- ja murto-osat erotetaan pistesymbolilla. Negatiivisia lukuja edeltää miinusmerkki.

Tavallisten murtolukujen osoittaja ja nimittäjä erotetaan toisistaan ​​symbolilla / (kenoviiva).

Huomaa, että jos operaation tulos on jokin symbolinen ilmaus, mutta sinun on saatava tietty numeerinen arvo desimaaliluvun muodossa, numero-operaattorin käyttö ratkaisee tämän ongelman. Erityisesti sen avulla voit siirtyä tavallisista murtoluvuista desimaaleihin

Tässä Maxima toimi ensisijaisesti oletusarvoisesti. Hän lisäsi murtoluvut 3/7 ja 5/3 täsmälleen aritmeettisten sääntöjen mukaan: hän löysi yhteisen nimittäjän, pienensi murtoluvut yhteiseksi nimittäjäksi ja lisäsi osoittajat. Lopulta hän sai

44/21. Vasta sen jälkeen, kun pyysimme häntä saamaan numeerisen vastauksen, hän sai likimääräisen numeerisen vastauksen, jonka tarkkuus oli 16 numeroa, 2,095238095238095.

Vakiot

Maximassa on useita sisäänrakennettuja vakioita laskennan helpottamiseksi, joista yleisimmät on esitetty seuraavassa taulukossa (Taulukko 1):

Aritmeettiset operaatiot

Aritmeettisten operaatioiden merkintätapa Maximassa ei eroa klassisista matemaattisista esityksistä: + – * /.

Eksponenttia voidaan merkitä kolmella tavalla: ^, ^^, **. Asteen n juuren erottaminen kirjoitetaan asteena ^^(1/n). Muistakaamme toinen hyödyllinen Maximaan sisäänrakennettu toiminto – luvun kertoimen löytäminen. Tämä toiminto on osoitettu huutomerkillä

Esimerkiksi 6!=1⋅ 2⋅ 3⋅ 4⋅ 5⋅ 6=120.

Operaation prioriteetin lisäämiseksi, kuten matematiikassa, käytetään sulkeita () kirjoitettaessa komentoja Maximalle.

Muuttujat

Muuttujia käytetään välilaskentojen tulosten tallentamiseen. Huomaa, että muuttujien, funktioiden ja vakioiden nimiä syötettäessä kirjainten kirjainkoko on tärkeä, joten muuttujat x ja X ovat kaksi eri muuttujaa.

Arvon antaminen muuttujalle tapahtuu symbolilla: (kaksoispiste), esimerkiksi x : 5;.

Jos muuttujan arvo on poistettava (tyhjennä se), käytetään tappamismenetelmää:

kill (x) – poista muuttujan x arvo;

tappaa (kaikki) – poistaa kaikkien aiemmin käytettyjen muuttujien arvot.

Ja lisäksi tappamismenetelmä aloittaa uuden numeroinnin suoritettaville komentoille (huomaa, että vastaus yllä olevaan komentoon (%i 3) oli vastausnumero nolla (%o 0) done , ja sitten komentojen numerointi jatkui yhdestä) .

Matemaattiset funktiot

Maximassa on melko suuri joukko sisäänrakennettuja matemaattisia funktioita. Tässä on joitain niistä (taulukko 2). On syytä muistaa, että jotkut funktioiden nimet poikkeavat kotimaisessa kirjallisuudessa käytetyistä nimistä: tg sijaan - tan, sijaan ctg - cot, sijaan arcsin - asin, sijaan arcos - acos, sijaan arctg - atan , arcctg - acot sijaan ln - log , cosec sijaan - csc .

Sääntö kirjoitusfunktioille

Jos haluat kirjoittaa funktion, sinun on ilmoitettava sen nimi ja kirjoitettava sitten argumentin arvot suluissa pilkuilla erotettuina. Jos argumentin arvo on lista, se on suljettu hakasulkeisiin ja listan elementit erotetaan myös pilkuilla.

integroida(sin(x),x,-5,5); plot2d(,,);

Mukautetut toiminnot

Käyttäjä voi itse määritellä toimintonsa. Tätä varten ilmoita ensin funktion nimi, argumenttien nimet on lueteltu suluissa, merkkien = (kaksoispiste ja yhtäläisyys) jälkeen on funktion kuvaus. Kun käyttäjän määrittämä toiminto on määritetty, sitä kutsutaan täsmälleen samalla tavalla kuin Maximan sisäänrakennettuja toimintoja.

Monimutkaisten lausekkeiden kääntäminen lineaarisiksi merkinnöiksi

Yksi vaikeimmista tehtävistä aloitteleville Maxima-käyttäjille on monimutkaisten lausekkeiden kirjoittaminen, jotka sisältävät potenssit, murtoluvut ja muut rakenteet lineaarisessa muodossa (tekstimuodossa, ASCII-merkkejä käyttäen, yhdelle riville).

Helpotuksen vuoksi tämä prosessi Kannattaa antaa muutama suositus:

1. Älä unohda laittaa kertomerkkiä! Maximan graafisessa ikkunassa matematiikan sääntöjen mukaan muuttujan x kaksoisarvo kirjoitetaan 2x, mutta ENTER-ikkunassa: Maximan komennon tulee näyttää 2*x.

2. Epäselvissä tapauksissa on aina parempi laittaa "lisä", lisäsulut (). Lausekkeen osoittaja ja nimittäjä on aina oltava sulkeissa.

Ja myös tehoon nostettaessa on parempi laittaa pohja ja teho aina suluissa.

3. Funktiota ei ole olemassa erillään sen argumenteista (jos sellaisia ​​on). Siksi esimerkiksi potenssiin nostettaessa voit ottaa koko funktion suluissa olevilla argumenteilla ja sitten nostaa tuloksena oleva konstruktio haluttuun potenssiin: (sin (x))**2.

Muista myös, että useat funktion argumentit kirjoitetaan suluissa pilkuilla erotettuina, esimerkiksi min(x1,x2,x3,xN);

5. Funktiota sin(2*x) ei saa kirjoittaa muodossa sin*2*x tai sin2x.

6. Jos kirjoitat monimutkaista lauseketta, jaa se useisiin yksinkertaisiin komponentteihin, syötä ne erikseen ja yhdistä ne sitten käyttämällä aiemmin käsiteltyä merkintätapaa syötetyille komentoille.

Esimerkki: Sinun on syötettävä seuraava lauseke:

Jaetaan tämä lauseke kolmeen osaan: osoittaja, suluissa oleva lauseke ja potenssi. Kirjataan jokainen komponentti muistiin ja yhdistetään ne lausekkeeksi.

Maxima yksinkertaistaa ilmaisua

rotta (ilmaus). muuntaa rationaalisen lausekkeen kanoniseen muotoonsa. Että

siellä avaa kaikki sulut, tuo sitten kaiken yhteiselle nimittäjälle, summaa sen ja pienentää sitä; lisäksi se vähentää kaikki luvut äärellisissä desimaalimuodoissa rationaalisiksi.

    Kotitehtävät:

Stakhin N.A., klo 10-18, tukevat nuotit.

    Oppitunnin yhteenveto.

Mihin Maxima-ohjelma on tarkoitettu?

Listaa Maxima-ohjelman käyttöliittymän pääelementit.

Listaa Maximan peruskomennot.

Voit ladata sen meiltä ilmaiseksi uusi versio Maxima matemaattinen sovellus venäjäksi Windows XP / Vista / 7 / 8 / 10 palvelimelta tai viralliselta verkkosivustolta.

Maxima-ohjelman kuvaus:

Tämä artikkeli aloittaa ilmaiselle analyyttiselle laskentaohjelmalle omistetun sarjan- tietokonealgebrajärjestelmä, joka on suunniteltu toimimaan symbolisten ja numeeristen lausekkeiden kanssa, mukaan lukien integrointi, differentiointi, sarjalaajennus, Laplace-muunnos, lineaariyhtälöjärjestelmät, tavalliset differentiaaliyhtälöt, joukot, polynomit, listat, vektorit, matriisit ja tensorit.

Koska ohjelma suorittaa melko vakavia laskelmia tekniikan ja korkeamman matematiikan alalta, niin keskimääräiselle käyttäjälle sitä tuskin tarvitaan. Mutta tieteellisiä ja teknisiä laskelmia suorittavat asiantuntijat sekä monet opiskelijat arvostavat sen valtavia kykyjä, tuettujen tehtävien luetteloa ja erinomaista työn nopeutta.

Maxima on yksi tehokkaimmista nykyään saatavilla olevista matemaattisista sovelluksista, jolla on monia kykyjä laskea melko paljon erilaisia ​​funktioita. Edellä mainittujen toimintojen lisäksi ohjelma suorittaa erittäin tarkkoja numeerisia laskelmia käyttämällä mielivaltaisen tarkkuuden tarkkoja murtolukuja, kokonaislukuja ja liukulukuja. Järjestelmän avulla voit piirtää funktioita ja tilastoja kahdessa ja kolmessa ulottuvuudessa.

Todennäköisesti nykyään ei ole matemaattisten laskelmien aluetta, jota tämä järjestelmä ei tunnistaisi.

Ohjelman käyttöliittymä. Monimutkaisuudestaan ​​​​huolimatta se on melko yksinkertainen. Pääohjauspaneelissa on useita valikkoosioita, joissa esitetään kaikki matemaattisten laskelmien menetelmät. Kunkin osion kanssa työskentelyn aloittamiseksi käyttäjän on syötettävä aloitustehtävä, ja ohjelma tulee näkyviin optimaalinen ratkaisu automaattitilassa.

Lisäksi joissakin tapauksissa on mahdollista saada tulos yksityiskohtaisen todisteen muodossa, jossa on kaikki kuvatut menettelyt ja perustelut lopullisen tuloksen hyväksymiselle.

Maxima on legendaarisen tietokonealgebrajärjestelmän Macsyman jälkeläinen, joka kehitettiin 60-luvun alussa MIT:ssä. Se on ainoa Macsyma-pohjainen järjestelmä, joka on edelleen julkisesti saatavilla, ja sillä on aktiivinen käyttäjäyhteisö avoimuutensa ansiosta. Kerran Macsyma mullisti tietokonealgebran ja vaikutti moniin muihin järjestelmiin, mukaan lukien Maple ja Mathematica.

Nimi Tämä artikkeli aloittaa ilmaiselle analyyttiselle laskentaohjelmalle omistetun sarjan
Versio 5.40.0
Kieli venäjäksi kyllä
Järjestelmä Windows XP / Vista / 7 / 8 / 10
Kehittäjä

Maxima matematiikkapaketti on yksi parhaista ilmaisista MathCADin korvaajista.

Tämä opetusohjelma (in pdf muodossa) voidaan käyttää matemaattisen analyysin, differentiaaliyhtälöiden ja pakettien aloilla sovellusohjelmia jne. korkeakoulujen eri erikoisaloilla ammatillinen koulutus, jos valtion koulutusstandardi edellyttää "Differentiaaliyhtälöt" -osion opiskelua sekä osana valinnaisia ​​kursseja. Se voi olla hyödyllinen myös tietokonematematiikan järjestelmien käyttöönotossa erikoistuneissa oppilaitokset matematiikan ja tietojenkäsittelytieteen perusteellisella opiskelulla.

  • Esipuhe
  • Luku 1. Maxima tietokonematematiikan järjestelmässä työskentelyn perusteet
    • 1.1. Tietoja Maxima-järjestelmästä
    • 1.2. Maximan asentaminen henkilökohtaiselle tietokoneelle
    • 1.3. Maxima pääikkunan käyttöliittymä
    • 1.4. Työskentely solujen kanssa Maximassa
    • 1.5. kanssa apujärjestelmä Maxima
    • 1.6. Maxima-järjestelmän toiminnot ja komennot
    • 1.7. Laskentaprosessin hallinta Maximassa
    • 1.8. Yksinkertaiset lausekemuunnokset
    • 1.9. Algebrallisten yhtälöiden ja niiden järjestelmien ratkaiseminen
    • 1.10. Grafiikkaominaisuudet
  • Luku 2. Numeeriset menetelmät differentiaaliyhtälöiden ratkaisemiseksi
    • 2.1. Yleistä tietoa differentiaaliyhtälöistä
    • 2.2. Numeeriset menetelmät Cauchyn ongelman ratkaisemiseksi ensimmäisen asteen tavalliselle differentiaaliyhtälölle
      • 2.2.1. Eulerin menetelmä
      • 2.2.2. Euler-Cauchyn menetelmä
      • 2.2.3. Runge-Kutta menetelmä 4 astetta tarkkuus
    • 2.3. Raja-arvotehtävien ratkaiseminen tavallisille differentiaaliyhtälöille äärellisen eron menetelmällä
    • 2.4. Hilamenetelmä osittaisdifferentiaaliyhtälöiden ratkaisemiseen
  • Luku 3. Ratkaisujen löytäminen differentiaaliyhtälöihin Maxima-järjestelmässä
    • 3.1. Sisäänrakennetut toiminnot ratkaisujen löytämiseen differentiaaliyhtälöihin
    • 3.2. Differentiaaliyhtälöiden ja niiden järjestelmien ratkaiseminen symbolisessa muodossa
    • 3.3. Differentiaaliyhtälöiden liikeratojen ja suuntakenttien rakentaminen.
    • 3.4. Numeeristen menetelmien toteutus Cauchyn ongelman ratkaisemiseksi tavallisille differentiaaliyhtälöille
      • 3.4.1. Eulerin menetelmä
      • 3.4.2. Euler-Cauchyn menetelmä
      • 3.4.3. Runge-Kutta menetelmä
    • 3.5. Äärillisen eron menetelmän toteutus tavallisten differentiaaliyhtälöiden raja-arvoongelman ratkaisemiseksi
    • 3.6. Hilamenetelmän toteutus osittaisdifferentiaaliyhtälöille
  • Tehtävät itsenäiseen ratkaisuun
  • Kirjallisuus

Esipuhe

Differentiaaliyhtälöiden teoria on yksi modernin matematiikan suurimmista haaroista. Yksi differentiaaliyhtälöiden pääpiirteistä on suora yhteys differentiaaliyhtälöiden teorian ja sovellusten välillä. Tutkiessaan mitä tahansa fysikaalista ilmiötä, tutkija luo ensin sen matemaattisen idealisoinnin tai matemaattisen mallin, kirjoittaa ylös tätä ilmiötä hallitsevat peruslait matemaattiseen muotoon. Hyvin usein nämä lait voidaan ilmaista differentiaaliyhtälöiden muodossa. Nämä osoittautuvat malleja erilaisista jatkumomekaniikan ilmiöistä, kemiallisista reaktioista, sähköisistä ja magneettisista ilmiöistä jne. Tutkimalla saatuja differentiaaliyhtälöitä yhdessä lisäehtojen kanssa, jotka pääsääntöisesti määritetään alku- ja reunaehtojen muodossa , matemaatikko saa tietoa esiintyvästä ilmiöstä, joskus voi selvittää sen menneisyyden ja tulevaisuuden.

Matemaattisen mallin laatimiseksi differentiaaliyhtälöiden muodossa sinun on yleensä tiedettävä vain paikalliset yhteydet, etkä tarvitse tietoa koko fysikaalisesta ilmiöstä kokonaisuutena. Matemaattinen malli mahdollistaa ilmiön tutkimisen kokonaisuutena, sen kehityksen ennustamisen ja tekemisen laadullisia arvioita siinä tapahtuvia mittauksia ajan mittaan. Sähkömagneettiset aallot löydettiin differentiaaliyhtälöiden analyysin perusteella.

Voidaan sanoa, että tarve ratkaista differentiaaliyhtälöitä mekaniikan tarpeita varten eli löytää liikeradat puolestaan ​​oli Newtonille sysäys uuden laskun luomiseen. Uuden laskun sovellukset geometrian ja mekaniikan ongelmiin tehtiin tavallisten differentiaaliyhtälöiden kautta.

Nykyaikaista kehitystä ajatellen tietokonelaitteet ja uuden suunnan - tietokonematematiikan - intensiivinen kehitys tietokonematematiikkajärjestelmiksi kutsutuista ohjelmistokokonaisuuksista tuli laajalle levinneiksi ja kysytyiksi.

Tietokonematematiikka on uusi suunta tieteessä ja koulutuksessa, joka syntyi perusmatematiikan, informaation ja tietotekniikan risteyksessä. Computer Mathematics System (SCM) on joukko ohjelmia, jotka tarjoavat automatisoidun, teknisesti yhtenäisen ja suljetun silmukan matemaattisten ongelmien käsittelyn määritettäessä ehtoja erityisesti suunnitellulla kielellä.

Nykyaikaiset tietokonematematiikan järjestelmät ovat ohjelmia, joissa on moniikkuna graafinen käyttöliittymä, kehitetty apujärjestelmä, joka helpottaa niiden kehittämistä ja käyttöä. Tärkeimmät suuntaukset SCM:n kehityksessä ovat matemaattisten kykyjen kasvu erityisesti analyyttisten ja symbolisten laskelmien alalla, visualisointityökalujen merkittävä laajeneminen kaikkiin laskennan vaiheisiin, 2D- ja 3D-grafiikan laaja käyttö, erilaisten järjestelmät keskenään ja muiden kanssa. ohjelmisto, laaja pääsy Internetiin, yhteistyön järjestäminen koulutus- ja tiedeprojekteissa Internetissä, animaatio- ja kuvankäsittelytyökalujen, multimediatyökalujen jne. käyttö.

Merkittävä seikka, joka viime aikoihin asti esti SCM:n laajan käytön koulutuksessa, on ammattimaisten tieteellisten matemaattisten ohjelmistojen korkea hinta. Kuitenkin sisään viime aikoina monet yritykset, jotka kehittävät ja levittävät tällaisia ​​ohjelmia, tarjoavat (Internetin kautta - http://www.softline.ru) vapaaseen käyttöön aiemmat versiot ohjelmistaan, käyttävät laajasti alennusjärjestelmää oppilaitoksille, jakavat demo- tai kokeiluversiot ohjelmia

Lisäksi siellä näkyvät ilmaiset analogit tietokonematematiikan järjestelmät, esimerkiksi Maxima, Scilab, Octave jne.

Tämä opetusohjelma tutkii Maxima-tietokonematematiikan kykyä löytää ratkaisuja differentiaaliyhtälöihin.

Miksi Maxima?

Ensinnäkin Maxima-järjestelmä on voittoa tavoittelematon avoimen lähdekoodin projekti. Maxima kuuluu luokkaan ohjelmistotuotteita, joita jaetaan GNU GPL:n (General Public License) alaisuudessa.

Toiseksi Maxima on ohjelma matemaattisten ongelmien ratkaisemiseen sekä numeerisessa että symbolisessa muodossa. Sen mahdollisuudet ovat erittäin laajat: toiminnot lausekkeiden muuntamiseen, lausekkeiden osien käsittelyyn, lineaarialgebran ongelmien ratkaisemiseen, matemaattiseen analyysiin, kombinatoriikkaan, lukuteoriaan, tensorianalyysiin, tilastoongelmiin, funktiokaavioiden rakentamiseen tasossa ja avaruudessa sisään erilaisia ​​järjestelmiä koordinaatit jne.

Kolmanneksi Maximalla on nyt tehokas, tehokas ja käyttäjäystävällinen cross-platform GUI nimeltään WxMaxima (http://wxmaxima.sourceforge.net).

Kirjan kirjoittajat ovat tutkineet tietokonematematiikan järjestelmiä, kuten Mathematica, Maple, MathCad kymmenen vuoden ajan. Siksi, kun tiedän näiden ohjelmistotuotteiden ominaisuudet, erityisesti differentiaaliyhtälöiden ratkaisujen löytämisessä, halusin tutkia kysymystä, joka liittyy laskutoimitusten järjestämiseen symbolisessa muodossa vapaasti levitetyissä tietokonematematiikan järjestelmissä.

Tämä käsikirja kertoo mahdollisuuksista organisoida Maxima-järjestelmään perustuvien differentiaaliyhtälöiden ratkaisujen hakuprosessi. yleistä tietoa järjestelmän työn organisoinnista.

Käsikirja koostuu 3 luvusta. Ensimmäisessä luvussa tutustutaan Maxima-järjestelmän wxMaxima-graafiseen käyttöliittymään, siinä työskentelyn ominaisuuksiin ja järjestelmän kielen syntaksiin. Järjestelmän pohtiminen alkaa siitä, mistä löydät järjestelmäjakelun ja kuinka se asennetaan. Toisessa luvussa käsitellään yleisiä kysymyksiä differentiaaliyhtälöiden teoriat, numeeriset menetelmät niiden ratkaisemiseksi.

Kolmas luku on omistettu Maxima-tietokonematematiikan järjestelmän sisäänrakennetuille funktioille, joiden avulla voidaan löytää ratkaisuja tavallisiin 1. ja 2. asteen differentiaaliyhtälöihin symbolisessa muodossa. Myös kolmannessa luvussa esitetään numeeristen menetelmien toteutus differentiaaliyhtälöiden ratkaisemiseksi Maxima-järjestelmässä. Käsikirjan lopussa on itsenäisen ratkaisun tehtäviä.

Toivomme, että laaja käyttäjäkunta on kiinnostunut käsikirjasta ja että siitä tulee heidän avustajansa uuden työkalun hallitsemisessa matemaattisten ongelmien ratkaisemiseen.

T.N. Gubina, E.V. Andropova
Yelets, heinäkuu 2009

P.S. Pika aloitus: komentojen suorittamiseen ja toimii mwMaximassa, sinun on ensin syötettävä itse komento ja painettava sitten crtl+Enter.


Matemaattisen analyysin operaatiot

Summat

Summafunktiota käytetään summien etsimiseen. Funktion syntaksi:

Summa(lauseke, muuttuja, muuttujan muutoksen alaraja, muuttujan muutoksen yläraja)

Esimerkiksi:

Jos määrität järjestelmämuuttujan positiivisen äärettömän arvon "inf" viimeiselle argumentille, tämä osoittaa ylärajan puuttumisen ja ääretön summa lasketaan. Myös ääretön summa lasketaan, jos määrität negatiivisen äärettömän järjestelmämuuttujan "minf" arvon argumentille "muuttujan muutoksen alaraja". Samoja arvoja käytetään muissa matemaattisissa analyysifunktioissa.

Esimerkiksi:


Toimii

Käytä tuotetoimintoa löytääksesi äärelliset ja äärettömät tuotteet. Sillä on samat argumentit kuin summafunktiolla.

Esimerkiksi:


Rajoitukset

Käytä rajatoimintoa löytääksesi rajat.

Funktion syntaksi:

raja (lauseke, muuttuja, keskeytyskohta)

Jos "breakpoint"-argumentiksi on asetettu "inf", tämä tarkoittaa, että reunaa ei ole.

Esimerkiksi:

Yksipuolisten rajojen laskemiseen käytetään lisäargumenttia, jolla on plus-arvo rajojen laskemiseen oikealla ja miinus vasemmalla.

Tutkitaan esimerkiksi funktion arctan(1/(x - 4)) jatkuvuutta. Tämä funktio on määrittelemätön pisteessä x = 4. Lasketaan rajat oikealle ja vasemmalle:

Kuten näemme, piste x = 4 on ensimmäisen tyyppinen epäjatkuvuuspiste tälle funktiolle, koska vasemmalla ja oikealla on rajat, jotka ovat vastaavasti yhtä suuria kuin -PI/2 ja PI/2.


Differentiaalit

Diff-funktiota käytetään erojen etsimiseen. Funktion syntaksi:

diff(lauseke, muuttuja1, johdannaisjärjestys muuttujalle1 [,muuttuja2, johdannaisjärjestys muuttujalle2,...])

jossa lauseke on funktio, joka on differentioitu, toinen argumentti on muuttuja, jonka suhteen derivaatta on otettava, kolmas (valinnainen) on derivaatan järjestys (oletusarvo on ensimmäinen).

Esimerkiksi:

Yleensä diff-funktiolle tarvitaan vain ensimmäinen argumentti. Tässä tapauksessa funktio palauttaa lausekkeen differentiaalin. Vastaavan muuttujan differentiaalia merkitään del(muuttujan nimi):

Kuten funktion syntaksista nähdään, käyttäjällä on mahdollisuus määrittää samanaikaisesti useita erottelumuuttujia ja asettaa järjestys jokaiselle:

Jos käytät parametrista funktiota, funktion kirjoitustapa muuttuu: funktion nimen jälkeen kirjoitetaan symbolit ":=" ja funktioon päästään sen nimen kautta parametrilla:

Derivaata voidaan laskea tietyssä pisteessä. Tämä tehdään näin:

Diff-funktiota käytetään myös merkitsemään derivaattoja differentiaaliyhtälöissä, kuten alla käsitellään.


Integraalit

Käytä integroi-toimintoa löytääksesi integraalit järjestelmästä. Löytääksesi epämääräinen integraali Funktio käyttää kahta argumenttia: funktion nimeä ja muuttujaa, jolla integrointi tapahtuu. Esimerkiksi:

Jos vastaus on epäselvä, Maxima voi esittää lisäkysymyksen:

Vastauksen tulee sisältää kysymyksen teksti. IN tässä tapauksessa, jos muuttujan y arvo on suurempi kuin "0", se on "positiivinen" (positiivinen), muuten - "negatiivinen" negatiivinen). Tässä tapauksessa vain sanan ensimmäinen kirjain voidaan syöttää.

Jos haluat löytää funktiosta määrätyn integraalin, sinun on määritettävä lisäargumentteja: integraalin rajat:

Maxima sallii myös rajattomat integraatiorajat. Tätä varten arvoja "-inf" ja "inf" käytetään funktion kolmannelle ja neljännelle argumentille:

Jos haluat löytää integraalin likimääräisen arvon numeerisessa muodossa, kuten aiemmin todettiin, sinun tulee valita tulos tulossolusta ja kutsua sitä kontekstivalikko ja valitse siitä kohta ”Kellua” (muunna liukulukuksi).

Järjestelmä pystyy myös laskemaan useita integraaleja. Tätä varten integrointifunktiot on sijoitettu sisäkkäin. Seuraavassa on esimerkkejä kaksinkertaisen epämääräisen integraalin ja kaksoismääräisen integraalin laskemisesta:


Differentiaaliyhtälöiden ratkaisut

Differentiaaliyhtälöiden ratkaisukyvyltään Maxima on huomattavasti huonompi kuin esimerkiksi Maple. Mutta Maxima antaa silti mahdollisuuden ratkaista tavallisia ensimmäisen ja toisen kertaluvun differentiaaliyhtälöitä sekä niiden järjestelmiä. Tätä varten käytetään kahta toimintoa tarkoituksesta riippuen. Tavallisten differentiaaliyhtälöiden yleisessä ratkaisussa käytetään ode2-funktiota ja yhtälöiden tai yhtälöjärjestelmien ratkaisujen etsimiseen alkuehtojen perusteella desolve-funktiota.

Ode2-funktiolla on seuraava syntaksi:

ode2(yhtälö, riippuva muuttuja, riippumaton muuttuja);

Diff-funktiota käytetään osoittamaan derivaatat differentiaaliyhtälöissä. Mutta tässä tapauksessa, jotta voidaan näyttää funktion riippuvuus sen argumentista, se kirjoitetaan muodossa "diff(f(x), x), ja itse funktio on f(x).

Esimerkki. Etsi yleinen ratkaisu tavalliselle ensimmäisen asteen differentiaaliyhtälölle y" - ax = 0.

Jos yhtälön oikean puolen arvo on nolla, se voidaan jättää kokonaan pois. Luonnollisesti yhtälön oikea puoli voi sisältää lausekkeen.

Kuten näette, Maxima käyttää differentiaaliyhtälöiden ratkaisemisessa integrointivakiota %c, joka on matemaattisesti katsottuna mielivaltainen lisäehdoista määrätty vakio.

Tavallisen differentiaaliyhtälön ratkaisemiseksi on toinenkin tapa, joka on käyttäjälle helpompi. Voit tehdä tämän suorittamalla komennon Yhtälöt > Ratkaise ODE ja kirjoittamalla ode2-funktion argumentit Ratkaise ODE -ikkunaan.

Maxima antaa sinun ratkaista toisen asteen differentiaaliyhtälöitä. Tähän käytetään myös ode2-toimintoa. Johdannaisten merkitsemiseen differentiaaliyhtälöissä käytetään diff-funktiota, johon lisätään vielä yksi argumentti - yhtälön järjestys: "diff(f(x), x, 2). Esimerkiksi ratkaisu tavalliseen toisen- järjestysdifferentiaaliyhtälö a·y"" + b·y" = 0 näyttää tältä:

Yhdessä ode2-funktion kanssa voit käyttää kolmea funktiota, joiden avulla voit löytää ratkaisun tietyin rajoituksin ode2-funktiolla saadun differentiaaliyhtälöiden yleisen ratkaisun perusteella:

  1. ic1 (funktion ode2 tulos, itsenäisen muuttujan alkuarvo muodossa x = x 0, funktion arvo kohdassa x 0 muodossa y = y 0). Suunniteltu ratkaisemaan ensimmäisen asteen differentiaaliyhtälö alkuehtojen kanssa.
  2. ic2(funktion ode2 tulos, riippumattoman muuttujan alkuarvo muodossa x = x 0, funktion arvo kohdassa x 0 muodossa y = y 0, alkuarvo riippuvaisen muuttujan ensimmäiselle derivaatalle suhteessa riippumaton muuttuja muodossa (y,x) = dy 0). Suunniteltu ratkaisemaan toisen asteen differentiaaliyhtälö alkuehtojen kanssa
  3. bc2(funktion ode2 tulos, itsenäisen muuttujan alkuarvo muodossa x = x 0, funktion arvo kohdassa x 0 muodossa y = y 0, riippumattoman muuttujan loppuarvo muodossa x = x n, funktion arvo pisteessä x n muodossa y = y n). Suunniteltu ratkaisemaan toisen asteen differentiaaliyhtälön raja-arvoongelma.

Näiden funktioiden yksityiskohtainen syntaksi löytyy järjestelmän dokumentaatiosta.

Ratkaistaan ​​Cauchyn ongelma ensimmäisen kertaluvun yhtälölle y" - ax = 0 alkuehdolla y(n) = 1.

Otetaan esimerkki raja-arvoongelman ratkaisemisesta toisen kertaluvun differentiaaliyhtälölle y""+y=x alkuehdoilla y(o) = 0; y(4)=1.

On syytä muistaa, että melko usein järjestelmä ei pysty ratkaisemaan differentiaaliyhtälöitä. Esimerkiksi kun yritämme löytää yleisen ratkaisun tavalliselle ensimmäisen asteen differentiaaliyhtälölle, saamme:

Tällaisissa tapauksissa Maxima joko antaa virheilmoituksen (kuten tässä esimerkissä) tai palauttaa yksinkertaisesti "false".

Toinen vaihtoehto tavallisten ensimmäisen ja toisen kertaluvun differentiaaliyhtälöiden ratkaisemiseksi on suunniteltu etsimään ratkaisuja alkuehdoilla. Se toteutetaan desolve-funktiolla.

Funktion syntaksi:

desolve(differentiaaliyhtälö, muuttuja);

Jos ratkaistaan ​​differentiaaliyhtälöjärjestelmä tai muuttujia on useita, yhtälö ja/tai muuttujat esitetään listan muodossa:

desolve([yhtälöluettelo], [muuttuja1, muuttuja2,...]);

Kuten edellisessä versiossa, diff-funktiota käytetään merkitsemään derivaattoja differentiaaliyhtälöissä, joiden muoto on "diff(f(x), x).

Alkuarvot muuttujalle saadaan atvalue-funktiosta. Tällä funktiolla on seuraava syntaksi:

atvalue(funktio, muuttuja = piste, arvo pisteessä);

Tässä tapauksessa edellytetään, että funktioiden ja (tai) niiden johdannaisten arvot asetetaan nollaan, joten arvofunktion syntaksi on:

atvalue(funktio, muuttuja = 0, arvo kohdassa "0");

Esimerkki. Etsi ratkaisu ensimmäisen kertaluvun differentiaaliyhtälöön y"=sin(x) alkuehdon kanssa.

Huomaa, että vaikka alkuehtoa ei olisi, toiminto toimii myös ja tuottaa tuloksen:

Tämä mahdollistaa ratkaisun testaamisen tietyn alkuarvon suhteen. Todellakin, korvaamalla arvon y(0) = 4 saatuun tulokseen, saamme y(x) = 5 - cos(x).

Desolve-funktio mahdollistaa differentiaaliyhtälöjärjestelmien ratkaisemisen alkuehdoin.

Otetaan esimerkki differentiaaliyhtälöjärjestelmän ratkaisemisesta alkuehdoilla y(0) = 0; z(0) = 1.


Tietojenkäsittely

Tilastollinen analyysi

Järjestelmän avulla voidaan laskea perustilastollisia kuvaavia tilastoja, joiden avulla kuvataan empiirisen tiedon yleisimmät ominaisuudet. Peruskuvaustilastot sisältävät keskiarvon, varianssin, keskihajonnan, mediaanin, moodin, maksimi- ja vähimmäisarvot, vaihteluvälin ja kvartiilit. Maximan mahdollisuudet ovat tässä suhteessa melko vaatimattomat, mutta suurin osa näistä tilastoista on melko helppo laskea sen avulla.

Helpoin tapa laskea tilastolliset kuvaavat tilastot on käyttää Tilastot-palettia.

Paneeli sisältää useita työkaluja, jotka on ryhmitelty neljään ryhmään.

  1. Tilastolliset indikaattorit (kuvaavat tilastot):
    • keskiarvo (aritmeettinen keskiarvo);
    • mediaani(mediaani);
    • varianssi (varianssi);
    • poikkeama (keskipoikkeama).
  2. Testit.
  3. Viiden tyyppisen kaavion rakentaminen:
    • histogrammi. Sitä käytetään ensisijaisesti tilastoissa kuvaamaan jakaumien intervallisarjoja. Sen rakentamisen aikana osat tai taajuudet piirretään ordinaatta-akselia pitkin ja attribuutin arvot piirretään abskissa-akselille;
    • hajontakaavio (korrelaatiokaavio, korrelaatiokenttä, hajontakaavio) - kaavio pisteistä, kun pisteet eivät liity toisiinsa. Käytetään kahden muuttujan tietojen näyttämiseen, joista toinen on tekijä ja toinen tulos. Sen avulla dataparien graafinen esitys suoritetaan pisteiden ("pilvien") muodossa koordinaattitasolla;
    • Pylväskaavio - pystysuorien sarakkeiden muodossa oleva kaavio;
    • sektori tai ympyräkaavio (ympyrädiagrammi). Tällainen kaavio on jaettu useisiin segmentteihin-sektoreihin, joista kunkin pinta-ala on verrannollinen niiden osaan;
    • box plot (laatikko viiksillä, laatikko viiksillä, Box Plot, box-and-whisker -kaavio). Sitä käytetään useimmin tilastotietojen näyttämiseen. Tämän kaavion tiedot ovat erittäin informatiivisia ja hyödyllisiä. Se näyttää samanaikaisesti useita variaatiosarjoja kuvaavia arvoja: minimi- ja maksimiarvot, keskiarvo ja mediaani, ensimmäinen ja kolmas kvartiili.
  4. Työkalut lukemiseen tai matriisin luomiseen. Palettityökalujen käyttämiseksi sinulla on oltava alkutiedot matriisin - yksiulotteisen taulukon - muodossa. Voit luoda sen nykyisen istunnon dokumenttiin ja korvata sen nimen syötteenä palettityökaluikkunoissa samalla tavalla kuin ratkaisisit yhtälöitä Yleisen matemaattisen paneelin avulla. Voit myös syöttää tiedot suoraan syöttötietojen syöttöikkunoihin. Tässä tapauksessa ne syötetään järjestelmässä hyväksytyssä muodossa, eli hakasulkeissa ja pilkuilla erotettuina. On selvää, että ensimmäinen vaihtoehto on paljon parempi, koska se vaatii vain kertaluonteisen tietojen syöttämisen.

Paneelin lisäksi kaikkia tilastotyökaluja voidaan käyttää myös vastaavilla funktioilla.

© 2024 ermake.ru - Tietoja PC-korjauksesta - Tietoportaali