Scilab что это за программа

Научное программирование для студентов (Scilab). Лекция 1

При выполнении научных исследований перед студентами, аспирантами или молодыми учеными часто встает вопрос о выборе среды моделирования и автоматизации для выполнения научных расчетов. Действительно, от выбора программного обеспечения зависит очень много.

Выбор визуальных специальных сред моделирования (Hysys, Ansys и др.), часто дорогостоящих и требующих лицензирования может содержать «подводные камни». Завершение лицензии в этом случае означает прекращение работы. Использование же нелицензионного софта может привести к нежелательным вопросам о его происхождении при подаче статьи, описывающей его применение в редакцию какого-либо журнала…

И это еще не все «камни». В визуальных средах моделирования студент использует модели типа «черный ящик», т.е. «кубики конструктора», зачастую, не имея представления о том , как они работают. В результате такой деятельности формируется красивая картинка модели, есть какие-то результаты, но часто нет понимания о работе узлов модели.

Introduction to SciLab — A Matlab Alternative

Нет возможности и работать самостоятельно, без компьютера с лицензированных ПО (рисунок).

Пример программы имитационного визуального моделирования

Третий «подводный камень» — возможность прекращения поддержки разработчиками сред моделирования. Прекратили разработчики выпускать свой софт и обновлять старые версии, т.е. поддерживать соответствие новым компьютерам и операционным системам — и что же делать специалистам, которые вместо изучения сути предмета заучивали последовательность нажатия на кнопки интерфейса?

Таким образом, можно говорить, что программы визуального имитационного моделирования подойдут скорее производственникам, для экономии ресурсов при замене вещественных моделей виртуальными, нежели молодым ученым.

По этой причине хотелось бы обратить внимание студентов на модели, создаваемые в средах научного программирования. В качестве примеров последних можно привести Matlab, GNU Octave и Scilab. Matlab — платное приложение, разрабатываемое компанией Mathworks, однако две другие совершенно бесплатны. Язык программирования Matlab появился в 1970-х в университете Нью-Мексико. Бесплатная программа Octave практически нацело заимствует синтаксис Matlab, у Scilab есть некоторые отличия, но в целом они довольно похожи.

Достоинством приведенных сред является возможность сразу начать работу программиста, с небольшой подготовкой или без оной («по бразильской системе»), толерантность программ к погрешностям синтаксиса… Это среды-интерпретаторы. Они не требуют предварительной компиляции программ, т.е. формирования исполняемого приложения из исходников. Программа набирается в виде текстового файла (есть собственный редактор) и исполняется построчно. Но, впрочем, обо всем по порядку.

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

Introduction to Scilab ,how it use, different window pages of Scilab and about console

Основные достоинства и недостатки Scilab для научного использования следующие.

Возможности программы: анализ данных, визуализация (построение графиков, диаграмм, поверхностей).
Преимущества перед программами своего класса (Matlab и подобные): бесплатность, небольшой размер дистибутива (100 Мб против 2 Гб у Matlab)
Перед другими средствами анализа данных (например, Statistica): высокая скорость работы, контроль выполнения программы не ограничен графическим интерфейсом. Scilab – язык-интерпретатор команд. Это значит, что программа на нем выполняется медленнее, чем в языках-компиляторах (Delphi, Pascal, Fortran).
Однако, реализованы отладка программы во время выполнения,
открытость кода, возможность работы там, где есть Scilab, возможность транслирования из Matlab в Scilab.

Пример графиков и поверхностей в Scilab

Интересным прикладным применением Scilab является моделирование речения жидкости в трубе с препятствием (рис.).

Распределение скоростей молекул жидкости в потоке с препятствием (с сайта Palabos.org)

Для установки Scilab на компьютер надо:

1)Скачать дистибутив с сайта Scilab.org (Windows, Macintosh);

2)…или набрать в командной строке Linux:

sudo apt-get install scilab

Для запуска программы Scilab в Windows надо щелкнуть левой кнопкой мыши соответствующий ярлык в меню «Пуск» – scilab:

Командное окно имеет боковые панели: «обозреватель файлов», «обозреватель переменных», «журнал команд». Мы для работы и ввода команд будем использовать собственно командное окно. Также используется текстовый
редактор SciNotes, предназначенный для написания программ SciLab:

Командное окно и редактор Scinotes

Ввод команд Scilab осуществляется в командном окне, а написание программ — в редакторе кода. В случае, если после команды следует «;» вывод результата выполнения команды блокируется. Рисунок ниже демонстрирует ввод выражения в окне Scilab и вывод результата в виде служебной временной переменной ans, т.е. использование Scilab в качестве инженерного калькулятора:

Операторы Scilab:

+ сложение — вычитание * умножение
/ деление ^ степень деление (справа налево)
= присваивания < меньше > больше

Если мы хотим добавить поясняющий текст (он называется коментарием), то перед ним в Scilab пишут // (а в Matlab знак %). Такой код игнорируется интерпретатором:

Для хранения информации и совершения операций в Scilab используются переменные. Объявить переменные можно прямо в командном окне программы:

Fluid_density = 1.2; // читаемо fluidDensity = 1.2 // “венгерская” запись i=1; // переменная буква подойдет для временных данных, счетчиков цикла и т.д. word = ‘User ‘; // данные типа String

Читайте также:
Inshot что это за программа на Андроид

Однако нужно помнить о некоторых правилах объявления переменных:

  • переменные начинаются с латинских букв;
  • запрещены операторы;
  • символы пунктуации и пробелы;
  • case sensitive (символы в разном регистре — разные символы).

Цель при именовании переменных –хорошая читаемость кода человеком.

Удаление переменных необходимо для очистки оперативной памяти и ускорения работы программы. Для удаление переменных в командном окне Scilab используется команда

clear var_name, где var_name – переменная для удаления:

clear Fluid_density //удалил одну переменную clear fluidDensity i word // удалил три переменных

Наряду с пользовательскими переменным существуют системные переменные Scilab, которые содержат часто используемые постоянные. Ввод системных переменных Scilab предваряется знаком «%»:

Кроме системных переменных Scilab содержит функции. Функция – последовательность действий над передаваемыми в скобках (переменными). Функции могут быть предустановленные системные и пользовательские (созданные пользователем с целью автоматизации). Поиск нужной функции и порядка ее вызова осуществляется в справке Scilab (клавиша F1).
Наиболее употребимые системные функции Scilab представлены:

Окно справки Scilab:

Применение Scilab для вычисления выражений

Наиболее простое применение Scilab для вычисления выражений реализуется в командной строке. Вычислим выражение:

Стоит обратить внимание, что в Scilab разделитель целой и дробной части не «,» , «.» независимо от системных настроек ОС.
Введем в командном окне построчно:

x=1.2;y=0.3; z=sqrt(abs(sin(x/y)))*exp(x^y)

В результате Scilab выведет:

В этом примере использованы предустановленные функции sqrt(), abs(); sin(), exp():

Кроме того, вычислить выражение возможно, объявив для этого пользовательскую функцию. Это можно сделать двумя способами — в командном окне и редакторе сценариев.

1-й способ. Объявление функций с помощью функции deff(), что означает “define function“ — объявить функцию. Синтаксис такой:

deff(’[имя1,…,имяN] = имя_функции(переменная_1,…,переменная_M)’, ’имя1=выражение1;…;имяN=выражениеN’).

deff ( ’z = fun1 ( x , y ) ’ , ’z = sqrt ( abs ( sin ( x / y ) ) ) * exp ( x^y ) ’ ) ;
x = 1.2 ; y = 0.3 ; z = fun1 ( x , y )

Можно также, после объявления, передать параметры функции fun1.

2—й способ. Объявление в редакторе Scinotes. Необходимо создать файл сценария программы, это текстовый файл с расширением имени *.sce. SciNotes подсвечивает синтаксис, выделяет предполагаемые ошибки:

function [z] =my_fun(x, y) z=sqrt(abs(sin(x/y)))*exp(x^y); endfunction

После сохранения и запуска этого файла функцию можно вызвать из командного окна с параметрами ввода:

my_fun(1.2,0.3)

В результате переменной ans будет присвоен ответ, который моментально будет выведен в командном окне.

—>ans = 2.5015073

Продолжение:

Где находятся программы?

Scilab http://goo.gl/bh5Gb8 Свободно распространяемое
Matlab https://goo.gl/unrrXF Запрос ознакомительной бесплатной версии для студентов
GNU Octave https://goo.gl/Wyp7pv Свободный аналог Matlab

Литература для самоподготовки

1.Алексеев Е.Р. Scilab: Решение инженерных и математических задач / Е.Р. Алексеев, О.В.Чеснокова, Е. А.Рудченко // М. : ALT Linux ; БИНОМ. Лаборатория знаний, 2008. 260 с.

2.Edward B. Magrab et al. An Engeneers guide to Matlab // 2011, 2005, 2000 Pearson Education, Inc., publishing as Prentice Hall, One Lake Street, Upper Saddle River, New Jersey 07458

3.Тропин И.С., Михайлова О.И., Михайлов А.В. Численные и технические расчеты в среде Scilab (ПО для решения задач численных и технических вычислений): Учебное пособие. — Москва: 2008. — 65 с.

4.Павлова М.И. — Руководство по работе с пакетом SciLab 2.6 – 2003

5.Бозиев С.Н. MATLAB 2006a в примерах. РГУ нефти и газа им. И.М. Губкина, 2006 – 150 с.

6.Алексеев Е.Р. Введение в Octave для инженеров и математиков: / Е. Р. Алексеев, О. В. Чеснокова // М.: ALT Linux, 2012. 368 с.

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Источник: geologov.net

Scilab

Scilab (читается Сайлэб) — пакет прикладных математических программ, предоставляющий открытое окружение для инженерных (технических) и научных расчётов. Это самая полная общедоступная альтернатива MATLAB.

История [ править ]

С 1994 года распространяется вместе с исходным кодом через Интернет. В 2003 году для поддержки Scilab был создан консорциум Scilab Consortium. Сейчас в него входят 25 участников, в том числе Mandriva, INRIA и ENPC (Франция).

Возможности [ править ]

Scilab содержит сотни математических функций, и есть возможность добавления новых, написанных на различных языках (C, C++, Fortran и т. д.). Также имеются разнообразные структуры данных (списки, полиномы, рациональные функции, линейные системы), интерпретатор и язык высокого уровня.

Scilab был спроектирован как открытая система, и пользователи могут добавлять в него свои типы данных и операции путём перегрузки.

В системе доступно множество инструментов:

  • 2D и 3D графики, анимация
  • Линейная алгебра, разреженные матрицы (sparse matrices)
  • Полиномиальные и рациональные функции
  • Интерполяция, аппроксимация
  • Симуляция: решение ОДУ и ДУ
  • Scicos: гибрид системы моделирования динамических систем и симуляции
  • Дифференциальные и не дифференциальные оптимизации
  • Обработка сигналов
  • Параллельная работа
  • Статистика
  • Работа с компьютерной алгеброй
  • Интерфейс к Fortran, Tcl/Tk, C, C++, Java, LabVIEW

Scilab имеет схожий с MATLAB язык программирования. В состав пакета входит утилита, позволяющая конвертировать документы Matlab в Scilab.

Scilab позволяет работать с элементарными и большим числом специальных функций (Бесселя, Неймана, интегральные функции), имеет мощные средства работы с матрицами, полиномами (в том числе и символьно), производить численные вычисления (например, численное интегрирование) и решение задач линейной алгебры, оптимизации и симуляции, мощные статистические функции, а также средство для построения и работы с графиками.

Читайте также:
Солар что это за программа

Для численных расчётов используются библиотеки Lapack, LINPACK, ODEPACK , Atlas и другие. [3]

В состав пакета также входит Scicos — инструмент для редактирования блочных диаграмм и симуляции (аналог simulink в пакете MATLAB). Имеется возможность совместной работы Scilab с программой LabVIEW.

Распространение [ править ]

Программа доступна для различных операционных систем, включая Linux и Microsoft Windows. Возможности Scilab могут быть расширены внешними программами и модулями, написанными на разных языках программирования. Программа имеет открытый исходный код, что позволяет как свободное коммерческое использование и распространение неизменённых версий, так и некоммерческое распространение измененных версий, которые должны включать в себя исходный код. Для коммерческого распространения измёненных версий необходимо согласование с INRIA.

Начиная с версии 5.0 программа распространяется под совместимой с GNU GPL 2 лицензией CeCILL.

Отличительные особенности [ править ]

Отличия от некоторых коммерческих программ:

  • Бесплатность.
  • Свободность (с версии 5.0).
  • Маленький размер — дистрибутив 4 версии занимал менее 20 МБ против более чем двухгигабайтного пакета MATLAB. Инсталлятор 5 версии (5.4.1) увеличился в объёме до 117 МБ.
  • Возможность запуска в консоли без использования графического интерфейса, в том числе в версии под Windows (в UNIX и Windows версиях MatLab-а эта возможность присутствует тоже). Это позволяет производить автоматизированные вычисления, есть пакетный режим.

Примеры [ править ]

Простые вычисления [ править ]

Код, задающий матрицу и считающий определитель:

M=[1 6 8; 7 8 8; 1 6 0] det(M)

Графики [ править ]

Построение простого графика функции

//установка значения x x=[0:0.1:2*%pi]; //простой график plot2d(sin(x))

Более сложный график функции:

Примечания [ править ]

  1. ↑Licence SCILAB (фр.) . Архивировано из первоисточника 19 февраля 2012.
  2. ↑SCILAB License (англ.) . — перевод с французского. Архивировано из первоисточника 19 февраля 2012.
  3. ↑Scilab Acknowledgments (англ.) . INRIA. Архивировано из первоисточника 19 февраля 2012.

Литература [ править ]

  • Campbell S. Modeling and Simulation in Scilab/Scicos. — New York: Springer, 2006. — ISBN 9780387278025.
  • Е. Р. Алексеев, Е. А. Чеснокова, Е. А. Рудченко Scilab: Решение инженерных и математических задач

Источник: www.wikiznanie.ru

Scilab

Скриншот приложения Scilab - №1

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

У приложения лицензия на свободное ПО, загрузить Scilab можно бесплатно. Это аналог продающегося пакета прикладных программ Matlab, помогающего в решении задач технических вычислений. Создан Scilab для Windows всех разрядностей.

Особенности программы

  • Возможно вычисление как простых, так и специальных математических формул — аппроксимаций, эллиптических интегралов, функциями Бесселя;
  • Используются инструменты для обычных и матричных полиномов;
  • Добавлены функции, создающие и обрабатывающие массивы, векторы, матрицы;
  • Используется 2D и 3D графика, а также анимация для визуализации результатов;
  • Проводятся как дифференциальные, так и не дифференциальные оптимизации;
  • Ведется статистика;
  • Встроено более 100 математических функций. И реализована добавление новых, написанных на языках C, C++ или Fortran;
  • В приложении устанавливаются модули, решающие дифференциальные уравнения, проводящие операции линейной алгебры, разлагающие полиномиальные, а также рациональные функции;
  • Софт поддерживает форматы документов пакета Matlab и компьютерной математики Maple, а также структурированные тексты;
  • Созданы функции для импорта и экспорта. Файлы пакета Matlab импортируются в Scilab. Графики экспортируются в форматы GIF, BMP, JPEG, PDF.

Скачать бесплатно Scilab для компьютера можно на сайте freesoft.ru.

Источник: freesoft.ru

Разработка программы в Scilab

В командном окне Scilab нажатием клавиши Enter (Ввод) отправляют на выполнение только один оператор, тот который записан в командной строке. При необходимости использовать ранее введенный в это окно оператор приходится копировать его в командную строку. Однако имеется и другой способ выполнения расчетов.

Для записи и последующего выполнения группы операторов, представляющих собой программу, применяют редактор SciPad. Открыть его можно, выбрав Инструментыв меню командного окна и команду Редактор – в открывшемся спускающемся списке (рис. 2.1). Редактор называется SciPad,его окно имеет вид, представленный на рисунке 8.

Рис. 2.1. Открытие редактора

Создать файл программы в окне SciPad можно, путем копирования из командного окна уже отлаженных операторов. Можно набрать их с помощью клавиатуры. Такая программа называется файл-сценарием. По умолчанию создаваемому файлу присваивается имя Untitledx, где х — целое число, номер файла. Файл-сценарий можно сохранить, а потом открыть.

Для запуска его на выполнение следует в меню окна выбрать команду Excecute, а затем в спускающемся списке – команду Load into Scilab или Load all into Scilab.

Рис. 2.2. Окно редактора с набранной программой примера 1.8

Если в конце оператора отсутствует символ «точка с запятой», результат вычисления будет выведен в командное окно. Для вывода результатов расчета в командное окно можно использовать оператор disp(x), где x – число, имя переменной или список имен.

Читайте также:
Программа пар в стиральной машине haier что это

Пример 2.1. Дан массив х. Найти наибольший, наименьший его элементы и сумму всех элементов.

x_max=mtlb_max(x) // вычисление наибольшего элемента массива

x_min=mtlb_min(x) // вычисление наименьшего элемента массива

x_sum=mtlb_sum(x) // вычисление суммы элементов массива

Результат (в командном окне)

Здесь использованы подпрограммы вычисления наибольшего, наименьшего элементов массива х и суммы всех его элементов.

Условный оператор

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

Операторы программы выполняются в том порядке, в каком они записаны, один за другим, пока не дойдет очередь до одного из операторов управления, которые позволяют организовать многократное повторение группы операторов или осуществить переход к фрагменту, записанному в другой части программы. В Scilab имеется несколько операторов управления. Рассмотрим одну из форм условного оператора, который записывается в виде:

if условие

оператор или операторы

Else

оператор или операторы

End

Условие — это логическое выражение, которое может принимать только одно из двух значений: истина или ложь. Частным случаем логического выражения является отношение — операция сравнения двух величин. В таблице 2 приведены принятые в Scilab обозначения операций отношения. Оператор выполняется следующим образом. Вычисляется значение логического выражения (условия).

Если это значение есть «истина», то выполняется оператор или группа операторов, записанных после условия, иначе управление работой программы передается операторам, которые следуют за служебным словом else. Заканчивается условный оператор служебным словом end.

В случае необходимости можно разместить после условия или после служебного слова else несколько операторов, в качестве которых разрешается использовать операторы присваивания, цикла, ввода-вывода, а также другой оператор условного перехода.

Таблица 2

Операция Больше Меньше Равно Не равно Больше или равно Меньше или равно
Обозначение > == ~= >=

Пример записи условного оператора.

Служебное слово else и следующие за ним оператор или операторы можно опустить. В этом случае условный оператор записывается в виде:

if(условие)

оператор или операторы

End

Оператор цикла

Решение задачи численными методами практически всегда включает в себя многократное повторение вычислений по одним и тем же формулам, но с различными числовыми данными. Эта часть называется циклом. Для организации цикла используется специальный оператор, который позволяет малым количеством операторов описать процесс выполнения большого объема вычислений и называется оператором цикла..

for x=x0 : dx: xkon

Здесь x — параметр цикла, переменная, величина которой изменяется от значения x0 до xkon с шагом dx. Если шаг изменения параметра цикла равен 1, то его можно не указывать в заголовке цикла. Тело цикла выполняется многократно при различных значениях параметра цикла. В случае, когда dx>0, операторциклавыполняется следующим образом. Параметру цикла x присваивается значение x0. Затем проверяется условие

Если значение этого отношения есть «истина», то выполняются операторы тела цикла, параметр цикла увеличивается на величину шага dx и снова проверяется условие (*). Если x > xk, то работа оператора цикла прекращается, и выполняется оператор, записанный за оператором цикла. Ниже приведена блок-схема, поясняющая работу оператора цикла.

Рис. 2.3. Блок-схема оператора цикла

Пример 2.2.

Для аргумента х, изменяющегося от -1 до 1 с шагом dx=0.25, вычислить функцию:

Текст программы

i=1; // индекс элементов массивов, используемых при построении графика

for x=-0.5:0.25:0.50001 // начало цикла

if x>0 // начало условного оператора

end // конец условного оператора

disp([x,f]) // вывод значений x и f в командное окно

xgraf(i)=x; // создается массив значений х для построения графика

fgraf(i)=f; // создается массив значений f для построения графика

end // конец цикла

Результаты расчета (в командном окне)

— 0.5 — 0.25

— 0.25 — 0.1875

0. 0.

0.25 0.3125

0.5 0.75

Рис. 2.4. График функции

В приведенной программе для вывода результатов расчета в командное окно используется команда disp(имя).В этой команде в скобках указывается имя переменной или массива (только одного). При необходимости вывести значения нескольких переменных или массивов их заключают в квадратные скобки. График функции f(x) приведен на рисунке 2.4.

3. Решение задач вычислительной математики
в окне редактора

Для решения задач вычислительной математики применим редактор SciPad, как делали это в разделе 2. Открыть его можно, выбрав Инструментыв меню командного окна и команду Редактор – в открывшемся спускающемся списке (рис. 2.1).

В окне SciPad создать новый файл с программой можно путем копирования из командного окна уже отлаженных операторов. По умолчанию создаваемому файлу присваивается имя Untitledx, где х — целое число, номер файла. Файл-сценарий можно сохранить, а потом открыть. Для запуска его на выполнение следует в меню окна выбрать команду Execute (рис. 2.2), а затем в спускающемся списке – команду Load into Scilab или Load all into Scilab.

Источник: infopedia.su

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru