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

четверг, 21 декабря 2017 г.

Онлайн расчёты

Мой интерес к десктопным математическим программам в эпоху развития интернет-сервисов выглядит немного архаично. Чтобы это исправить, приведу подборку ссылок на доступные онлайн ресурсы. 

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

Liber est mutus magister

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

суббота, 20 сентября 2014 г.

Scilab. Создание графического интерфейса

Одной из особенностей Scilab является наличие встроенных инструментов для создания графического интерфейса к расчётным файлам. Если вам приходилось работать с Tkinter в Python, освоение должно быть безболезненным. Кстати, Tk и Tcl здесь тоже могут быть использованы. Но мы рассмотрим "собственные" средства Scilab на примере простой программы, которая позволяет ввести начальную фазу, а затем строит график смещённой синусоиды. Код можно написать в любом компьютерном блокноте, но удобнее использовать родное средство SciNotes, которое находится в меню Applications.

пятница, 8 августа 2014 г.

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

Ввод и вывод. Получить массив данных из файла позволяет функция read('file', m, n), где file - имя файла, m и n - число строк и столбцов, которые будут считаны. Если число строк заранее неизвестно, можно записать m = -1, тогда программа сама определит их количество.
Обратная операция, запись массива A в файл file, осуществляется функцией write('file', A).


среда, 6 августа 2014 г.

Scilab. ОДУ

Базовой функцией Scilab для решения обыкновенных дифференциальных уравнений (ОДУ) первого порядка является
   y = ode([type,] y0, t0, t, f)
где y0 - вектор начальных значений функции  y(t) в точке t0, t - координаты узлов расчётной сетки, f - связь значения функции с её производной dy/dt = f(y,t). Необязательный параметр type - метод поиска решения (adams - метод Адамса, stiff - жёсткая задача, rk - адаптивный метод Рунге - Кутта четвёртого порядка, rkf - пятиэтапный метод Рунге - Кутта четвёртого порядка, fix - rkf с фиксированным шагом). Хотя в функции ode() можно указать ещё ряд параметров (точность, якобиан и др.), я не стал их записывать, чтобы не перегружать вид выражения.

суббота, 2 августа 2014 г.

Scilab. Интегрирование и дифференцирование

Наиболее удобный способ выполнить численное дифференцирование в Scilab - с помощью функции numdiff(func, x), где func - имя функции, x - искомая точка.
В более сложных задачах можно использовать функцию derivative(), которая находит (численно) якобиан и гессиан для заданной функции.


пятница, 1 августа 2014 г.

суббота, 26 июля 2014 г.

Scilab. Графики

Как и в Freemat (и Matlab), базовым средством для построения двумерного графика в Scilab является функция plot(). Например, график синуса можно построить следующим образом:
  // задать диапазон по оси абсцисс
  x=linspace(0, 2*%pi);
  // воспользоваться функцией plot()
  plot(x,sin(x))

суббота, 12 июля 2014 г.

Scilab. Не путать с Freemat

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


суббота, 5 июля 2014 г.

Scilab. Как это по-французски?

MATLAB для многих, в том числе разработчиков, является эталоном мощного математического программного пакета. Но эталоны можно использовать по-разному. Freemat копирует интерфейс и синтаксис, но не дотягивает по функционало. Scilab же использует собственный интерфейс, но возможности его весьма впечатляют! Помимо разнообразных функций на все случаи жизни он содержит модуль Xcos для моделирования динамических систем (аналог Simulink), а также даёт возможность создавать удобные графические интерфейсы для собственных расчётных программ. Рекомендую зайти в раздел примеров и лично убедиться.
Главным недостатком программы лично для меня является её "тяжеловесность" (относительно Freemat или Maxima). Если другие приложения на моём ветеране-нетбуке хоть и не летают, но требуют адекватного времени выполнения, то Scilab порой предоставляет возможность сходить на кухню за чашкой кофе...

Scilab зародился в стенах национального исследовательского института Франции INRIA в 1990, и за прошедшее время к его развитию приложили руку ряд крупных институтов и предприятий. Получить самую актуальную версию программы, а также справочную информацию можно на сайте проекта www.scilab.org.