Lëndë në shkenca kompjuterike "Studimi i aftësive të bibliotekës së paketave të sistemit Maxima për zgjidhjen e problemeve të veçanta matematikore". Sistemi i komandës, llogaritjet në sistemin Maxima Maximo vetitë e historisë së vlerave

18.11.2023

Të gjitha komandat futen në fushën ENTER, ndarësi i komandave është një simbol; (pikëpresje). Pas futjes së komandës, duhet të shtypni tastin Enter 2 wxMaxima duhet të shtypni Shift+Enter. për përpunimin e tij dhe nxjerrjen e rezultatit. Në versionet e mëparshme Maksima dhe disa prej predhave të saj (për shembull, xMaxima) kërkohet rreptësisht prania e një pikëpresjeje pas çdo komande. Përfundimi i hyrjes me një simbol $ (në vend të pikëpresjes) ju lejon të llogaritni rezultatin e komandës së futur, por nuk e shfaq atë në ekran. Në rastin kur shprehja duhet të shfaqet dhe të mos llogaritet, duhet të paraprihet nga shenja " (thonjë e vetme). Por kjo metodë nuk funksionon kur shprehja ka një vlerë të qartë, për shembull, shprehja zëvendësohet me një vlerë e barabartë me zero.

Dy thonjëza të vetme radhazi të aplikuara në një shprehje në vargun hyrës bëjnë që vargu i hyrjes të zëvendësohet nga rezultati i vlerësimit të shprehjes hyrëse.

Shembull:

(%i3) sqrt(aa)+bb;

(%i4) "(sqrt(aa)+bb);

2.5.1 Shënimi i komandave dhe rezultatet e llogaritjes

Pas futjes, çdo komande i caktohet një numër serial. Në shembullin e konsideruar, komandat e futura janë të numëruara 1–5 dhe janë caktuar në përputhje me rrethanat (%i1), (%i2), etj.

Rezultati i llogaritjes ka gjithashtu një numër serial, për shembull etj., ku i- shkurtim nga anglishtja. hyrje (hyrje), dhe O- Anglisht prodhimit. Ky mekanizëm ju lejon të shmangni përsëritjen e rekordit të plotë të komandave të ekzekutuara tashmë në llogaritjet pasuese, për shembull (%i1)+(%i2) do të thotë t'i shtoni shprehjes së komandës së parë shprehjen e të dytës dhe llogaritjen pasuese të rezultatit. . Ju gjithashtu mund të përdorni numrat e rezultateve të llogaritjes, për shembull . Maxima ka një shënim të veçantë për komandën e fundit të ekzekutuar - .

Shembull:

Llogaritni vlerën e derivatit të një funksioni :

(%i1) diff(x^2*exp(-x),x);

(%i2) f(x):=""%;

Një citim i dyfishtë përpara karakterit të operacionit të mëparshëm ju lejon të zëvendësoni këtë karakter me një vlerë, d.m.th. varg teksti i marrë si rezultat i diferencimit.

Një shembull tjetër (me përmbajtje të dukshme):

2.6 Numrat, operatorët dhe konstantet

2.6.1 Futja e informacionit numerik

Rregullat për futjen e numrave në Maksima saktësisht e njëjtë si për shumë programe të tjera të ngjashme. Pjesët e plota dhe të pjesshme të thyesave dhjetore ndahen me simbolin e pikës. Numrat negativë paraprihen nga një shenjë minus. Numëruesi dhe emëruesi i thyesave të zakonshme ndahen duke përdorur simbolin / (pjesë e prerë përpara). Ju lutemi vini re se nëse rezultati i një operacioni është një shprehje e caktuar simbolike, por ju duhet të merrni një vlerë numerike specifike në formën e një fraksioni dhjetor, atëherë përdorimi i flamurit do t'ju lejojë të zgjidhni këtë problem. Në veçanti, ju lejon të kaloni nga fraksionet e zakonshme në dhjetore. Konvertimi në formën me pikë lundruese kryhet gjithashtu nga funksioni.

(%i2) 3/7+5/3, float;

(%i3) 3/7+5/3, numër;

(%i4) float(5/7);

2.6.2 Veprimet aritmetike

Shënimi i veprimeve aritmetike në Maksima nuk ndryshon nga paraqitja klasike: + , - , * , /. Shpejtësia mund të shënohet në disa mënyra: ^, ^^, **. Nxjerrja e rrënjës së shkallës n shkruhet si shkallë . Operacioni i gjetjes së një faktoriali tregohet me një pikëçuditëse, për shembull 5!. Për të rritur përparësinë e një veprimi, si në matematikë, përdoren kllapat: (). Lista e operatorëve bazë aritmetikë dhe logjikë është dhënë në tabelë. 2.1 dhe tabela. 2.2 më poshtë.

Tabela 2.2. Operatorët logjikë
< operatori i krahasimit më pak se
> operatori i krahasimit më i madh se
<= operatori i krahasimit më i vogël ose i barabartë me
>= operator krahasimi më i madh ose i barabartë me
# operatori i krahasimit nuk është i barabartë
= operatori i krahasimit është i barabartë
dhe operatori logjik dhe
ose operator logjik ose
jo operator logjik jo

Sistemi i matematikës kompjuterike Maxima është një veteran i vërtetë në mesin e programeve në këtë klasë. Ajo është të paktën dy dekada më e vjetër se shumë nga homologët e saj të famshëm komercialë. I quajtur fillimisht Macsyma, ai u krijua në fund të viteve 1960 në Institutin e famshëm të Teknologjisë në Massachusetts dhe u mbështet për gati 20 vjet (nga 1982 deri në 2001) nga Bill Schelter, falë të cilit fitoi cilësitë dhe famën e tij të jashtëzakonshme në botën shkencore. Detaje mbi historikun e sistemit, modulin e instalimit (me madhësi vetëm 10 MB), dokumentacionin, kodin burimor dhe informacione të tjera të lidhura mund të gjenden në faqen e internetit të paketës. Versioni aktual (5.9.0) funksionon në Windows dhe Linux.

Pavarësisht nga madhësia e saj modeste, Maxima është një produkt shumë inteligjent i aftë për të zgjidhur probleme komplekse analitike. Ashtu si shumica e sistemeve të matematikës kompjuterike, ai është një përkthyes komande që ndërvepron me përdoruesin në bazë pyetje-përgjigje. Prandaj, zona e punës e sistemit është një sekuencë e qelizave hyrëse/dalëse (Fig. 1), e shënuar me një etiketë (C për hyrjen e përdoruesit, D për rezultatin) dhe një numër. Ky shënim ofron një mekanizëm të përshtatshëm lidhjeje që ju lejon të futni vetëm emrin e qelizës së dëshiruar për të hyrë në një nga rezultatet e mëparshme.

Operacionet numerike

Oriz. 1
Çfarëdo shprehjeje me të cilat punon Maxima, ajo gjithmonë përpiqet t'i paraqesë rezultatet në një formë të saktë analitike. Kjo vlen plotësisht për llogaritjet numerike. Për shembull, nëse futni shprehjen në vijën e komandës 1/2+1/3 , atëherë rezultati do të jetë 5/6 . Për të marrë vlerën si një numër me pikë lundruese, duhet ta specifikoni këtë në mënyrë eksplicite. Mënyra më e thjeshtë është të specifikoni një përshkrues të veçantë numri të ndara me presje pas shprehjes së futur.

Për llogaritjet me saktësi të lartë, Maxima mbështet operatorë të veçantë që ju lejojnë të llogaritni çdo vlerë me një rrjet arbitrar bit (brenda kufijve, natyrisht, të aftësive harduerike). Kjo vlen edhe për numrat e plotë: vlera e tyre në sistem nuk kufizohet nga softueri. Për më tepër, Maxima ka një shpejtësi shumë të mirë të punës me aritmetikë me precizion të lartë, gjë që bën të mundur kryerjen e llogaritjeve me numra të plotë prej dhjetëra dhe qindra mijëra shifrash me performancë në nivelin e sistemeve më të mira tregtare.

Vini re se Maxima ka një qasje të ndjeshme ndaj rastit të shprehjeve hyrëse. Nëse pamja e tyre është afër emrit të një funksioni të integruar, programi e përdor këtë funksion. Sipas këtij rregulli Mëkati, mëkat Dhe MËKATA do të thotë të njëjtën gjë. Megjithatë, variablat dhe funksionet e përdoruesit janë të ndjeshme ndaj shkronjave të vogla -- X Dhe x mund të përfaqësojë objekte të ndryshme.

Sistemi gjithashtu mbështet aritmetikën komplekse dhe një numër konstantesh të njohura matematikore.


Operacionet analitike

Aftësia për të kryer operacione komplekse analitike dhe transformime ishte, natyrisht, tipari kryesor i produktit që siguroi suksesin e Maxima midis specialistëve. Këtu përfshihen operacionet standarde të analizës (diferencimi, integrimi, llogaritja e kufijve), përfaqësimi i shprehjeve në formë të zgjeruar, zgjerimi i funksioneve në seri, thjeshtimet, transformimet, zëvendësimet, etj. Për më tepër, ky funksionalitet është mjaft fleksibël për të kryer kërkime serioze shkencore. Kështu, është e mundur të gjenden derivate të pjesshëm dhe të zakonshëm të çdo rendi, integralet mund të jenë të zakonshëm dhe të shumëfishtë, pafundësia lejohet si kufijtë e integrimit, etj. Si gjithmonë, programi do të përpiqet të përfaqësojë të gjitha vlerat e llogaritura në një formë e mbyllur (e saktë).

Nëse nuk mund të merret një rezultat i paqartë për shprehjen e futur, programi do të bëjë pyetje kryesore në një gjuhë pothuajse natyrore (anglisht). Për shembull, kur përpiqeni të gjeni integralin e funksionit x n Maxima do të sqarojë nëse është e barabartë n+1 zero (siç dihet, rezultati varet ndjeshëm nga kjo). Sidoqoftë, pyetje të tilla mund të shmangen nëse specifikoni paraprakisht, duke përdorur operatorë të veçantë, hapësirën për ndryshimin e parametrave dhe variablave të përdorur.

Mjeti analitik gjithashtu mbështet veprimet algjebrike me polinome (ndarja e dy polinomeve, llogaritja e pjesëtuesit më të madh të përbashkët, faktorizimi) dhe shprehjet trigonometrike. Për aplikime praktike, mjetet e integruara në sistemin për zgjidhjen e ekuacioneve dhe sistemeve të llojeve të ndryshme - algjebrike, transcendentale dhe diferenciale - luajnë një rol të rëndësishëm.


Veprimet e algjebrës lineare

Maxima zbaton një motor shumë të avancuar operacionesh me matricë vektoriale që lejon llogaritjet komplekse algjebrike. Matricat prezantohen nga operatori universal matricë, atëherë ndaj tyre zbatohen veprimet e zakonshme lineare - mbledhje, zbritje, shumëzim me një skalar (për t'i shkruar ato përdorni shënime natyrore matematikore si p.sh. A+B), si dhe transpozimi, inversioni, llogaritja e përcaktorëve, karakteristikat spektrale etj.


Aftësitë grafike

Një sistem modern i matematikës kompjuterike i një lloji universal duhet të ketë të zhvilluara aftësi vizualizimi të të dhënave. Ato janë gjithashtu të disponueshme në Maxima. Grafikët në sistem ndërtohen duke përdorur dy funksione - PLOT2D (dy-dimensionale, Fig. 2) dhe PLOT3D (tre-dimensionale, Fig. 3). Pavarësisht nga kjo zgjedhje relativisht e kufizuar, këto mjete ju lejojnë të shfaqni grafikë të llojeve të ndryshme në një plan dhe në hapësirë ​​me cilësime mjaft të mira - duke përdorur operatorë të veçantë ose argumente funksioni, ju vendosni numrin e nyjeve të rrjetit mbi të cilat është ndërtuar grafiku i kërkuar, të dhënat diapazoni, ngjyra dhe karakteristika të tjera. Përveç kësaj, mund të përdorni cilësime interaktive për të ndryshuar shpejt trashësinë e linjave, për të rrotulluar një sipërfaqe tre-dimensionale, etj. Zgjedhja e formateve të eksportit Maxima është shumë e ngushtë: vizatimet në program ruhen, në fakt, vetëm në PostScript. Në përgjithësi, mjetet vizuale të sistemit janë relativisht modeste, megjithëse ato bëjnë të mundur marrjen e grafikave me cilësi të lartë të disa llojeve.


Mjete Programimi

Si çdo sistem kompjuterik i matematikës, Maxima ju lejon të krijoni programe komplekse dhe t'i përdorni ato në probleme që mund të jenë të vështira dhe joefikase për t'u zgjidhur duke përdorur linjën e komandës.

Në rastin më të thjeshtë, një funksion i personalizuar përcaktohet drejtpërdrejt në vijën e komandës

MyFunc(x,y):=x^2+y^2;

Pastaj MyFunc mund të përdoret së bashku me ato të integruara. Sigurisht, sistemi mbështet edhe dizajne më komplekse. Trupi i një funksioni lejon operatorët për degëzimin, ciklin, hyrjen/daljen, etj. Gjuha e programimit në Maxima ka disa veçori, më e rëndësishmja prej të cilave është se numri i argumenteve të funksionit nuk duhet të fiksohet. Tjetri përbëhet nga mjete jashtëzakonisht fleksibël për të punuar me vargje, të cilat rrallë gjenden jo vetëm në gjuhët tradicionale, por edhe në sisteme të specializuara, duke përfshirë SCM. Këtu janë disa shembuj të marrë nga i njëjti manual (pika e dyfishtë në Maxima do të thotë detyrë):
a:4*u;
a:%PI;
a[x]:mister;

Të gjithë operatorët janë të saktë dhe së bashku përcaktojnë një grup, indekset e të cilit janë numra 4 , 22/7 dhe varg "x", dhe vlerat e elementeve janë shprehja 4*u, numri π (në Maxima shkruhet si %PI) dhe një varg karakteresh "mister". Kështu, pothuajse çdo shprehje mund të veprojë si një element grupi dhe si indeks i tij. Vetitë origjinale të Maxima nuk kufizohen në këto veçori (për shembull, mbështeten edhe grupe funksionesh), por ne nuk do të ndalemi në detaje.

Në përgjithësi, Maxima është shkruar në Lisp dhe mbështet drejtpërdrejt shumë nga komandat e saj. Mund të themi se Lisp është thelbi i sistemit dhe mund të aksesohet gjatë programimit "të nivelit të ulët". Megjithatë, në shumicën e rasteve kjo nuk kërkohet. Maxima ofron një numër të mjaftueshëm mjetesh të gatshme që janë shumë më të lehta për t'u përdorur sesa operatorët Lisp.

Nëse është e nevojshme, programet ruhen në skedarë të jashtëm. Komandat shkruhen në të njëjtën formë në të cilën janë futur në sistem, ekzistojnë vetëm disa veçori për dizajnimin e funksioneve.

Kujdesi për përdoruesin

Përveç dokumentacionit të disponueshëm në faqen e internetit të produktit, paketa përfshin një hyrje në Maxima dhe një tutorial mbi sistemin (të dyja në format HTML) - një përshkrim i detajuar i mjaftueshëm për një prezantim të thellë të të gjitha aftësive të tij. Sidoqoftë, gjatë një seance pune me sistemin, shpesh është e nevojshme të merrni ndihmë në internet. Për këtë Maxima ofron një funksion PËRSHKRUAJ(), i cili shfaq informacion të detajuar për operatorin me interes për përdoruesin (i cili i kalohet atij si argument). Nuk ka rëndësi nëse nuk e mbani mend sintaksën e plotë, shkruani shkronjat e para të emrit - dhe Maxima do të shfaqë të gjithë emrat e disponueshëm duke filluar me këtë kombinim karakteresh. Nëse ky informacion nuk është i mjaftueshëm, mund të përdorni funksionin SHEMBULL(), i cili do të ofrojë shembuj tipikë. Funksionet e së njëjtës seri përfshijnë DEMO(), i cili ekzekuton programe nga skedarët demo të furnizuar me sistemin. Do të doja të shënoja një veçori të tillë të sistemit si aftësia për të paraqitur rezultatet e llogaritjes në formatin TeX duke përdorur një funksion të quajtur -- TEX ().


konkluzionet

Shpresojmë që pas këtij materiali të shkurtër, lexuesit të kenë ende një ide për Maxima si një sistem vërtet profesional i krijuar për zgjidhjen e problemeve komplekse numerike dhe analitike, si dhe paraqitjen grafike të të dhënave. Sidomos, siç u theksua në fillim, programi është i fortë në llogaritjet analitike dhe aritmetikën me saktësi të lartë. Sigurisht, Maxima është larg të qenit perfekt dhe në shumë mënyra nuk ka produkte komerciale si Maple dhe Mathematica. Sidoqoftë, kjo nuk i heq avantazhet e saj - Maxima mund të përdoret si për qëllime edukative ashtu edhe si një platformë për zhvillime mjaft serioze shkencore.

0

Sistemi Maxima ka shumë funksione të integruara. Çdo funksion i integruar mund të përshkruhet në dokumentacionin e përfshirë në sistemin e ndihmës. Ndihma mund të arrihet duke përdorur tastin e funksionit F1. Maxima gjithashtu ka një funksion të veçantë që ofron informacion nga dokumentacioni për fjalë specifike. Një version i shkurtuar i kësaj thirrjeje funksioni: ?? emri (Fig. 12). Këtu?? është emri i operatorit dhe argumenti duhet të ndahet prej tij me një hapësirë. Operator?? shfaq një listë të atyre seksioneve të ndihmës dhe emrave të funksioneve që përmbajnë tekstin e specifikuar, pas së cilës ata ju kërkojnë të vendosni numrin e seksionit ose përshkrimin e funksionit që dëshironi të shikoni:

Fig. 12. Thirrja e ndihmës për komandën e interesit të sistemit Maxima

Vini re se në sistemin Maxima nuk ka dallim të qartë ndërmjet operatorëve dhe funksioneve. Për më tepër, çdo deklaratë është në fakt një funksion.

Të gjitha funksionet dhe operatorët Maxima punojnë jo vetëm me numra realë, por edhe me numra kompleks. Vetë numrat kompleks shkruhen në formë algjebrike, me njësinë imagjinare të shënuar me %i; pra në formën a+b*%i, ku A Dhe b janë përkatësisht pjesët reale dhe imagjinare të një numri.

Le të shqyrtojmë sintaksa e funksionit bazë Sistemet Maxima.

1. Operatorët aritmetikë: + , -, *, /, -->. Shembull:

3. Operatorët logjikë: dhe, ose, jo. Shembull:

4. Funksioni për gjetjen e faktorialit të një numri: !

Faktoriali jepet në formën më të përgjithshme dhe është, në fakt, një funksion gama (më saktë, x! = gama(x+1)), domethënë, ai përcaktohet në bashkësinë e të gjithë numrave kompleksë përveç numrave të plotë negativë. Faktoriali i një numri natyror (dhe zero) thjeshtohet automatikisht në të njëjtin numër natyror.

5. Funksioni për gjetjen e gjysmëfaktorit është: !! (prodhimi i të gjithëve çift (për një operand çift) ose tek numrat më të vegjël ose të barabartë me atë të dhënë).

6. Funksioni i mohimit të barazisë sintaksore: # Shënimi a#b është i barabartë me jo a=b.

7. Funksioni për gjetjen e modulit të një numri x: abs(x) Moduli përcaktohet për të gjithë numrat kompleksë. Shembull:

8. Funksioni që kthen shenjën e numrit x: signum(x)

9. Funksionet që kthejnë vlerat më të mëdha dhe më të vogla të numrave realë të dhënë: max(x1,...,xn) dhe min(x1,...,xn).

10. Disa funksione të integruara matematikore:

sqrt(x) Rrënja katrore e x
akos (x) Arkozina e argumentit x
acosh (x) Kosinusi i harkut hiperbolik i x
acot(x) Arkotangjentja e argumentit x
acoth (x) Kotangjentja e harkut hiperbolik të argumentit x
acsc(x) Arkosekanti i argumentit x
acsch(x) Arkosekanti hiperbolik i argumentit x
asec(x) Arksekanti i argumentit x
asek (x) Arksekant hiperbolik i argumentit x
asin(x) Arksina e argumentit x
asinh(x) Arksina hiperbolike e argumentit x
atan (x) Arktangjenti i argumentit x
atah (x) Arktangjenti hiperbolik i argumentit x
cosh(x) Kosinusi hiperbolik i argumentit x
shtrojë (x) Kotangjentja hiperbolike e argumentit x
csc(x) Kosekanti i argumentit x
csch(x) Kosekanti hiperbolik i argumentit x
sek (x) Sekanti i argumentit x
sech(x) Sekanti hiperbolik i argumentit x
mëkat (x) Sinusi i x
sinh (x) Sinusi hiperbolik i argumentit x
tan (x) Tangjenta x
tanh (x) Tangjentja hiperbolike e argumentit x
regjistri (x) Logaritmi natyror i x
exp(x) Eksponenti x

11. Funksionet për të punuar me matrica:

përcaktor - gjetja e përcaktorit të një matrice:

Eigenvalues ​​- gjetja e vlerave eigen të matricës:

përmbys– marrja e matricës së kundërt:

e mitur– përcakton minorin e matricës. Argumenti i parë është një matricë, i dyti dhe

e treta janë indekset e rreshtave dhe kolonave, përkatësisht:

gradë- renditja e matricës:

nënmatriks– kthen matricën e marrë nga origjinali duke hequr

rreshtave dhe/ose kolonave përkatëse. Parametrat janë:

numrat e rreshtave që do të fshihen, matrica origjinale, numrat e kolonave që do të fshihen.

transpozoj– transpozimi i matricës:

Gjuha e sistemit Maxima përmban operatorët bazë të ekzekutueshëm që gjenden në çdo gjuhë programimi. Le t'i shikojmë ato.

Operatorët e caktimit të vlerës (shprehjet e emërtimit).

1. Operatori “:” (operator për vendosjen e vlerës së një ndryshoreje).

2. Operatori “:=” (operator për specifikimin e një funksioni të përdoruesit).

3.Versionet e zgjeruara të operatorëve të caktimit dhe caktimit të funksioneve, të shënuara përkatësisht me:: dhe::=.

Përdorimi i një operatori të funksionit të përdoruesit e bën shumë më të lehtë punën me një funksion përdoruesi, sepse ai mund të aksesohet me emër dhe vlerat e funksionit në pikat e dhëna mund të llogariten lehtësisht dhe me lehtësi.

Shembull: gjeni vlerën e një funksioni f (x, y)=cosx + mëkat y në pikën

Operatori i ciklit. Operatori i ciklit mund të specifikohet në disa mënyra. Metoda e specifikimit varet nëse dihet paraprakisht se sa herë duhet të ekzekutohet trupi i lakut.

Shembull: Vendosja e një cikli për të shfaqur vlerat e një ndryshoreje A në rangun nga -3 në 10 në hapat prej 5:

Tipari tjetër i rëndësishëm i sistemit Maxima është duke punuar me lista dhe vargje.

Për të gjeneruar lista, përdorni komandën makelist. Për shembull, duke përdorur komandën

ne kemi formuar një listë me emrin x, e përbërë nga dhjetë elementë, vlerat e të cilave gjenden sipas formulës.

Për të formuar vargje, përdorni komandën array. Për shembull, duke përdorur komandën,

ne kemi formuar një grup dydimensional A të përbërë nga 10 rreshta dhe 5 kolona. Për të mbushur grupin me elementë, ne do të përdorim një lak me një parametër. Për shembull,

Për të shfaqur elementët e grupit në ekran, mund të përdorni komandën:

Një grup mund të formohet pa deklarim paraprak. Në shembullin e mëposhtëm, ne kemi formuar një grup njëdimensional x, i përbërë nga 5 elementë, vlerat e të cilave janë llogaritur duke përdorur formulën x( i)= mëkat i

Bezdisja e punës me vargje është se vlerat e elementeve të grupit shfaqen në një kolonë. Është shumë më i përshtatshëm nëse vlerat e një grupi (dy-dimensionale) shfaqen si një matricë. Për këto qëllime, mund të përdorni komandën genmatrix. Për shembull, për të gjeneruar një grup (matricë) dy-dimensionale, duhet të specifikoni një komandë në formën e mëposhtme:

Le të nxjerrim grupin që rezulton:

6. Shndërrimet më të thjeshta të shprehjeve.

Si parazgjedhje, funksioni i Autothjeshtimit është aktiv në sistemin Maxima, d.m.th. sistemi përpiqet të thjeshtojë vetë shprehjen e futur pa asnjë komandë.

Shembull. Supozoni se ju duhet të gjeni vlerën e shprehjes numerike të mëposhtme:

Le ta vendosim shprehjen sipas rregullave të gjuhës së sistemit Maxima.

Siç mund ta shihni, sistemi u përgjigj me vlerën e shprehjes, megjithëse nuk specifikuam asnjë komandë.

Si mund ta detyroni sistemin të nxjerrë jo rezultatin, por vetë shprehjen? Për ta bërë këtë, funksioni i thjeshtimit duhet të çaktivizohet duke përdorur komandën simp: false$. Pastaj marrim:

Për të aktivizuar funksionin e thjeshtimit, duhet të specifikoni komandën simp:true$. Funksioni i thjeshtimit automatik mund të funksionojë si me shprehje numerike ashtu edhe me disa shprehje jo-numerike. Për shembull,

Kur futemi, mund t'i referohemi ndonjë prej qelizave të mëparshme me emrin e tij, duke e zëvendësuar atë në çdo shprehje. Përveç kësaj, qeliza e fundit e daljes shënohet me %, dhe qeliza e fundit hyrëse shënohet me _. Kjo ju lejon të aksesoni rezultatin më të fundit pa u hutuar nga numri i tij. Por thirrje të tilla në qeliza nuk duhet të abuzohen, pasi kur rivlerësohet i gjithë dokumenti ose qelizat e tij individuale hyrëse, mund të ndodhë një mospërputhje midis numrave të qelizave.

Shembull. Gjeni vlerën e shprehjes dhe rriteni rezultatin me 5 herë.

Këshillohet që në vend të emrave të qelizave të përdorni variabla dhe t'i caktoni emrat e tyre çdo shprehjeje. Në këtë rast, çdo shprehje matematikore mund të veprojë si vlerë e ndryshores.

Vlerat e emrave të variablave ruhen gjatë gjithë punës me dokumentin. Le të kujtojmë se nëse është e nevojshme të hiqet përkufizimi nga një ndryshore, kjo mund të bëhet duke përdorur funksionin kill(name), ku emri është emri i shprehjes që do të shkatërrohet; për më tepër, ky mund të jetë ose një emër i caktuar nga ju ose ndonjë qelizë hyrëse ose dalëse. Në mënyrë të ngjashme, ju mund të pastroni të gjithë memorien dhe të lironi të gjithë emrat duke futur komandën kill(all) (ose duke zgjedhur menunë Makhta->Pastro kujtimin(Pastro kujtimin)). Në këtë rast, të gjitha qelizat I/O do të pastrohen gjithashtu dhe numërimi i tyre do të fillojë përsëri nga një.

Funksioni i autothjeshtimit nuk është gjithmonë në gjendje të thjeshtojë një shprehje. Përveç tij, ka një numër komandash që janë krijuar për të punuar me shprehje: racionale dhe irracionale. Le të shohim disa prej tyre.

rat (shprehje) - shndërron një shprehje racionale në formën kanonike: hap të gjitha kllapat, pastaj sjell gjithçka në një emërues të përbashkët, shumon dhe zvogëlon; konverton të gjithë numrat në shënimet dhjetore të fundme në numra racionalë. Forma kanonike "anulohet" automatikisht në rastin e çdo transformimi që nuk është racional

ratsimp (shprehje) - thjeshton një shprehje përmes shndërrimeve racionale. Ajo gjithashtu funksionon "në thellësi", domethënë, pjesët irracionale të shprehjes nuk konsiderohen si atomike, por thjeshtohen, duke përfshirë të gjithë elementët racionalë brenda tyre.

fullratsimp(shprehje) - një funksion për thjeshtimin e një shprehjeje racionale duke aplikuar në mënyrë sekuenciale funksionin ratsimp() në shprehjen e kaluar. Për shkak të kësaj, funksioni është disi më i ngadalshëm se ratsimp(), por jep një rezultat më të besueshëm.

zgjerim (shprehje) - zgjeron kllapat në një shprehje në të gjitha nivelet e foleve. Ndryshe nga funksioni ratexpand(), ai nuk i redukton fraksionet në një emërues të përbashkët.

radcan(shprehje) - një funksion për thjeshtimin e funksioneve logaritmike, eksponenciale dhe fuqie me eksponentë racionalë jo të plotë, domethënë rrënjë (radikale).

Shpesh, kur përpiqeni të thjeshtoni një shprehje në Maxima, ajo në fakt mund ta bëjë atë më komplekse. Një rritje e rezultatit mund të ndodhë për faktin se nuk dihet se çfarë vlerash mund të marrin variablat e përfshirë në shprehje. Për të shmangur këtë, duhet të vendosni kufizime në vlerat që mund të marrë një ndryshore. Kjo bëhet duke përdorur funksionin supozoj(kusht). Prandaj, në disa raste, rezultati më i mirë mund të arrihet duke kombinuar radcan() me ratsimp() ose fullratsimp().

Operatori i ciklit

Operatori i ciklit mund të specifikohet në disa mënyra. Metoda e specifikimit varet nëse dihet paraprakisht se sa herë duhet të ekzekutohet trupi i lakut.

Shembull: vendosja e një cikli për të shfaqur vlerat e ndryshores a në rangun nga -3 në 10 në hapat 5:

Shembull: një cikli për të gjetur shumën e të gjithë numrave natyrorë deri në 50 dhe duke përfshirë:

Tipari tjetër i rëndësishëm i sistemit Maxima është duke punuar me lista dhe vargje.

Për të gjeneruar lista, përdorni komandën makelist. Për shembull, duke përdorur komandën

ne kemi formuar një listë me emrin x, e përbërë nga dhjetë elementë, vlera

Për të formuar vargje, përdorni komandën array. Për shembull, duke përdorur komandën,

ne kemi formuar një grup dydimensional A të përbërë nga 10 rreshta dhe 5 kolona. Për të mbushur grupin me elementë, ne do të përdorim një lak me një parametër. Për shembull,

T.N. Gubina, E.V. Andropova

Për të shfaqur elementët e grupit në ekran, mund të përdorni komandën:

Një grup mund të formohet pa deklarim paraprak. Në shembullin e mëposhtëm, ne kemi formuar një grup njëdimensional x, i përbërë nga 5 elementë, vlerat e të cilave llogariten me formulën x i = sin i.

Bezdisja e punës me vargje është se vlerat e elementeve të grupit shfaqen në një kolonë. Është shumë më i përshtatshëm nëse vlerat e një grupi (dy-dimensionale) shfaqen si një matricë. Për këto qëllime, mund të përdorni komandën genmatrix. Për shembull, për të gjeneruar një grup (matricë) dy-dimensionale, duhet të specifikoni një komandë në formën e mëposhtme:

Le të nxjerrim grupin që rezulton:

1.7. Menaxhimi i procesit të llogaritjes në Maxima

Sistemi i matematikës kompjuterike Maxima i përket sistemeve të matematikës simbolike. Prandaj (sipas parazgjedhjes) sistemi prodhon rezultatin në formë simbolike. Kjo do të thotë, nëse nuk specifikoni një komandë të veçantë, sistemi

Kapitulli 1 Bazat e punës në sistemin e matematikës kompjuterike Maxima

nuk do t'i paraqesë kurrë rezultatet e marra gjatë llogaritjeve në formën e një numri real të përafërt. Për shembull, nëse futim komandën2 në qelizën hyrëse, do të marrim:

Nëse është e nevojshme të paraqitet rezultati i marrë gjatë llogaritjeve në formën e një numri real, atëherë në këtë rast është e nevojshme t'i jepet një komandë e veçantë sistemit. Për shembull, mund ta bëni këtë: nëse dëshironi të merrni një vlerë të përafërt prej 2, atëherë zgjidhni artikullin e menysë Llogaritjet numerike→ Për të notuar(në një numër të vetëm saktësie) (ose Në BigFloat

(me saktësi të dyfishtë numër)). Rezultati do të duket si ky:

Shenja "%" në Maxima përdoret për t'iu referuar rezultatit të marrë në seancën e fundit. Kjo mund të jetë e përshtatshme nëse nuk ka nevojë të futni variablat e përdoruesit dhe më pas të përdorni vlerat që rezultojnë.

Për të kontrolluar procesin e llogaritjes, të ashtuquajturat "Bllokimet e llogaritjes". Bllokimi bëhet duke përdorur një apostrof të vetëm. Thelbi i saj:

nëse vendosni një apostrof përpara emrit të një funksioni ose ndryshoreje, atëherë llogaritja e vetë funksionit (por jo argumenteve të tij) ose ndryshores bllokohet;

nëse vendosni një apostrof përpara një shprehjeje të mbyllur në kllapa, atëherë e gjithë shprehja, d.m.th., të gjitha funksionet e përfshira në të dhe të gjitha argumentet e këtyre funksioneve, do të mbeten të pallogaritura.

Për shembull, le të përcaktojmë një funksion f x dhe të krahasojmë rezultatet e marra kur përpiqemi të llogarisim vlerën e funksionit në pikën x = 0.

Siç mund ta shohim, shenja e apostrofit bllokoi përpjekjen për të llogaritur vlerën e funksionit në rastin e parë.

Një shembull tjetër:

T.N. Gubina, E.V. Andropova

Në ndryshim nga bllokimi i llogaritjeve, duke përdorur dy karaktere apostrofë, përkundrazi, ju mund ta detyroni sistemin të kryejë llogaritjet - "llogaritje e detyruar". Për shembull,

Siç mund ta shihni, sistemi nuk pranoi të llogarisë integralin, megjithëse ne nuk dhamë komandën për të bllokuar llogaritjet. Nëse vendosim një apostrof të dyfishtë përpara komandës, marrim rezultatin e mëposhtëm:

Ju lutemi vini re se në sistemin Maxima, si parazgjedhje, të gjitha këndet maten në radianë. Prandaj, nëse keni nevojë të punoni me kënde në gradë, do t'ju duhet të mbani mend formulën për konvertimin nga radianët në gradë.

Në terminologjinë Maxima, forma e pavlerësuar e një shprehjeje quhet "formë emërore", forma e vlerësuar quhet "formë foljore".

Pika tjetër e rëndësishme kur punoni në sistemet e matematikës kompjuterike është aftësia për të zëvendësuar vlerat e variablave ose pjesëve të shprehjeve në funksione dhe shprehje. Le të shohim disa nga aftësitë e sistemit të ofruara për këto qëllime.

Për shembull, kërkohet të zëvendësohet një vlerë specifike në shprehjen cos x 4sin x − x në vend të variablave x, për shembull, .

Kapitulli 1 Bazat e punës në sistemin e matematikës kompjuterike Maxima

Kështu, komanda subst ju lejon të zëvendësoni vlerat e çdo ndryshoreje në një shprehje. Në fakt, ekzistojnë disa komanda për zëvendësimin e vlerave në një shprehje ose funksion në Maxima.

1.8. Transformime të thjeshta të shprehjes

Si parazgjedhje, funksioni i Autothjeshtimit është aktiv në sistemin Maxima, d.m.th. sistemi përpiqet të thjeshtojë vetë shprehjen e futur pa asnjë komandë.

Shembull. Le të jetë e nevojshme të gjejmë vlerën e shprehjes numerike të mëposhtme

1 1− 4

hyrjet: 2 1 4 4 5 7 .

Le ta vendosim shprehjen sipas rregullave të gjuhës së sistemit Maxima.

Siç mund ta shihni, sistemi u përgjigj me vlerën e shprehjes, megjithëse nuk specifikuam asnjë komandë.

Si mund ta detyroni sistemin të nxjerrë jo rezultatin, por vetë shprehjen? Për ta bërë këtë, funksioni i thjeshtimit duhet të çaktivizohet duke përdorur komandën simp: false$. Pastaj marrim:

Për të aktivizuar funksionin e thjeshtimit, duhet të specifikoni komandën simp:true$. Funksioni i thjeshtimit automatik mund të funksionojë si me shprehje numerike ashtu edhe me disa shprehje jo-numerike. Për shembull,

T.N. Gubina, E.V. Andropova

Kur futemi, mund t'i referohemi ndonjë prej qelizave të mëparshme me emrin e tij, duke e zëvendësuar atë në çdo shprehje. Përveç kësaj, qeliza e fundit e daljes shënohet me %, dhe qeliza e fundit hyrëse shënohet me _. Kjo ju lejon të aksesoni rezultatin më të fundit pa u hutuar nga numri i tij. Por thirrje të tilla në qeliza nuk duhet të abuzohen, pasi kur rivlerësohet i gjithë dokumenti ose qelizat e tij individuale hyrëse, mund të ndodhë një mospërputhje midis numrave të qelizave.

rezultati i llogaritur është 5 herë.

Këshillohet që në vend të emrave të qelizave të përdorni variabla dhe t'i caktoni emrat e tyre çdo shprehjeje. Në këtë rast, çdo shprehje matematikore mund të veprojë si vlerë e ndryshores.

Vlerat e emrave të variablave ruhen gjatë gjithë punës me dokumentin. Le të kujtojmë se nëse është e nevojshme të hiqet përkufizimi nga një ndryshore, kjo mund të bëhet duke përdorur funksionin kill(name), ku emri është emri i shprehjes që do të shkatërrohet; për më tepër, ky mund të jetë ose një emër i caktuar nga ju ose ndonjë qelizë hyrëse ose dalëse. Në mënyrë të ngjashme, mund të pastroni të gjithë memorien dhe të lironi të gjithë emrat duke futur komandën kill(all) (ose zgjidhni menynë Maxima->Clear Memory). Në këtë rast, të gjitha qelizat I/O do të pastrohen gjithashtu dhe numërimi i tyre do të fillojë përsëri nga një.

Funksioni i autothjeshtimit nuk është gjithmonë në gjendje të thjeshtojë një shprehje. Përveç tij, ka një numër komandash që janë krijuar për të punuar me shprehje: racionale dhe irracionale. Le të shohim disa prej tyre.

rat (shprehje) - konverton një shprehje racionale në formën e saj kanonike: hap të gjitha kllapat, pastaj sjell gjithçka në një emërues të përbashkët, shumon dhe zvogëlon; konverton të gjithë numrat në shënimet dhjetore të fundme në numra racionalë. Forma kanonike "anulohet" automatikisht në rastin e çdo transformimi që nuk është racional

ratsimp(shprehje) - thjeshton shprehjen përmes shndërrimeve racionale. Ajo gjithashtu funksionon "në thellësi", domethënë irracionale

Kapitulli 1 Bazat e punës në sistemin e matematikës kompjuterike Maxima

pjesët e shprehjes nuk konsiderohen si atomike, por janë të thjeshtuara, duke përfshirë të gjithë elementët racionalë brenda tyre

fullratsimp (shprehje) - një funksion për thjeshtimin e një shprehjeje racionale duke aplikuar në mënyrë sekuenciale funksionin ratsimp() në shprehjen e kaluar. Për shkak të kësaj, funksioni është disi më i ngadalshëm se ratsimp(), por jep një rezultat më të besueshëm.

zgjerim (shprehje) - zgjeron kllapat në një shprehje në të gjitha nivelet e foleve. Ndryshe nga funksioni ratexpand(), ai nuk i redukton termat thyesorë në një emërues të përbashkët.

radcan(shprehje) - një funksion për thjeshtimin e funksioneve logaritmike, eksponenciale dhe fuqie me eksponentë racionalë jo të plotë, domethënë rrënjë (radikale).

Shpesh, kur përpiqeni të thjeshtoni një shprehje në Maxima, ajo në fakt mund ta bëjë atë më komplekse. Një rritje e rezultatit mund të ndodhë për faktin se nuk dihet se çfarë vlerash mund të marrin variablat e përfshirë në shprehje. Për të shmangur këtë, duhet të vendosni kufizime në vlerat që mund të marrë një ndryshore. Kjo bëhet duke përdorur funksionin supozoj(kusht). Prandaj, në disa raste, rezultati më i mirë mund të arrihet duke kombinuar radcan() me ratsimp() ose fullratsimp().

− a 2 b 2

aba1/4

Shembull. Thjeshtoni një shprehje

b a b a 2 1/4

a 2− b 2.

Nëse zbatojmë komandën për të thjeshtuar në mënyrë racionale shprehjen tonë, marrim:

Le të përdorim funksionin supozojmë (kusht) dhe ta përdorim atë për të vendosur kufizime në vlerat e tyre në disa ndryshore të përfshira në shprehje:

T.N. Gubina, E.V. Andropova

Siç mund ta shihni, ne morëm një rezultat kompakt.

1.9. Zgjidhja e ekuacioneve algjebrike dhe sistemet e tyre

Sistemi Maxima përdor funksionin e integruar të zgjidhjes, i cili ka sintaksën e mëposhtme, për të zgjidhur ekuacionet lineare dhe jolineare:

Zgjidh (expr, x) – zgjidh ekuacionin algjebrik expr në lidhje me ndryshoren x

Zgjidh (expr) – zgjidh ekuacionin algjebrik expr në lidhje me variablin e panjohur të përfshirë në ekuacion.

Për shembull, le të zgjidhim ekuacionin linear 5 x + 8 = 0. Për ta bërë këtë, përdorni butonin Zgjidh në shiritin e veglave, kur klikohet, shfaqet kutia dialoguese Zgjidh (Fig. 13). Futni ekuacionin origjinal dhe klikoni OK.

Oriz. 13. Dialog box për zgjidhjen e ekuacioneve

Si rezultat, një komandë për zgjidhjen e ekuacionit do të gjenerohet në dokumentin e punës dhe zgjidhja e gjetur do të shfaqet:

Kapitulli 1 Bazat e punës në sistemin e matematikës kompjuterike Maxima

Komanda për zgjidhjen e ekuacioneve mund të specifikohet në atë mënyrë që të jetë e lehtë të kontrollohen zgjidhjet e gjetura. Për ta bërë këtë, këshillohet të përdorni komandën e zëvendësimit ev.

Për shembull, le të zgjidhim ekuacionin algjebrik x 3 + 1 = 0 dhe të kontrollojmë zgjidhjet e gjetura.

Si rezultat, ne morëm tre rrënjë. Nën emrin resh ruajmë një listë vlerash - rrënjët e ekuacionit. Elementet e listës mbyllen në kllapa katrore dhe ndahen me presje. Çdo element i tillë i listës mund të referohet me numrin e tij. Le ta përdorim këtë kur kontrollojmë zgjidhjet: zëvendësoni secilën prej rrënjëve me radhë në ekuacionin origjinal.

Përdorni komandën allroots (expr) për të gjetur të gjitha zgjidhjet e përafërta të një ekuacioni algjebrik. Kjo komandë mund të përdoret nëse komanda solve nuk mund të gjejë një zgjidhje për ekuacionin ose zgjidhja është shumë e rëndë, si p.sh. për ekuacionin e mëposhtëm: (1 + 2 x )3 = 13.5(1 + x 5 ) .

T.N. Gubina, E.V. Andropova

Duke përdorur komandën Zgjidh, mund të gjeni zgjidhje për sistemet e ekuacioneve algjebrike lineare. Për shembull, një sistem ekuacionesh lineare

М x +2 y +3 z +4 k +5 m =13

2 x+ y+ 2 z+ 3 k+ 4 m= 10

2 x + 2 y + z + 2 k + 3 m = 11 mund të zgjidhet si më poshtë:

2 x+ 2 y+ 2 z+ k+ 2 m= 6

ï 2 x +2 y +2 z +2 k +m =3

1. Le ta ruajmë secilin nga ekuacionet e sistemit nën emrat eq1, eq2, eq3, eq4, eq5.

2. Ne gjejmë një zgjidhje për sistemin.

3. Le të kontrollojmë zgjidhjen e gjetur:

Kështu, kur zgjidhja që rezulton zëvendësohet në secilin prej ekuacioneve të sistemit, fitohen barazitë e sakta.

Funksioni i zgjidhjes së sistemit Maxima mund të zgjidhë gjithashtu sisteme ekuacionesh lineare nëse zgjidhja nuk është unike. Pastaj ajo përdor shënimin si %r_number për të treguar se ndryshorja e panjohur është e lirë dhe mund të marrë çdo vlerë.

Për të zgjidhur sistemet e ekuacioneve jolineare, mund të përdorni komandën algsys. Për shembull, le të gjejmë një zgjidhje për sistemin e ekuacioneve