Свободное программное обеспечение. Scilab оптимизация
Scilab - Главная страница
Scilab - это язык программирования и связанная с ним обширная коллекция численных алгоритмов, охватывающая многие аспекты научных вычислений,
С программной точки зрения, Scilab является интерпретируемым языком, что позволяет ускорить процесс разработки, поскольку пользователю приходится напрямую иметь дело с высокоуровневыми конструкциями и широким набором возможностей, предоставляемых библиотеками. Язык Scilab допускает расширение посредством определения пользовательских типов данных с возможностью перегрузки стандартных операций (таких как арифметические операции, операции сравнения и т.д.). Пользователи Scilab могут разрабатывать собственные модули для решения конкретных задач. Возможна также динамическая компиляция и подключение кода, написанного на других языках, таких как Fortran или С - таким образом сторонние библиотеки могут быть использованы, как если бы они частью встроенных средств Scilab. Scilab также предоставляет возможности для взаимодействия с пакетом Lab VIEW - платформой и программным окружением для визуального программирования, созданными в National Instruments.
С научной точки зрения, Scilab содержит большое число возможностей. Хотя первоначально акцент был сделан на линейную алгебру, вскоре функциональные возможности пакета расширились настолько, что охватили многие разделы научных вычислений, в том числе:
- линейную алгебру, разреженные матрицы,
- полиномы и рациональные функции,
- интерполяцию и аппроксимацию,
- линейную, квадратичную и нелинейную оптимизацию,
- обыкновенные дифференциальные уравнения, дифференциальные алгебраические уравнения,
- классическое и робастное управление, решение линейных матричных неравенств,
- оптимизацию дифференцируемых и недифференцируемых функций,
- обработку сигналов,
- математическую статистику.
Scilab предлагает множество графических функций, в том числе для построения двух- и трехмерных графиков. Графический модуль Xcos объединяет в себе возможности редактора моделей и моделировщика.
Наиболее простым способом получить справку по возможностям пакета Scilab является функция help. Окно справки Scilab показано на рис. 2.
Рисунок 1. Окно консоли Scilab (командное окно) с набранным запросомhelp
Для его отображения наберите "help" в консоли и нажмите клавишу <Enter>:
-->help
Рисунок 1. Окно справки Scilab
Если вас интересует информация о конкретной функции (например, optim), вы можете пролистать содержание встроенной справки, найти раздел, посвященный оптимизации, и выбрать optim, после чего будет отображено окно со справкой по данной функции. Однако более удобным способом получить информацию о конкретной функции, если вы знаете ее название, является использование команды help с указанием имени интересующей вас функции:
-->help optim
В этом случае Scilab автоматически отобразит окно справки, содержащее информацию о выбранной функции. Если функции с указанным именем не существует, будет отображено сообщение об ошибке.
Эта страница всегда содержит справку по наиболее свежей версии Scilab. Используя возможности поиска вашего Интернет-обозревателя, вы можете быстро (при определенной сноровке) найти необходимую информацию. Таким образом можно одновременно держать открытыми окна со справкой по нескольким командам Scilab. Например, изучив описание команд derivative и optim, можно записать целевую функцию, основанную на вычислении производных посредством команды derivative и пригодную для оптимизации при помощиoptim.
На домашней страничке Scilab также можно найти список книг, онлайн-руководств и статей, посвященных пакету.
Матрицы
Матрицы играют ключевую роль в Scilab. В данном разделе будет рассмотрено создание матрицы, изменение ее свойств, доступ к элементам матрицы и высокоуровневые операции, работающие с группами элементов.
Обзор
В Scilab основным типом данных является матрица. Всякая матрица характеризуется:
- числом строк,
- числом столбцов,
- типом содержащихся значений.
Элементами матрицы могут являться вещественные, комплексные или целые числа, логические значения, строки и полиномы. Если две матрицы имеют одинаковое число строк и столбцов, говорят, что матрицы имеют одинаковый размер.
В Scilab векторы являются частным случаем матриц, когда число строк либостолбцов равно 1. Собственно скалярные величины в Scilab отсутствуют - скалярное значение представляется матрицей (вектором) 1х1, Поэтому в данной главе мы рассматриваем работу с матрицами, подразумевая, что аналогичные действия применимы и к векторам (т.е. матрицам n х1 или 1 х n) и скалярам (матрицам 1 х 1).
Необходимо отметить, что Scilab создавался в первую очередь для работы с матрицами вещественных значений, и поэтому содержит большое число функций, выполняющих распространенные матричные операции.
В числе задач проектирования Scilab также стояла оптимизация скорости выполнения таких операций. Для этого было разработано специальное внутреннее представление матриц, позволяющее манипулировать ими на уровне интерпретатора. Большинство основных операций линейной алгебры, таких как сложение, вычитание, транспонирование и скалярное произведение выполняются оптимизированными внутренними функциями. Эти операции обозначаются в Scilab символами "+", "-", " ’ ” и "*".
При использовании высокоуровневых операторов и функций практически отпадает необходимость в реализации циклов, которые, помимо прочего, выполняются существенно медленнее (от 10 до 100 раз), нежели встроенные функции. Данное свойство Scilab носит название векторизации.Для написания максимально эффективных скриптов в Scilab необходимо всегда пользоваться имеющимися высокоуровневыми возможностями, так чтобы каждой командой обрабатывалась целая матрица, а не один ее элемент.
Более сложные задачи линейной алгебры, такие как решение систем линейных уравнений Ax = b, различные разложения (например, гауссово разложение с перестановками PA = LU), поиск собственных значений и векторов, также выполняются встроенными оптимизированными функциями. Пользователю эти возможности доступны посредством операторов Scilab " /" и " \", а также специальных функций (например, функции spec, вычисляющей собственные значения и вектора для заданной матрицы).
scilab.3dn.ru
Возможности системы SCILAB
Информатика Возможности системы SCILAB
просмотров - 382
Лекция 1
Scilab – мощная интерактивная система автоматизации инженерных, научных и математических расчетов, построенная на расширенном представлении и применении матричных операций.
Пакет разработан Scilab Group INRIA-Rocquencourt Metalau Project. Свободно распространяемую версию пакета вместе с полной документацией на английском языке в формате pdf можно получить по адресу http://www.scilab.org.
С 1994 года распространяется в виде исходных кодов через интернет. Сейчас Scilab поддерживается компанией Scilab Consortium, созданной в 2003 году. Scilab поддерживает язык программирования высокого уровня для организации технических вычислений.
Некоторые возможности системы:
· В области математических вычислений:
- матричные, векторные, логические, условные операторы;
- символьные вычисления;
- полиномиальные и рациональные функции;
- элементарные и специальные функции;
- полиномиальная арифметика.
· В области реализации численных методов:
- решение дифференциальных уравнений;
- численное интегрирование;
- поиск корней нелинейных алгебраических уравнений;
- оптимизация функций нескольких переменных;
- одномерная и многомерная интерполяция;
- решение задач математической статистики.
· В области программирования:
- свыше 500 встроенных математических функций;
- интерфейс к Fortran, Tcl/Tk, C, C++,Java, LabView.
· В области визуализации результатов расчетов и графики:
- проведение визуального анализа данных.
Scilab имеет схожий с MATLAB язык программирования, в составе имеется утилита͵ позволяющая конвертировать документы Matlab → Scilab.
Scilab позволяет работать с элементарными и большим числом специальных функций (Бесселя, Неймана, интегральные функции), имеет мощные средства работы с матрицами, полиномами (в том числе и символьно), производить численные вычисления (к примеру, численное интегрирование) и решение задач линейной алгебры, оптимизации и симуляции, в его состав входят мощные статистические функции, а также средства для построения и работы с графиками.
Программа доступна для различных операционных систем, включая GNU/Linux и Microsoft Windows.
Отличия от некоторых коммерческих программ:
- Бесплатность
- Маленький размер (дистрибутив занимает менее 20Мб против более чем двухгигабайтного пакета MATLAB)
Scilab состоит из 3-х частей:
o интерпретатор
o библиотека функций (Scilab-процедуры)
библиотека Fortran и С процедур Главное меню
Читайте также
Основы редактирования и отладки sci-файлов Меню File Команда New Scilab открывает новое окно Scilab, фактически пакет запускается повторно. Команда Open открывает окно для загрузки созданного ранее файла, рисунка или модели. Команда Load открывает окно для загрузки файлов,... [читать подробенее]
Лекция 1 Scilab – мощная интерактивная система автоматизации инженерных, научных и математических расчетов, построенная на расширенном представлении и применении матричных операций. Пакет разработан Scilab Group INRIA-Rocquencourt Metalau Project. Свободно распространяемую версию пакета... [читать подробенее]
Ведение единой базы данных клиентов. Ведение единой клиентской базы данных (БД) является обязательным элементом CRM&... [читать подробенее]
Ведение единой базы данных клиентов. Ведение единой клиентской базы данных (БД) является обязательным элементом CRM&... [читать подробенее]
Математические выражения состоят из чисел, констант, переменных, операторов, функций и спецзнаков. Числа могут быть целыми, дробными, с фиксированной и плавающей точкой. Примеры: -3 2.453 123.12е-3. Последнее число – это 123.12*10-3, т.е. 0,12312. Для разделения целой и десятичной части... [читать подробенее]
Лекция 8 Шаблоны для построения графиков. Двухмерные графики. Трехмерные графики. Специальная графика. Построение графиков по результатам математических вычислений 8.1 Шаблоны для построения графиков Одним из интересных и эффективных применений математических... [читать подробенее]
Основы программирования в системе Scilab В Scilab встроен мощный язык программирования с поддержкой объектов. Работа в Scilab может осуществляться как в режиме командной строки, так и в программном режиме. Для создания программы (программу в Scilab иногда называют сценарием)... [читать подробенее]
Основы программирования в системе Scilab В Scilab встроен мощный язык программирования с поддержкой объектов. Работа в Scilab может осуществляться как в режиме командной строки, так и в программном режиме. Для создания программы (программу в Scilab иногда называют сценарием)... [читать подробенее]
Состав комплекса ОБЩИЙ ОБЗОР СИСТЕМЫ Фирмой “UCS” создан комплекс программ для автоматизации ресторанов различных направлений и форм обслуживания на всех уровнях. Программный комплекс включает в себя: 1) Кассовый уровень: · cистема кассира (кассовый... [читать подробенее]
oplib.ru
Личный сайт Е.Р.Алексеева - Работа в пакете Scilab
- один из самых интересных свободных математических программ. Scilab - система компьютерной математики, которая предназначена для выполнения инженерных и научных вычислений. По возможностям пакет Scilab практически не уступает Mathcad, а по интерфейсу близок к Matlab. В Scilab реализованы численные методы решения следующих задач вычислительной математики, среди которых можно выделить следующие:
- задачи линейной алгебры,
- нелинейные уравнения и систем,
- задачи оптимизации, при решении которых следует обратить внимание на несколько нестандартный синтаксис,
- дифференцирование и интегрирование,
- обработка экспериментальных данных (интерполяция и метод наименьших квадратов),
- обыкновенные дифференциальные уравнения и системы.
В Scilab есть встроенные функции для численного решения большинства стандартных математических задач. Для решения нестандартных задач в Scilab есть довольно мощный объектно-ориентированный язык программирования (sci-язык), с помощью которого пользователь может создавать свои визуальные приложения (с использованием встроенных функций), которые могут выполняться, как отдельные программы в среде Scilab.
Графические возможности Scilab не уступают проприетарным математическим пакетам. Следует обратить внимание на то, что в состав Scilab входит Xcos — система компьютерного моделирования, аналогичная Simulink. Cвободно распространяемый пакет Scilab должен занять достойное место на компьютере специалиста, чья деятельность связана с решением задач вычислительной математики.
Скачать Scilab для различных операционных систем можно на странице загрузки официального сайта.Мое знакомство с пакетом началось 5 лет назад c ресурса http://scilab.psati.ru/rukovodstvo/index.html, за эти годы был разработан курс лекций (совместно с Чесноковой О.В.) по пакету Scilab 4.
Затем в содружестве с компанией ALT Linux была написана и издана книга. Это первая, и на сегодняшний день единственная книга по пакету, изданная на русском языке.Е. Р. Алекс
еев, Е. А. Чеснокова, Е. А. Рудченко. Scilab: Решение инженерных и математических задач.Полный текст книги по Scilab находится на этой странице сайта Alt Linux, прямая ссылка для скачивания книги.
На сегодняшний вышел Scilab 5.2, в нем появилось много изменений, в частности значительно изменилась система моделирования, которая теперь называется Xcos.Список изменений в версии 5.0 по сравнению с 4.1 можно увидеть здесь
(на английском языке). Изменения в версии 5.2 представлены на официальном сайте программы в виде pdf файла.Очень надеюсь, что в ближайшее время я напишу обзор нововведений Scilab 5.0-5.2. Есть мечта и о втором издании книги, дополнив его новыми возможностями и системой моделирования Xcos. Но, наверное, только мечта. Хотя, если Alt Linux или кто другой возьмётся за издание, то почему нет. Написать не проблема.
teacher.ucoz.net