Показаны сообщения с ярлыком freemat. Показать все сообщения
Показаны сообщения с ярлыком freemat. Показать все сообщения

суббота, 26 декабря 2015 г.

Freemat. Добавим функциональности

Недавно, просматривая список функций в FreeMat, я заметил там упоминание о массиве ячеек, отдалённо напоминающем списки из Lisp-а. И появилось желание попробовать сделать что-нибудь для работы с символьными выражениями... например, функцию для дифференцирования функции аналитически... Итак, дайте бубен, будут танцы! :)

суббота, 12 декабря 2015 г.

суббота, 5 декабря 2015 г.

Freemat. ООП

С увеличением уровня сложности компьютерного расчёта разница между ним и программой стирается (если вообще имела место быть). По-этому пользователю вполне может пригодиться такая проверенная временем технология, как возможность создания объектов и манипулирования ими ( == объектно-ориентированное программирование). В качестве примера попробуем создать класс для работы с рациональными числами rat.

пятница, 9 октября 2015 г.

Liber est mutus magister

Опыт работы с кроссплатформенными математическими программами, а также желание им поделиться, появились у меня достаточно давно, и первоначально приняли форму hand-made книги "Математика for free", которую я выложил в интернете. Раньше я не публиковал в этом блоге ссылку на неё, т.к. материал частично повторялся. Кроме того, блог содержит значительно больше информации, чем книга. Тем не менее, возможно, кому-то удобнее иметь справку под рукой, чем каждый раз заходить в интернет, если так, вы можете скачать книгу с моего диска. Я писал её как справочник и сам периодически пользуюсь им, особенно, после длительных перерывов в работе. Буду рад, если она пригодится кому-то ещё :)

суббота, 19 апреля 2014 г.

Freemat. Программирование

В завершение обзора Freemat хочется сказать несколько слов об имеющихся средствах создания сложных вычислительных алгоритмов (или даже программ).


пятница, 18 апреля 2014 г.

Freemat. Аппроксимация

Допустим, вы провели серию экспериментов и получили некоторое множество данных, которые хотели бы интерполировать или экстраполировать. Freemat предлагает одну функцию на все случаи жизни:  interplin1().


пятница, 11 апреля 2014 г.

Freemat. Работа с данными

Freemat умеет загружать данные из файлов, создавать из них матрицы, обрабатывать и затем снова записывать в виде файлов. В текстовом режиме поддерживаются файлы xml, html, но мы рассмотрим формат csv, т.к. многие измерительные приборы сохраняют результаты именно в нём. К тому же, это обычный текстовый формат, просто обязательным разделителем в нём является запятая.


суббота, 5 апреля 2014 г.

Freemat. Дифференциальные уравнения

Freemat  умеет решать только обыкновенные дифференциальные уравнения первого порядка, и только одним способом - методом Рунге-Кутта. Чтобы им воспользоваться, нужно представить уравнение в виде y'(t) = f(t,y) и задать начальное условие y(0) = y0. Сам расчёт производится функцией ode45:
[t,y] = ode45(f(t,y), tsp, y0, option), 
где f(t,y) - функциональная связь производной со значением аргумента и функции, 
tsp - интервал t, на котором производится расчёт, 
y0 - значение функции в начальной точке,
option - дополнительные параметры.

пятница, 4 апреля 2014 г.

Freemat. Графики

В Freemat вы можете либо строить график по точкам, либо указать выражение функции, и всё равно строить график по точкам... 


суббота, 29 марта 2014 г.

Freemat. Полиномы

Полином, так же как и матрица, является базовым элементом Freemat. Он записывается в виде вектора 
p = [an an-1 ... a0],
что соответствует выражению
Значение в точке x может быть рассчитано функцией polyval(p,x).


Freemat. Векторы и матрицы

Freemat, как и MATLAB, "заточен" на работу с матрицами. Это означает, что все операции выполняются максимально быстро, и их запись не вызывает у пользователя лишних проблем.


воскресенье, 23 марта 2014 г.

Freemat. Начало работы

При запуске программы открывается окно, которое включает в себя меню, панель инструментов и рабочую область. По умолчанию, здесь также отображаются браузер файлов, история проводимых расчётов, список переменных и панель отладки. Не буду вдаваться в подробности, т.к. единственное, что нам сейчас необходимо, это большой белый прямоугольник в правой части окна, где после английского текста присутствует значок "-->". Здесь и происходит работа с программой.


суббота, 22 марта 2014 г.

Freemat. "Это Спарта!"

Думаю, на конкурсе двойников MATLAB программа Freemat заняла бы почётные призовые места в номинациях "Интерфейс", "Синтаксис" и "Концепция". Действительно, данная программа пытается быть максимально совместимой со своим знаменитым прототипом. И в основе её также лежит работа с матрицами. Есть, конечно, и различия, прежде всего, функционал. Как ни пытайся, а в 20 МБ не удастся уместить все возможности MATLAB! Вот только нужны ли они в повседневной жизни? (Здесь я имею ввиду версию Freemat 4.0. Более поздние варианты значительно выросли в объёме, но изменения в функционале я не заметил. Если ошибаюсь, поправьте.)

Это одна из моих любимых программ, потому что при своём скромном размере она предоставляет весь необходимый инструментарий для комфортного написания достаточно сложных вычислительных алгоритмов. Freemat хорошо работает с матрицами, полиномами, имеет базовые средства для обработки сигналов, изображений, визуализации данных. Из недостатков могу отметить отсутствие некоторых "актуальных" функций, например, для численного интегрирования или поиска корней уравнений. В этом случае придётся самостоятельно о себе позаботиться и "вручную" написать необходимый функционал. В общем, просто, изящно, и ничего лишнего!

Получить программу и всю необходимую информацию можно по адресу:
http://freemat.sourceforge.net