Этим постом я хочу убить сразу нескольких зайцев.
Во-первых, расскажите людям еще раз о бесплатной системе компьютерной алгебры Maxima. Во-вторых, найти вес «мистического зайца» из простой задачи для школьников.
Таким образом, прочитав эту статью, вы узнаете, что такое Максима, для каких целей ее можно использовать и как решать систему линейных уравнений в Максиме.
Часть первая: Зачем студенту или школьнику Максима?
На все периоды моего обучения на этапах школьного, среднего профессионального или высшего образования.Никто из преподавателей не говорил о бесплатных прикладных математических программах, способных упростить жизнь студента-технаря.
Почему-то в сознании учителей лучшим инструментом для автоматических расчетов был Microsoft Excel. И в колледже, и в университете нас просили производить расчеты либо на калькуляторе, либо в Excel. Несмотря на то, что и мой колледж, и университет были очень приличными по своей среде.
Помню чувство эйфории, когда случайно по велению друга познакомился с Матлабом.
Для меня просто открылся новый мир доступной математики.
Теперь я поделюсь этим с вами.
Зачем нам вообще нужны системы компьютерной алгебры? По моим личным наблюдениям и, например, из этой статьи Математика может быть физически болезненной , Таким образом, как ни прискорбно это признавать, среднестатистический молодой человек вполне может впасть в ступор при виде чего-то более сложного, чем 2*2. Начну с краткого обзора Maxima. Как упоминалось ранее, Maxima — это бесплатная система компьютерной алгебры.
Maxima имеет широкий спектр математических инструментов.
От простой арифметики до символьных или числовых вычислений из области высшей математики (дифференциальные уравнения, интегралы, преобразования Лапласа, ряды Тейлора и т. д.).
Естественно, Maxima также может строить диаграммы.
В отличие от более почтенных, требовательных и увесистых Matlab и MathCad. Maxima не требовательна к ресурсам, а главное совершенно бесплатна.
Конечно, упомянутые выше программы выполняют широкий спектр задач, Думаю, не существует программы, которая в одиночку могла бы заменить все функции, предлагаемые полным пакетом того же Матлаба (с включенным модулем символьных вычислений), но сейчас мы поговорим о самых простых вычислениях, которые могут быть полезны студенту.
Кроме того, Maxima, вероятно, более уместно сравнивать с Maple. В Интернете утверждается, что Maxima — это OpenSource аналог Maple (Это действительно может быть правдой, но я сам не могу сказать, так как не видел Maple в чистом виде) Вы можете скачать Maxima и некоторую документацию к ней по адресу maxima.sourceforge.net/ru Естественно, существует версия как для систем Windows, так и для Linux. Maxima — консольная программа, но для нее существуют различные графические интерфейсы.
Пожалуй, самый распространенный из них — WxMaxima. Maxima написана на Common Lisp. Людям, знакомым с этим языком, не составит труда освоить его (а может быть, даже увидеть, как работают функции программы).
Однако для людей, совершенно не знающих программирования, освоение основ Maxima также не вызовет особых затруднений.
Чтобы не быть голословным, приведу простой пример.
Давайте введем следующее выражение в Maxima разница (х^3,х,1); и как мы получим ответ? первая производная 3*x^2. Все.
Ненавистная таблица производных (она наверняка была у вас) – ее больше не придется учить! То же самое справедливо и для интегралов: мы вводим Integrated(cos(x),x); мы получаем: грех(х).
это будет выглядеть так:
Как это сделать: Предположим, у вас горят руки, вы просто задали максиму и хотите увидеть хоть какой-то результат:
для расчета производной откройте WxMaxima
Кликните по пустому пространству левой кнопкой мыши и скопируйте или вставьте эту формулу diff(x^3,x,1); затем нажмите Control+Enter, и вы получите расчеты для этой ячейки.
Обратите внимание, что в Maxima ячейки зависят друг от друга, например, если вы набрали (%i1) х:2; (%i2) х+3; И посчитайте, нажав control+Enter только во второй ячейке тогда ты получишь ответ (%о2) х+3; поскольку значение, вычисленное в предыдущей ячейке, еще не известно программе.
Кроме того, если вы измените значение в ячейке (%i1) x:2; например в (%i1) x:4; не забудьте пересчитать ячейку.
Хотя, конечно, можно нажать ctrl+R, чтобы пересчитать все ячейки сразу.
И последний совет: Иногда полезно перезагрузить процесс вашей бурной деятельности в Максиме, выбрав команду Maxima-> restart Maxima. И вот я немного рассказал вам о Максиме и готов перейти ко второй части Статьи.
Часть вторая: Решение системы линейных уравнений в Максиме (задача о невесомом медведе)
Фон: В один пасмурный осенний день, мой коллега Дрзугрик Блуждая по Интернету, я наткнулся на эту ссылку: nnm.ru/blogs/samovar1/pedagogi-rezvyatsya Вытерев слезы радости и умиления, весь офис дружно принялся решать одну из задач, предложенных в этой статье.Итак, вот условие задачи.
В целом задача была представлена графически, но на всякий случай опишу и текстом: лиса весит столько же, сколько заяц и гиря в пять килограммов вместе взятая.
волк весит столько же, сколько лиса и четыре килограмма вместе взятые.
заяц и лиса весят столько же, сколько волк и килограммовая гиря, вместе взятые медведь весит столько же, сколько заяц, лиса и волк вместе взятые.
Картинка с заданием:
Итак, получив задачу, мы сразу бросились ее решать.
Мы начали с создания систем уравнений, но потом наши пути и, главное, результаты «немного разошлись».
Чего мы просто не смогли сделать: и медведи с отрицательной массой
и зайцы-мутанты весом в три раза больше волка
Коллега даже отправил эту задачу своей подруге, учительнице начальных классов, но она тоже не справилась.
В результате мы нашли среди нас человека, способного решить эту проблему.
Но из-за того, что он смог сделать это один, осадок остался и, чтобы развеять свои сомнения, я решил позвать на помощь -? ВМ.
Предлагаю сначала попробовать найти ответ на задачу вручную, а уже потом заглядывать под спойлер Для решения проблемы в Maxima был введен следующий код: (%i1) eq1:lisa=zay+5; eq2:lisa+4=volk; eq3:lisa+zay=volk+1; eq4:medved=volk+lisa+zay; (%o1) лиза=зай+5 (%o2) lisa+4=волк (%o3) zay+lisa=volk+1 (%o4) medved=zay+volk+lisa это входные данные нашей системы уравнений, затем вторая строка (%i2)solve([eq1,eq2,eq3,eq4],[zay,lisa,volk,medved]); (%o5) [ [zay=5,lisa=10,volk=14,medved=29] ] это прямое решение уравнений и третья линия (%i3) ev([eq1,eq2,eq3,eq4],[%]); Это проверка решения методом подстановки (%o6) [10=10,14=14,15=15,29=29] Все довольно просто.
Итак, если вы не заглянули под спойлер, посчитали решение и хотите его проверить, то вам даже не обязательно устанавливать Maxima на свой компьютер.
Вы можете использовать WEB-интерфейс на maxima-online.org .
Для запуска на установленной версии WxMaxima файл задания можно скачать у народа: narod.ru/disk/63475686001.9c996f295ea0a37cef0241e55a328799/%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0.wxm.html Среди недостатков Максимы, пожалуй, можно выделить, на мой взгляд, не очень сильное коммьюнити.
Например, ответ на Ваш вопрос по обратному преобразованию Лапласа я в интернете не нашел.
P.s Я понимаю, что на самом деле многие читатели Хабра наверняка хорошо разбираются в математике, поэтому вы можете не согласиться со мной, что люди в целом плохо знают математику и даже удивиться, как мы смогли найти трудности в такой простой проблема, но это все - относительно.
Окружающие меня люди (и я сам) очень слабо владеют «царицей наук», а главное, мы совершаем чисто человеческие ошибки по невнимательности.
Поэтому я надеюсь, что эта статья поможет людям справиться хотя бы с давно забытыми основами математики.
upd: исправлены грамматические ошибки, спасибо василиск киселев_дв Теги: #Maxima #открытый код #аналог Maple #дифференциал #интеграл #Система линейных уравнений #Lisp #открытый код #математика
-
Castleproject Monorail: Основы
19 Oct, 24