В замену MatLab, - хорошего самого по себе продукта, но имеющего сегодня настолько высокую базарную цену, что при пользовании им сразу приходит на ум народная пословица: "овчинка выделки не стоит". Цена его - базарная потому, что его дилеры, не имеющие никакого отношения к производству этого продукта, диктуют свои безмерно спекулятивные цены. При попытке узнать стоимость MatLab вам предлагают заполнить всестороннюю анкету, - как будто бы вы находитесь на приеме в ГПУ или Гестапо, - и, в зависимости от того, насколько они считают возможным вас "нагреть" - назначают цену. Натуральный восточный базар. Для студентов, предоставляя им демо-версию, требуют такого же доноса на родной ВУЗ. Именно поэтому я не рекомендую использовать MatLab, а предлагаю пользоваться бесплатным ПО, которое ничуть не хуже. Среди них следующие пакеты компьютерного моделирования.
FreeMat - это свободная (бесплатная) среда для инженерного и научного моделирования и обработки данных. FreeMat похожа на такие коммерческие среды как Matlab и IDL, но является продуктом с открытым исходным кодом, распространяемым по лицензии GPL. FreeMat использует инструментарий Qt, что обеспечивает кроссплатформенность этого продукта.
Также в среде имеется удобная система помощи и документации. Чрезвычайно расширяем, благодаря поддержке модулей, написанных на языке системы. FreeMat имеет возможности, обеспечивающие примерно 95% функциональности среды Matlab. Недостаток - отсутствие поддержки создания графических интерфейсов в стиле Matlab (а важна ли эта функция?).
Сайт разработчика FreeMat http://freemat.sourceforge.net/index.html
Ссылка для скачивания FreeMat http://freemat.sourceforge.net/download.html
GNU Octave - свободная система для математических вычислений, использующая совместимый с MATLAB язык высокого уровня.
Octave представляет интерактивный командный интерфейс для решения линейных и нелинейных математических задач, а также проведения других численных экспериментов. Кроме того, Octave можно использовать для пакетной обработки. Язык Octave оперирует арифметикой вещественных и комплексных скаляров и матриц, имеет расширения для решения линейных алгебраических задач, нахождения корней систем нелинейных алгебраических уравнений, работы с полиномами, решения различных дифференциальных уравнений, интегрирования систем дифференциальных и дифференциально-алгебраических уравнений первого порядка, интегрирования функций на конечных и бесконечных интервалах. Этот список можно легко расширить, используя язык Octave (или используя динамически загружаемые модули, созданные на языках C, С++, Фортран и др.).
Octave — интерпретируемый язык программирования. Он похож на C и поддерживает большинство основных функций стандартной библиотеки C, а также основные команды и системные вызовы Unix. С другой стороны, он не поддерживает передачу аргументов по ссылке (особенность дизайна).
Синтаксис языка очень похож на MATLAB, и грамотно написанные скрипты будут запускаться как в Octave, так и в MATLAB.
Octave был написан с учётом совместимости с MATLAB и реализует многие его возможности:
Но есть и отличия, не ухудшающие его свойств:
Официальная страница (англ.) http://www.gnu.org/software/octave
Официальная документация (англ.) http://www.gnu.org/software/octave/doc/interpreter/index.html
GNU Octave (рус.) на Xgu.ru - русскоязычная информация о GNU Octave http://xgu.ru/wiki/GNU_Octave
http://gnu-octave.narod2.ru (рус.) Полное описание GNU Octave на русском языке на сайте Е.Р. Алексеева, О.В. Чесноковой
Scilab (читается Сайлэб) — пакет прикладных математических программ, предоставляющий мощное открытое окружение для инженерных (технических) и научных расчётов.
С 1994 года распространяется вместе с исходным кодом через Интернет. В 2003 году для поддержки Scilab был создан консорциум Scilab Consortium. Сейчас в него входят 25 участников, в том числе Mandriva, INRIA и ENPC (Франция).
Scilab содержит сотни математических функций, и есть возможность добавления новых, написанных на различных языках (C, C++, Fortran и т. д.). Также имеются разнообразные структуры данных (списки, полиномы, рациональные функции, линейные системы), интерпретатор и язык высокого уровня.
Scilab был спроектирован как открытая система, и пользователи могут добавлять в него свои типы данных и операции путём перегрузки.
В системе доступно множество инструментов:
Scilab имеет схожий с MATLAB язык программирования. В состав пакета входит утилита, позволяющая конвертировать документы Matlab в Scilab. Scilab позволяет работать с элементарными и большим числом специальных функций (Бесселя, Неймана, интегральные функции), имеет мощные средства работы с матрицами, полиномами (в том числе и символьно), производить численные вычисления (например, численное интегрирование) и решение задач линейной алгебры, оптимизации и симуляции, мощные статистические функции, а также средство для построения и работы с графиками.
Для численных расчётов используются библиотеки Lapack, LINPACK, ODEPACK , Atlas и другие.
В состав пакета также входит Scicos — инструмент для редактирования блочных диаграмм и симуляции (аналог simulink в пакете MATLAB). Имеется возможность совместной работы Scilab с программой LabVIEW.
Программа доступна для различных операционных систем, включая Linux и Microsoft Windows. Возможности Scilab могут быть расширены внешними программами и модулями, написанными на разных языках программирования. Программа имеет открытый исходный код, что позволяет как свободное коммерческое использование и распространение неизменённых версий, так и некоммерческое распространение измененных версий, которые должны включать в себя исходный код. Для коммерческого распространения измёненных версий необходимо согласование с INRIA.
Начиная с версии 5.0 программа распространяется под совместимой с GNU GPL 2 лицензией CeCILL.
Отличия Scilab от некоторых коммерческих программ:
Официальный сайт Scilab (англ.), (фр.) http://www.scilab.org
Scilab Enterprises http://www.scilab-enterprises.com
Авторский курс лекций по пакету Scilab на странице Е. Р. Алексеева (рус.) http://teacher.dn-ua.com/Math/Scilab/Scilab.html
Maxima — математическая система символьных и численных вычислений. Программа работает в консольном режиме и виде оконного приложения. При проведении вычислений, Maxima использует точные дроби, целые числа и числа с плавающей точкой произвольной точности, что позволяет проводить вычисления с очень высокой точностью. Maxima может заменить при решении некоторых задач Maple и Mathematica.
С ее помощью можно проводить операции:
решать:
Maxima может быть использована при проведении аналитических расчетов и построении двух и трехмерных графиков.
Этим перечнем возможности пакета не ограничиваются. Подробно с пакетом можно ознакомиться в книге Евгения Анатольевича Чичкарёва.
Следует обратить внимание, что в Maxima присутствует встроенный макроязык, благодаря чему программа становится практически неограниченно расширяемым инструментом для проведения как численных, так и символьных вычислений. А совместно с текстовым редактором Texmacs и пакетом Scilab может быть более мощной средой в ОС семейства Linux для проведения расчетов и оформления документов, чем всем известный MathCad в среде Windows.
На сегодняшний день Maxima - незаменимый инструмент не только на компьютере ученого, но и уникальная программа для использования в учебном процессе при изучении классического курса высшей математики в университетах.
Официальный сайт http://maxima.sourceforge.net/ru
Страница загрузки http://sourceforge.net/project/showfiles.php?group_id=4933
Portable версия http://www.permucode.com/maxima/#download