Tikhon Tarnavsky. Maxima - kebebasan maksimum perhitungan simbolis

wxMaxima adalah program yang merupakan salah satu implementasi grafis dari sistem aljabar komputer Maxima. Sistem ini dapat bekerja dengan ekspresi numerik dan simbolik dan sepenuhnya gratis untuk digunakan, termasuk untuk tujuan komersial. Manfaat utama solusi ini bagi pengguna biasa adalah membantu dalam menyusun dan menyelesaikan rumus dan persamaan matematika. Selain itu, wxMaxima melakukan sejumlah operasi matematika berguna lainnya: integrasi, diferensiasi, transformasi Laplace, konstruksi deret bilangan dan vektor, bekerja dengan matriks, dan banyak lagi.

Program ini dengan sempurna “memahami” pecahan dan bilangan floating-point dan berisi “gudang” alat yang besar untuk melakukan perhitungan analitis. Antarmuka wxMaxima sesederhana dan se-Russified mungkin. Ini terdiri dari ruang kerja dan toolbar yang dapat digunakan untuk membuat ekspresi, grafik, daftar, tensor, dan sejenisnya. Disertakan dengan wxMaxima Anda akan menemukan semua dokumentasi dan bahan referensi yang diperlukan (diterjemahkan sebagian) yang akan membantu Anda memahami kemampuan solusi perangkat lunak ini.

Fitur dan Fungsi Utama

  • adalah shell grafis yang sangat nyaman untuk sistem aljabar komputer Maxima;
  • berfungsi untuk membangun dan menghitung ekspresi simbolik dan numerik;
  • bekerja dengan matriks, vektor, persamaan, tensor, grafik;
  • melakukan operasi diferensiasi, integrasi, transformasi Laplace, perluasan deret, dan sebagainya;
  • disertai dengan dokumentasi rinci.

Sistem Maxima memiliki banyak fungsi bawaan. Setiap fungsi bawaan dapat dijelaskan dalam dokumentasi yang terdapat dalam sistem bantuan. Bantuan dapat diakses menggunakan tombol fungsi F1. Maxima juga memiliki fungsi khusus yang memberikan informasi dari dokumentasi untuk kata-kata tertentu. Versi singkat dari pemanggilan fungsi ini: ?? nama (Gbr. 12). Di Sini?? adalah nama operatornya, dan argumennya harus dipisahkan dengan spasi. Operator?? menampilkan daftar bagian bantuan dan nama fungsi yang berisi teks tertentu, setelah itu mereka meminta Anda memasukkan nomor bagian atau deskripsi fungsi yang ingin Anda lihat:

Gambar 12. Memanggil bantuan pada perintah sistem Maxima yang diinginkan

Perhatikan bahwa dalam sistem Maxima tidak ada perbedaan yang jelas antara operator dan fungsi. Lebih-lebih lagi, setiap pernyataan sebenarnya adalah sebuah fungsi.

Semua fungsi dan operator Maxima tidak hanya berfungsi dengan bilangan real, tetapi juga dengan bilangan kompleks. Bilangan kompleks itu sendiri ditulis dalam bentuk aljabar, dengan satuan imajiner dilambangkan dengan %i; yaitu dalam bentuk a+b*%i, di mana A Dan B adalah bagian nyata dan bagian imajiner suatu bilangan.

Mari kita pertimbangkan sintaks fungsi dasar Sistem maksimal.

1. Operator aritmatika: + , -, *, /, -->. Contoh:

3. Operator logika: dan, atau, tidak. Contoh:

4. Fungsi mencari faktorial suatu bilangan: !

Faktorial diberikan dalam bentuk yang paling umum dan, pada kenyataannya, merupakan fungsi gamma (lebih tepatnya, x! = gamma(x+1)), yaitu, didefinisikan pada himpunan semua bilangan kompleks kecuali bilangan bulat negatif. Faktorial suatu bilangan asli (dan nol) secara otomatis disederhanakan menjadi bilangan asli yang sama.

5. Fungsi mencari semifaktorial adalah : !! (hasil kali semua bilangan genap (untuk operan genap) atau bilangan ganjil yang kurang dari atau sama dengan bilangan tertentu).

6. Fungsi negasi kesetaraan sintaksis: # Notasi a#b setara dengan not a=b. Contoh:

7. Fungsi mencari modulus suatu bilangan x: abs(x) Modulus didefinisikan untuk semua bilangan kompleks. Contoh:

8. Fungsi yang mengembalikan tanda bilangan x: signum(x)

9. Fungsi yang mengembalikan nilai terbesar dan terkecil dari bilangan real tertentu: maks(x1,...,xn) dan min(x1,...,xn).

10. Beberapa fungsi matematika bawaan:

persegi(x) Akar kuadrat dari x
karena(x) Arccosine dari argumen x
acosh (x) Arccosine hiperbolik dari x
tempat tidur(x) Arckotangen dari argumen x
aset(x) Kotangen busur hiperbolik dari argumen x
acsc(x) Arccosecant dari argumen x
acsch(x) Arccosecant hiperbolik dari argumen x
asec(x) Arcsecant dari argumen x
asech(x) Arcsecant hiperbolik dari argumen x
asin(x) Arcsinus dari argumen x
asinh(x) Arcsinus hiperbolik dari argumen x
atan (x) Arctangen dari argumen x
atanh (x) Arctangen hiperbolik dari argumen x
cosh(x) Kosinus hiperbolik dari argumen x
kain(x) Kotangen hiperbolik dari argumen x
csc(x) Kosekan dari argumen x
csch(x) Kosekan hiperbolik dari argumen x
detik (x) Garis potong dari argumen x
lihat (x) Garis potong hiperbolik dari argumen x
dosa(x) Sinus dari x
sinh(x) Sinus hiperbolik dari x
berjemur(x) Garis singgung x
tanh(x) Tangen hiperbolik dari argumen x
catatan(x) Logaritma natural dari x
pengalaman(x) Eksponen x

11. Fungsi bekerja dengan matriks:

determinan – mencari determinan suatu matriks:

nilai eigen – mencari nilai eigen matriks:

membalikkan– memperoleh matriks invers:

minor– mendefinisikan minor matriks. Argumen pertama adalah matriks, argumen kedua dan

yang ketiga adalah indeks baris dan kolom, masing-masing:

pangkat– peringkat matriks:

submatriks– mengembalikan matriks yang diperoleh dari aslinya dengan menghapus

baris dan (atau) kolom yang sesuai. Parameternya adalah:

jumlah baris yang akan dihapus, matriks asli, jumlah kolom yang akan dihapus.

mengubah urutan– transposisi matriks:

Bahasa sistem Maxima berisi operator dasar yang dapat dieksekusi yang ditemukan dalam bahasa pemrograman apa pun. Mari kita lihat mereka.

Operator penetapan nilai (ekspresi penamaan).

1. Operator “:” (operator untuk mengatur nilai suatu variabel).

2. Operator “:=” (operator untuk menentukan fungsi pengguna).

3. Versi tambahan dari operator penugasan dan penugasan fungsi, masing-masing dilambangkan dengan:: dan::=.

Menggunakan operator kumpulan fungsi pengguna membuatnya lebih mudah digunakan karena Anda dapat merujuknya berdasarkan nama dan dengan mudah dan nyaman menghitung nilai fungsi pada titik tertentu.

Contoh: mencari nilai suatu fungsi F (x, y)=cosx + sin kamu pada intinya

Operator lingkaran. Operator loop dapat ditentukan dalam beberapa cara. Metode penentuannya bergantung pada apakah diketahui sebelumnya berapa kali badan perulangan perlu dieksekusi.

Contoh: Menyiapkan loop untuk menampilkan nilai suatu variabel A dalam kisaran -3 hingga 10 dalam langkah 5:

Fitur penting berikutnya dari sistem Maxima adalah bekerja dengan daftar dan array.

Untuk menghasilkan daftar, gunakan perintah makelist. Misalnya saja dengan menggunakan perintah

kami telah membentuk daftar bernama x, yang terdiri dari sepuluh elemen, yang nilainya ditemukan sesuai dengan rumus.

Untuk membentuk array, gunakan perintah array. Misalnya dengan menggunakan perintah,

kita telah membentuk array dua dimensi A yang terdiri dari 10 baris dan 5 kolom. Untuk mengisi array dengan elemen, kita akan menggunakan loop dengan parameter. Misalnya,

Untuk menampilkan elemen array di layar, Anda dapat menggunakan perintah:

Sebuah array dapat dibentuk tanpa deklarasi terlebih dahulu. Pada contoh berikut, kita telah membentuk array satu dimensi x, terdiri dari 5 elemen, yang nilainya dihitung menggunakan rumus x( Saya)= dosa Saya

Ketidaknyamanan bekerja dengan array adalah nilai elemen array ditampilkan dalam kolom. Jauh lebih mudah jika nilai array (dua dimensi) ditampilkan sebagai matriks. Untuk keperluan ini, Anda dapat menggunakan perintah genmatrix. Misalnya, untuk menghasilkan array dua dimensi (matriks), Anda harus menentukan perintah dalam bentuk berikut:

Mari kita keluarkan array yang dihasilkan:

6. Transformasi ekspresi paling sederhana.

Secara default, fungsi Penyederhanaan otomatis aktif di sistem Maxima, mis. sistem mencoba menyederhanakan ekspresi yang dimasukkan itu sendiri tanpa perintah apa pun.

Contoh. Misalkan Anda perlu mencari nilai dari ekspresi numerik berikut:

Mari kita atur ekspresi sesuai dengan aturan bahasa sistem Maxima.

Seperti yang Anda lihat, sistem merespons dengan nilai ekspresi, meskipun kami tidak menentukan perintah apa pun.

Bagaimana Anda bisa memaksa sistem untuk mengeluarkan bukan hasilnya, tetapi ekspresi itu sendiri? Untuk melakukan ini, fungsi penyederhanaan harus dinonaktifkan menggunakan perintah simp: false$. Kemudian kita mendapatkan:

Untuk mengaktifkan fungsi penyederhanaan, Anda harus menentukan perintah simp:true$. Fungsi penyederhanaan otomatis dapat bekerja dengan ekspresi numerik dan beberapa non-numerik. Misalnya,

Saat masuk, kita bisa merujuk ke sel mana pun sebelumnya dengan namanya, menggantinya dengan ekspresi apa pun. Selain itu, sel keluaran terakhir dilambangkan dengan %, dan sel masukan terakhir dilambangkan dengan _. Ini memungkinkan Anda mengakses hasil terbaru tanpa terganggu oleh nomornya. Namun panggilan ke sel seperti itu tidak boleh disalahgunakan, karena ketika mengevaluasi ulang seluruh dokumen atau sel masukan individualnya, mungkin terjadi perbedaan antara nomor sel.

Contoh. Temukan nilai ekspresi dan tingkatkan hasilnya sebanyak 5 kali.

Dianjurkan untuk menggunakan variabel alih-alih nama sel dan menetapkan namanya ke ekspresi apa pun. Dalam hal ini, ekspresi matematika apa pun dapat bertindak sebagai nilai variabel.

Nilai nama variabel dipertahankan sepanjang pekerjaan dengan dokumen. Mari kita ingat bahwa jika perlu untuk menghapus definisi dari suatu variabel, hal ini dapat dilakukan dengan menggunakan fungsi kill(name), dimana nama adalah nama ekspresi yang akan dimusnahkan; terlebih lagi, ini bisa berupa nama yang Anda berikan atau sel masukan atau keluaran apa pun. Demikian pula, Anda dapat menghapus semua memori dan mengosongkan semua nama dengan memasukkan perintah kill(all) (atau memilih menu Makhta->Hapus memori(Ingatan yang jelas)). Dalam hal ini, semua sel I/O juga akan dihapus, dan penomorannya akan dimulai lagi dari satu.

Fungsi penyederhanaan otomatis tidak selalu dapat menyederhanakan suatu ekspresi. Selain itu, ada sejumlah perintah yang dirancang untuk bekerja dengan ekspresi: rasional dan irasional. Mari kita lihat beberapa di antaranya.

tikus (ekspresi) - mengubah ekspresi rasional ke bentuk kanonik: membuka semua tanda kurung, lalu membawa semuanya ke penyebut yang sama, menjumlahkan dan mengurangi; mengubah semua bilangan dalam notasi desimal hingga menjadi bilangan rasional. Bentuk kanonik secara otomatis "dibatalkan" jika terjadi transformasi yang tidak rasional

ratsimp (ekspresi) - menyederhanakan ekspresi melalui transformasi rasional. Ia juga bekerja “secara mendalam”, yaitu, bagian-bagian irasional dari ekspresi tidak dianggap sebagai atom, tetapi disederhanakan, termasuk semua elemen rasional di dalamnya.

fullratsimp(ekspresi) - fungsi untuk menyederhanakan ekspresi rasional dengan menerapkan fungsi ratsimp() secara berurutan ke ekspresi yang diteruskan. Oleh karena itu, fungsinya agak lebih lambat dibandingkan ratsimp(), namun memberikan hasil yang lebih andal.

expand (ekspresi) - memperluas tanda kurung dalam ekspresi di semua level bertingkat. Berbeda dengan fungsi rateexpand(), fungsi ini tidak mereduksi pecahan menjadi penyebut yang sama.

radcan(ekspresi) - fungsi untuk menyederhanakan fungsi logaritma, eksponensial, dan pangkat dengan eksponen rasional non-bilangan bulat, yaitu akar (radikal).

Seringkali, saat Anda mencoba menyederhanakan ekspresi di Maxima, hal itu malah membuatnya menjadi lebih kompleks. Peningkatan hasil dapat terjadi karena tidak diketahui nilai apa yang dapat diambil oleh variabel yang termasuk dalam ekspresi. Untuk menghindari hal ini, Anda harus membatasi nilai yang dapat diambil suatu variabel. Hal ini dilakukan dengan menggunakan fungsi asumsikan (kondisi). Oleh karena itu, dalam beberapa kasus, hasil terbaik dapat dicapai dengan menggabungkan radcan() dengan ratsimp() atau fullratsimp().

Perkenalan
Maxima adalah sistem aljabar komputer (CAS) gratis berdasarkan Common Lisp. Dari segi fungsinya, ia hampir tidak kalah dengan CAS berbayar modern lainnya, seperti Mathcad, Mathematica, Maple; dapat melakukan perhitungan analitis (simbolis), perhitungan numerik, membuat grafik (menggunakan gnuplot). Dimungkinkan untuk menulis skrip dan bahkan menerjemahkannya ke dalam kode Common Lisp dengan kompilasi selanjutnya. Mengingat maxima ditulis dari programmer cadel, sintaksisnya mungkin tampak agak membingungkan, karena bahasanya bersifat imperatif dan fungsional. Saya akan mencoba memperjelas poin-poin ini dan dengan jelas menyajikan esensi dari pendekatan fungsional, dan saya tidak akan fokus pada fungsi matematika tertentu sama sekali: fungsi tersebut cukup mudah untuk Anda kuasai sendiri. Artikel ini membahas secara khusus ciri-ciri kalkulus dan konstruksi sintaksis maxima.
Kerang
Tentu saja, memanggil juru bahasa maxima dari konsol sangat tidak nyaman. Kami ingin melihat formula cantik yang dibuat menggunakan lateks. Oleh karena itu, untuk pemula, saya sarankan menginstal file . Jika Anda menggunakan TeXmacs, Anda dapat mengaturnya sebagai shell (sejujurnya, saya belum mencobanya). Nah, bagi pecinta emacs ada imaxima, untuk bekerja di buffer. Ini benar-benar dipasang di luar kotak.
Kenalan
Sekilas, semuanya sederhana: kita memasukkan ekspresi yang diakhiri dengan titik koma, dan kita mendapatkan jawabannya. Anda dapat mencoba maxima sebagai kalkulator, menghitung jumlah dua angka, menghitung sinus suatu sudut, dll. Mari kita gali lebih dalam apa yang terjadi.
atom
Simbol, angka, dan konstanta logika benar dan salah mewakili objek paling sederhana dari sistem. Semua ekspresi dan struktur bahasa lainnya dibangun darinya, itulah sebabnya mereka disebut atom (tidak dapat dibagi) atau hanya atom.
Variabel

Sistem membedakan antara variabel bebas dan variabel khusus. Variabel yang ditunjuk adalah variabel terikat, variabel yang diberi nilai tertentu. Saat diinterpretasikan, nama variabel diganti dengan nilainya. Anda dapat mengatur variabel menggunakan tanda ":". Variabel bebas tidak diasosiasikan dengan nilai apa pun dan kita dapat mengoperasikannya secara abstrak, misalnya menambahkan dua ekspresi simbolik.

Konteks komputasi
Ketika setiap instruksi dievaluasi, konteks komputasinya terbentuk. Ini mewakili sekumpulan hubungan antara nama variabel dan nilainya, serta beberapa parameter interpretasi. Ada dua konteks komputasi: lokal dan global. Konteks global bersifat umum untuk semua perintah yang ditafsirkan dan menentukan keadaan penerjemah saat ini. Konteks lokal dibuat selama satu perintah dan hanya valid untuk perintah itu. Prioritas tertinggi diberikan pada koneksi dan parameter konteks lokal.


Di sini nilai variabel a diambil dari konteks global, dan untuk konteks lokal ditetapkan opsi perluasan produk, yaitu. selanjutnya pekerjaan tersebut tidak akan berkembang dengan sendirinya.
Memblokir perhitungan

Mari kita coba menambahkan dua variabel. Sekarang mari kita letakkan satu simbol kutipan di depannya. Ini adalah operator pemblokiran. Jika kita meletakkannya sebelum nama variabel, hasilnya adalah nama variabel tersebut, sebelum pemanggilan fungsi - ekspresi simbolis dari pemanggilan fungsi. Untuk apa? Terkadang Anda mungkin ingin menggunakan satu fungsi untuk memproses ekspresi fungsi lain dan menghasilkan fungsi atau bilangan sebagai keluaran, seperti mengevaluasi integral tak tentu. Dengan kata lain, Anda memiliki kemampuan untuk merepresentasikan ekspresi sebagai data dan memanipulasinya. Namun, jika Anda mencoba berhenti menghitung jumlah dua angka, penghitungannya tidak akan berhenti. Hal ini disebabkan oleh fakta bahwa operator kutipan tunggal tidak menghentikan penyederhanaan ekspresi yang paling sederhana (operasi bilangan sederhana, pengurangan pecahan). Selain itu, penghitungan tidak akan berhenti jika Anda mencoba menghitung nilai argumen rasional (float) fungsi tersebut.
Jadi, sistem Maxima tidak membedakan antara fungsi algoritmik dan fungsi matematika; di dalamnya keduanya merupakan satu elemen bahasa. Dalam terminologi interpreter sendiri, operator yang dapat dihitung disebut verba, operator yang tidak dihitung disebut kata benda. Untuk memulai penghitungan semua kata benda, Anda harus mengatur opsi kata benda dalam konteks penghitungan.

Perhitungan
Kita belajar bahwa penafsir membedakan antara konsep ekspresi simbolik dan evaluasinya. Kapan perhitungannya dilakukan? Kasus yang paling jelas adalah ketika kita mencoba menghitung beberapa ekspresi (2+3, misalnya). Masukkan ekspresi dan dapatkan nilainya. Kami menghitung fungsi dari argumen dan mendapatkan nilainya. Kami memasukkan nama variabel dan mendapatkan nilainya. Kita belajar bahwa nilai suatu variabel dapat berupa atom atau ekspresi simbolik. Kapan lagi perhitungannya dilakukan? Perhitungan terjadi ketika suatu variabel diberi nilai. Nilai di sebelah kanan titik dua dievaluasi sebelum ditetapkan, jadi saat menetapkan ekspresi simbolis ke variabel, kami memberi tanda kutip untuk menghentikan evaluasi ini. Ada tipe penugasan khusus (operator dua titik dua) ketika ekspresi di sebelah kanan dan ekspresi di sebelah kiri dievaluasi. Selain itu, sebelum mengevaluasi suatu fungsi, semua argumennya dihitung.

Hasil perhitungan variabel a sebelah kiri adalah variabel b.
Contoh
Mari kita pertimbangkan contoh sederhana - membangun himpunan semua himpunan bagian. Ternyata, Maxima memiliki tipe bawaan untuk bekerja dengan set, tetapi sayangnya, tidak ada fungsi seperti itu. Mari kita menulisnya.

Pertama, mari kita cari tahu himpunan apa yang ada. Rupanya, kumpulan di Maxima didasarkan pada struktur data yang berbeda - daftar tertaut tunggal. Semua orang mengerti apa itu daftar. Mereka memiliki tiga fungsi utama untuk bekerja dengannya: menempatkan elemen di bagian atas daftar (pertama), mendapatkan daftar yang terdiri dari elemen asli tanpa elemen pertama (sisanya), menambahkan elemen baru ke awal (kontra) dan menggabungkan dua daftar (tambahkan). Fungsi serupa tersedia dalam implementasi cadel apa pun, tetapi paling sering disebut sedikit berbeda: car, cdr, cons, append, masing-masing.

Bagaimana Anda biasanya membayangkan suatu algoritma untuk memecahkan masalah seperti itu? Seseorang dapat merepresentasikan himpunan bagian sebagai vektor karakteristik dan mengulangi semuanya. Namun, kami akan menunjukkan pendekatan fungsionalnya. Sangat mudah untuk melihat bahwa setiap elemen termasuk dalam setengah dari himpunan bagian. Fakta sederhana ini sudah cukup untuk membangun algoritma rekursif. Mari kita hapus satu elemen a dari himpunan A. Himpunan semua himpunan bagian A akan terdiri dari gabungan himpunan semua himpunan bagian A\a dan himpunan semua himpunan bagian A\a, di mana a ditambahkan ke setiap elemen. Dengan menggunakan pernyataan terakhir, Anda dapat mengurangi dimensi masalah secara rekursif, mereduksinya menjadi kasus yang sepele. Untuk implementasi, kita memerlukan fungsi tambahan dari dua parameter (sebuah elemen dan satu set set), yang akan menambahkan elemen tertentu ke setiap set.

Harap dicatat bahwa mendeklarasikan suatu fungsi terjadi hampir seperti dalam matematika. Harap dicatat bahwa selama definisi, ruas kanan setelah tanda sama dengan tidak dihitung. (Untuk mendefinisikan suatu fungsi agar definisinya dapat dihitung, Anda harus menggunakan formulir definisikan). Inilah bentuk komputasi baru dari if. Cara kerjanya sama seperti dalam bahasa imperatif. Jika kondisi terpenuhi, maka ekspresi setelahnya akan dievaluasi, jika tidak, ekspresi setelahnya akan dievaluasi. Sekarang mari kita tuliskan fungsi yang diperlukan.

Mari kita coba menghitung sesuatu.

Akhir
Oke, semuanya sudah berakhir. Sekarang. Pada artikel berikutnya, sebaiknya jelaskan penerapan penurunan gradien paling curam.

maksimal- sistem komputer yang memungkinkan Anda bekerja dengan ekspresi simbolik dan numerik. Mendukung operasi ekspansi seri, diferensiasi, transformasi Laplace, integrasi. Program ini tidak takut dengan persamaan diferensial biasa, matriks dan tensor, sistem persamaan linier, daftar, vektor, polinomial, himpunan. Sistem komputasi komputer dapat menghasilkan perhitungan dengan tingkat akurasi yang tinggi. Menggunakan bilangan bulat dan ekspresi pecahan. Aplikasi ini dapat membuat grafik dalam dua atau tiga dimensi. Ini memiliki manual yang menjelaskan secara rinci cara bekerja dengan utilitas, operator mana yang didukung oleh sistem operasi matematika. Program ini sempurna untuk pecinta aljabar komputer: pelajar, guru, mahasiswa pascasarjana.



- Bekerja dengan ekspresi numerik dan simbolik matematika.
- Mendukung bekerja dengan daftar, polinomial, matriks, tensor, persamaan diferensial dan sistem persamaan linier.
- Mendukung operasi ekspansi seri, diferensiasi, transformasi Laplace, integrasi.
- Melakukan perhitungan dengan tingkat akurasi yang tinggi.
- Menggunakan bilangan bulat, ekspresi pecahan.
- Mampu membuat grafik dalam dimensi dua dimensi atau tiga dimensi.
- Cocok untuk penggemar aljabar komputer.
- Memiliki dokumentasi yang dapat diakses untuk membiasakan diri Anda dengan pengoperasian sistem.
- Tidak mempengaruhi kinerja dan kecepatan lingkungan pengoperasian.
- Ada dukungan untuk bahasa Rusia.

Kekurangan dari program ini

- Tidak ada versi portabel.

- Prosesor dengan frekuensi clock 1200 MHz atau lebih bertenaga.
- RAM 256 MB atau lebih.
- Ruang hard disk kosong mulai 185 MB.
- Arsitektur 32-bit atau 64-bit (x86 atau x64).
- Sistem operasi Windows XP, Windows Vista, Windows 7, Windows 8

Kalkulator Multifungsi: Tabel Perbandingan

Nama programnya Dalam bahasa Rusia Distribusi Pemasang Kepopuleran Ukuran Indeks
★ ★ ★ ★ ★ 48,7MB 100
★ ★ ★ ★ ★ 59,8 MB 99
★ ★ ★ ★ ★ 1,3 MB 86

Subjek: Sistem perintah, perhitungan di Maxima.

Target: lanjutkan pengenalan dengan program Maxima, perkenalkan sistem perintah Maxima; mengembangkan memori, perhatian; menumbuhkan budaya informasi.

Selama kelas:

    Awal organisasi:

    Salam.

    Bekerja dengan petugas jaga.

    Pelatihan berulang dimulai.

    Pekerjaan individu menggunakan kartu.

Kartu No.1.

    1. Konsep sistem perhitungan matematis.

      Fitur sistem perhitungan matematis.

Kartu No.2.

    1. Konsep aljabar komputer.

      Fitur aljabar komputer.

    Survei individu lisan.

Konsep maksimal. Keunikan. Mulai programnya.

Antarmuka program Maxima.

    Berusahalah untuk memahami dan menguasai materi baru.

    Mengumumkan topik dan tujuan pelajaran.

    Mempelajari materi baru.

Memasukkan perintah dasar di wxMaxima

Setelah memulai wxMaxima, jendela program muncul.

Bagian grafis atas jendela antarmuka Maxima memberi tahu Anda bahwa versi 5.14.0 telah diunduh, didistribusikan di bawah lisensi GNU, dari situs mana versi tersebut tersedia dan siapa induknya. Di jendela bawah di bidang ENTER: Maxima siap menerima perintah. Pemisah perintah adalah karakter; (titik koma). Setelah memasukkan perintah, Anda harus menekan tombol Enter untuk memprosesnya dan menampilkan hasilnya.

Di versi awal Maxima dan beberapa shellnya (misalnya, xMaxima), dan di versi konsol, keberadaan titik koma setelah setiap perintah sangat diperlukan. Oleh karena itu, kami sangat menyarankan saat menggunakan Maxima

jangan lupa menambahkan titik koma; setelah setiap perintah. Dalam hal ekspresi perlu ditampilkan dan tidak dievaluasi, maka harus didahului dengan tanda (") (tanda kutip tunggal). Namun cara ini tidak berfungsi jika ekspresi memiliki arti eksplisit,

misalnya, Maxim memperlakukan ekspresi sin(π) sebagai nol bahkan dengan adanya tanda kutip. Sulit membayangkan berbagai kemungkinan penggunaan Maxima untuk menghitung atau mengubah ekspresi. Dalam kasus yang sulit, Anda dapat mencoba mendapatkan sertifikat dalam bahasa Inggris. Untuk memanggil bantuan, cukup tulis ? pada kolom ENTER. dan tekan Enter.

Penunjukan perintah dan hasil perhitungan

Setelah masuk, setiap perintah diberi nomor seri. Pada gambar di bawah, perintah yang dimasukkan diberi nomor 1–3 dan masing-masing diberi nama (%i1), (%i2), (%i3). Hasil perhitungan memiliki nomor seri yang sesuai (%o1), (%o2), dst. Dimana “i” merupakan singkatan dari bahasa inggris. Input (masukan), dan "o" adalah bahasa Inggris. Keluaran

Mekanisme ini memungkinkan, ketika menulis perintah lebih lanjut, untuk merujuk ke perintah yang ditulis sebelumnya, misalnya (%i1)+(%i2) berarti menambahkan ekspresi perintah kedua ke ekspresi perintah pertama, diikuti dengan menghitung hasilnya. Anda juga bisa menggunakan angka hasil perhitungan, misalnya seperti ini (%o1)*(%o2).

Untuk perintah yang terakhir dieksekusi di Maxima ada notasi khusus - %.

Contoh: Menghitung turunan suatu fungsi

di titik x=1.

Perintah (%i9) dijalankan dan hasil (%o9) diperoleh. Oleh karena itu, perintah selanjutnya (%i10) mengacu pada hasil yang telah diperoleh, tetapi menentukan nilai variabel x, sehingga perintah tersebut berbentuk (%i10) (%o9), x=1.

Memasukkan informasi numerik

Aturan untuk memasukkan angka di Maxima sama persis dengan banyak program serupa lainnya. Bagian bilangan bulat dan pecahan pecahan desimal dipisahkan dengan simbol titik. Bilangan negatif diawali dengan tanda minus.

Pembilang dan penyebut pecahan biasa dipisahkan dengan simbol / (garis miring).

Harap dicatat bahwa jika hasil operasi adalah ekspresi simbolik tertentu, tetapi Anda perlu mendapatkan nilai numerik tertentu dalam bentuk pecahan desimal, maka penggunaan operator bilangan akan menyelesaikan masalah ini. Secara khusus, ini memungkinkan Anda berpindah dari pecahan biasa ke desimal

Di sini Maxima bertindak secara default. Dia menjumlahkan pecahan 3/7 dan 5/3 persis sesuai dengan aturan aritmatika: dia menemukan penyebut yang sama, mengurangi pecahan menjadi penyebut yang sama, dan menjumlahkan pembilangnya. Pada akhirnya dia menerimanya

44/21. Baru setelah kami memintanya untuk mendapatkan jawaban numerik, dia memberikan perkiraan jawaban numerik, dengan akurasi 16 digit, 2.095238095238095.

Konstanta

Maxima memiliki sejumlah konstanta bawaan untuk kemudahan perhitungan, yang paling umum ditunjukkan pada tabel berikut (Tabel 1):

Operasi aritmatika

Notasi operasi aritmatika di Maxima tidak berbeda dengan representasi klasik, yang digunakan tanda matematika: + – * /.

Eksponensial dapat dilambangkan dengan tiga cara: ^, ^^, **. Ekstraksi akar derajat n dituliskan derajat ^^(1/n). Mari kita mengingat kembali operasi berguna lainnya yang dibangun di Maxima—menemukan faktorial suatu bilangan. Operasi ini ditandai dengan tanda seru

Misalnya, 6!=1⋅ 2⋅ 3⋅ 4⋅ 5⋅ 6=120.

Untuk meningkatkan prioritas suatu operasi, seperti dalam matematika, tanda kurung () digunakan saat menulis perintah untuk Maxima.

Variabel

Variabel digunakan untuk menyimpan hasil perhitungan antara. Perhatikan bahwa ketika memasukkan nama variabel, fungsi dan konstanta, huruf besar-kecil menjadi penting, sehingga variabel x dan X adalah dua variabel yang berbeda.

Pemberian nilai pada suatu variabel dilakukan dengan menggunakan simbol: (titik dua), misalnya x : 5;.

Jika perlu untuk menghapus nilai suatu variabel (menghapusnya), maka metode kill digunakan:

kill (x) – menghapus nilai variabel x;

kill (all) – menghapus nilai semua variabel yang digunakan sebelumnya.

Dan selain itu, metode kill memulai penomoran baru untuk perintah yang dapat dieksekusi (perhatikan bahwa respons terhadap perintah (%i 3) di atas ternyata merupakan respons dengan angka nol (%o 0) selesai, dan kemudian penomoran perintah lanjutan dari satu).

Fungsi matematika

Maxima memiliki serangkaian fungsi matematika bawaan yang cukup besar. Berikut beberapa di antaranya (Tabel 2). Perlu diingat bahwa beberapa nama fungsi berbeda dari nama yang digunakan dalam literatur dalam negeri: Alih-alih tg - tan, alih-alih ctg - cot, alih-alih arcsin - asin, alih-alih arcos - acos, alih-alih arctg - atan , dari pada arcctg - acot, dari pada ln - log , dari pada cosec – csc .

Aturan untuk menulis fungsi

Untuk menulis suatu fungsi, Anda harus menunjukkan namanya, dan kemudian, dalam tanda kurung, tulis nilai argumennya, dipisahkan dengan koma. Jika nilai argumennya adalah daftar, maka argumen tersebut diapit dalam tanda kurung siku, dan elemen daftar juga dipisahkan dengan koma.

mengintegrasikan(dosa(x),x,-5,5); plot2d(,,);

Fungsi Kustom

Pengguna dapat menentukan fungsinya sendiri. Caranya, pertama-tama sebutkan nama fungsinya, nama argumennya dicantumkan dalam tanda kurung, setelah tanda: = (titik dua dan sama dengan) ada keterangan fungsinya. Setelah ditentukan, fungsi yang ditentukan pengguna dipanggil dengan cara yang persis sama seperti fungsi bawaan Maxima.

Menerjemahkan ekspresi kompleks ke dalam notasi linier

Salah satu tugas tersulit bagi pengguna pemula Maxima adalah menulis ekspresi kompleks yang berisi pangkat, pecahan, dan konstruksi lainnya dalam bentuk linier (dalam bentuk teks, menggunakan karakter ASCII, dalam satu baris).

Untuk mempermudah proses ini, ada baiknya memberikan beberapa rekomendasi:

1. Jangan lupa beri tanda perkaliannya! Di jendela grafis Maxima, menurut aturan matematika, nilai ganda dari variabel x ditulis sebagai 2x, tetapi di jendela ENTER: perintah untuk Maxima akan terlihat seperti 2*x.

2. Jika ragu, lebih baik selalu menambahkan "ekstra", tanda kurung tambahan (). Pembilang dan penyebut suatu ekspresi harus selalu diapit tanda kurung.

Dan juga saat menaikkan pangkat, sebaiknya selalu letakkan basis dan pangkat dalam tanda kurung.

3. Suatu fungsi tidak ada secara terpisah dari argumennya (jika ada). Oleh karena itu, misalnya, saat menaikkan pangkat, Anda dapat mengambil seluruh fungsi dengan argumen dalam tanda kurung, lalu menaikkan konstruksi yang dihasilkan ke pangkat yang diinginkan: (sin (x))**2.

Ingat juga bahwa beberapa argumen fungsi ditulis dalam tanda kurung, dipisahkan dengan koma, misalnya min(x1,x2,x3,xN);

5. Tidak diperbolehkan menuliskan fungsi sin(2*x) dalam bentuk sin*2*x atau sin2x.

6. Jika Anda menulis ekspresi yang kompleks, bagilah menjadi beberapa komponen sederhana, masukkan secara terpisah, lalu gabungkan menggunakan notasi yang telah dibahas sebelumnya untuk perintah yang dimasukkan.

Contoh: Anda harus memasukkan ekspresi berikut:

Mari kita bagi ekspresi ini menjadi tiga komponen: pembilang, ekspresi dalam tanda kurung, dan pangkat. Mari kita tuliskan setiap komponen dan gabungkan menjadi sebuah ekspresi.

Maxima akan menyederhanakan ekspresi

tikus(ekspresi). mengubah ekspresi rasional menjadi bentuk kanoniknya. Itu

di sana membuka semua tanda kurung, lalu membawa semuanya ke penyebut yang sama, menjumlahkannya dan menguranginya; selain itu, ini mereduksi semua bilangan dalam notasi desimal hingga menjadi bilangan rasional.

    Pekerjaan rumah:

Stakhin N.A., dari 10-18, catatan pendukung.

    Ringkasan pelajaran.

Apa tujuan program Maxima?

Sebutkan elemen utama antarmuka program Maxima.

Buat daftar perintah dasar Maxima.