Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Решение математических задач в интегрированной среде Scilab

Покупка
Артикул: 809808.01.99
Доступ онлайн
500 ₽
В корзину
Рассмотрены возможности интегрированной среды Scilab в области программирования и решения задач вычислительной математики, таких как решение уравнений и систем уравнений, аппроксимация и интерполяция, численное интегрирование, оптимизация. Приведен теоретический материал, примеры решения задач. Для оценки уровня усвоения студентами пройденного материала предложены варианты заданий для самостоятельной работы. Предназначено для бакалавров, обучающихся по направлениям подготовки 18.03.01 «Химическая технология», 28.03.02 «Наноинженерия», 09.03.02 «Информационные системы и технологии», изучающих дисциплины «Информатика», «Вычислительная математика», «Прикладная математика», «Обработка экспериментальных данных», «Методы оптимизации». Подготовлено на кафедре информатики и прикладной математики.
Титов, А. Н. Решение математических задач в интегрированной среде Scilab : учебно-методическое пособие / А. Н. Титов, Р. Ф. Тазиева ; Минобрнауки России, Казан. нац. исслед. технол. ун-т. - Казань : Изд-во КНИТУ, 2022. - 164 с. - ISBN 978-5-7882-3131-0. - Текст : электронный. - URL: https://znanium.com/catalog/product/2069265 (дата обращения: 20.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Министерство образования и науки Российской Федерации

Казанский национальный исследовательский

технологический университет

А. Н. Титов, Р. Ф. Тазиева

РЕШЕНИЕ МАТЕМАТИЧЕСКИХ 
ЗАДАЧ В ИНТЕГРИРОВАННОЙ 

СРЕДЕ SCILAB

Учебно-методическое пособие

Казань

Издательство КНИТУ

2022
УДК 004.42:51(075)
ББК  32.97:22.1я73

Т45

Печатается по решению редакционно-издательского совета 

Казанского национального исследовательского технологического университета

Рецензенты:

д-р техн. наук, проф. М. Х. Хайруллин

канд. экон. наук О. С. Семичева

Т45

Титов А. Н.
Решение математических задач в интегрированной среде 
Scilab : учебно-методическое пособие / А. Н. Титов, Р. Ф. Та-
зиева; Минобрнауки России, Казан. нац. исслед. технол. 
ун-т. – Казань : Изд-во КНИТУ, 2022. – 164 с.

ISBN 978-5-7882-3131-0

Рассмотрены возможности интегрированной среды Scilab в обла-

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

Предназначено для бакалавров, обучающихся по направлениям 

подготовки 18.03.01 «Химическая технология», 28.03.02 «Наноинжене-
рия», 09.03.02 «Информационные системы и технологии», изучающих 
дисциплины «Информатика», «Вычислительная математика», «Прикладная 
математика», «Обработка экспериментальных данных», «Методы 
оптимизации».

Подготовлено на кафедре информатики и прикладной математики.

ISBN 978-5-7882-3131-0
© Титов А. Н., Тазиева Р. Ф., 2022
© Казанский национальный исследовательский 

технологический университет, 2022

УДК 004.42:51(075)
ББК 32.97:22.1я73

2
О г л а в л е н и е

Введение.........................................................................................................................5
1. ОСНОВЫ РАБОТЫ В СРЕДЕ SCILAB..................................................................7

1.1. Возможности системы Scilab.............................................................................7
1.2. Рабочее окно системы Scilab 6.1.0 ....................................................................8
1.3. Проведение простейших вычислений в Scilab...............................................16
1.4. Работа с массивами. Решение задач линейной алгебры ...............................28
Задания для самостоятельной работы....................................................................32

2. ОСНОВЫ ПРОГРАММИРОВАНИЯ В СРЕДЕ SCILAB...................................34

2.1. Основные операторы sci-языка .......................................................................34

2.1.1. Операторы ввода/вывода.  Оператор присваивания ...............................34
2.1.2. Условный оператор if .................................................................................38
2.1.3. Оператор альтернативного выбора ...........................................................42
2.1.4. Оператор цикла for......................................................................................43
2.1.5. Оператор цикла while .................................................................................44

2.2. Работа с одномерными массивами и матрицами в Scilab.............................45

2.2.1. Ввод-вывод массивов и матриц.................................................................46
2.2.2. Вычисление сумм и произведений элементов массивов ........................46
2.2.3. Поиск максимального элемента массива .................................................48
2.2.4. Работа с элементами массивов, удовлетворяющими определенным 

условиям.......................................................................................................................50

Задания для самостоятельной работы....................................................................52

3. РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ УРАВНЕНИЙ В SCILAB ...................60

3.1. Вычисление корней полинома.........................................................................60
3.2. Решение трансцендентных и алгебраических уравнений в Scilab. 
Функция fsolve..........................................................................................................62
3.3. Решение систем линейных и нелинейных уравнений в Scilab.....................67

4. АППРОКСИМАЦИЯ..............................................................................................76

4.1. Меры погрешности аппроксимации ...............................................................76
4.2. Решение задачи аппроксимации в Scilab. Функция datafit...........................78
4.3. Решение задачи аппроксимации.  Функция leastsq .......................................86
4.4. Решение задачи аппроксимации.  Функция fminsearch ................................94
4.5. Нахождение коэффициентов уравнения линейной регрессии. 
Функция reglin..........................................................................................................96
Задания для самостоятельной работы....................................................................98

5. ИНТЕРПОЛЯЦИЯ ................................................................................................100

5.1. Линейная интерполяция.................................................................................101
5.2. Построение интерполяционных полиномов в Scilab ..................................103

5.2.1. Решение задачи интерполяции с помощью функции datafit ................104
5.2.2. Решение задачи интерполяции без использования функции datafit....106
5.2.3. Решение задачи интерполяции с помощью функции leastsq................109

5.3. Интерполяция сплайнами...............................................................................111

5.3.1. Сплайн-интерполяция в Scilab.................................................................113
5.3.2. Специальные функции Scilab  для сплайн-интерполяции....................116
5.3.3. Нахождение коэффициентов сплайнов ..................................................122

Задания для самостоятельной работы..................................................................128

6. ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ.........................................................130

6.1. Вычисление производных от функций, заданных аналитически. 
Функция numderivative ..........................................................................................130
6.2. Решение задачи численного дифференцирования с помощью 
интерполяционных полиномов.............................................................................131
6.3. Решение задачи численного дифференцирования с помощью сплайнов.134

7. ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ ..................................................................137

7.1. Численное интегрирование таблично заданных функций..........................137
7.2. Интегрирование аналитически заданных функций.....................................139
Задания для самостоятельной работы..................................................................141

8. РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ 
ПЕРВОГО ПОРЯДКА...............................................................................................142

8.1. Решение задачи Коши для ОДУ первого порядка.......................................143
8.2. Решение задачи Коши для систем ОДУ первого порядка..........................145
Задания для самостоятельной работы..................................................................148

9. ОПТИМИЗАЦИЯ..................................................................................................150

9.1. Решение задач безусловной оптимизации. Функция optim........................150
9.2. Решение задач линейного программирования. Функция karmarkar..........154
9.3. Решение задач квадратичной оптимизации. Функция qld..........................157
Задания для самостоятельной работы..................................................................161

Литература .................................................................................................................163
В в е д е н и е

Интегрированная среда разработки (IDE – Integrated Development 

Environment) – это система программных средств, предназначенных 
для разработки программного обеспечения. В качестве примера интегрированной 
среды разработки рассмотрим систему Scilab.

Система компьютерной математики Scilab в настоящее время по-

лучила достаточно широкое распространение в вузах ввиду ее очевидных 
преимуществ перед своими более мощными и дорогостоящими аналогами, 
такими как Matlab, Mathcad и др. Основными преимуществами системы 
являются прежде всего ее бесплатность, сравнительно небольшой 
размер, относительная простота в использовании. В настоящее время 
имеется достаточное количество публикаций о возможностях системы 
и принципах работы с ней [1‒3]. Однако в большинстве из них описывается 
работа в самых ранних версиях системы. Между тем в более поздних 
версиях появляются новые функции, меняются их параметры, синтаксис 
и смысловые значения уже имеющихся параметров.

В известных авторам источниках не указаны ошибки, к которым 

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

Авторы поставили перед собой цель: собрать имеющуюся в ли-

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

Пособие состоит из девяти глав. В первой главе рассматриваются 

вопросы, связанные с началом работы в среде Scilab, во второй – основные 
операторы языка программирования системы Scilab. В третьей 
главе показано, как решаются алгебраические, трансцендентные уравнения 
и системы линейных и нелинейных уравнений с помощью функций 
roots и fsolve. Рассмотрены вопросы выбора начального приближения 
для решения систем двух нелинейных уравнений с использованием 
появившейся в версии 6.1.0 функции plotimplicit. В четвертой главе рассмотрены 
способы решения задач одномерной аппроксимации полиномами 
и другими функциями с использованием функций datafit, leastsq 
и fminseach. В пятой главе приведено большое количество примеров решения 
задач интерполяции с использованием интерполяционных 
полиномов и кубических сплайнов (функции interpln, datafit, interp 
и leastsq). В шестой главе рассмотрены задачи численного дифференцирования 
и показано, как можно их решить с помощью интерполяционных 
полиномов и сплайнов. Седьмая глава посвящена вопросам численного 
интегрирования функций, заданных таблично и аналитически. 
В восьмой приведены примеры решения ОДУ первого порядка и систем 
таких уравнений. В девятой главе рассмотрены возможности системы 
Scilab в области одномерной и многомерной оптимизации: решение задач 
одномерной и многомерной безусловной оптимизации (функция 
opt), задач линейного программирования (функция karmarkar) и задач 
квадратичного программирования (функция qld). 

Материал, изложенный в пособии, может быть использован при 

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

Scilab 6.1.0. В работе не рассматриваются графические возможности 
среды Scilab и практика решения задач теории вероятностей и математической 
статистики в этой среде. Эти вопросы отражены в [4, 5].

6 
1 . О С Н О В Ы  Р А Б О Т Ы В  С Р Е Д Е  S C I L A B

1 . 1 . В о з м о ж н о с т и  с и с т е м ы  S c i l a b

Scilab (/ˈsaɪlæb/) – пакет прикладных математических программ 

для проведения инженерных (технических) и научных расчетов. Это самая 
полная общедоступная альтернатива MATLAB.

Существуют версии Scilab для операционных систем Windows 

и Linux. Они имеют некоторые отличия в названиях пунктов главного 
меню, но команды пакета в обеих версиях идентичны [1].

Пакет разработан Scilab Group INRIA-Rocquencourt Metalau 

Project. С 2017 года Scilab поддерживается компанией ESI Group. Свободно 
распространяемую версию системы вместе с полной документацией 
на английском языке в формате pdf можно скачать по адресу:
http://www.scilab.org. 

Некоторые возможности системы Scilab:
1) в области математических вычислений:
– матричные, векторные, логические, условные операторы;
– символьные вычисления;
– полиномиальные и рациональные функции;
– элементарные и специальные функции;
– полиномиальная арифметика;
2) в области реализации численных методов:
– поиск корней алгебраических и трансцендентных уравнений;
– решение задач аппроксимации и интерполяции;
– решение дифференциальных уравнений;
– численное интегрирование;
– оптимизация функций нескольких переменных;
– решение задач математической статистики;
3) в области программирования:
– свыше 500 встроенных математических функций;
– интерфейс к Fortran, Tcl/Tk, C, C++, Java, LabView;
4) в области визуализации результатов расчетов и графики:
– возможности создания и редактирования двухмерных и трех-

мерных графиков;
– возможность проведения визуального анализа данных.
В системе возможны также обработка сигналов, параллельная ра-

бота, проведение статистического анализа данных, работа с компьютерной 
алгеброй.

Отличия Scilab от некоторых похожих коммерческих программ: 
– бесплатность;
– сравнительно небольшой размер (версия 6.1.0 системы стан-

дартной конфигурации занимает менее 700 Мб);

– возможность запуска в консоли без использования графиче-

ского интерфейса.

В состав системы компьютерной математики Scilab входят ин-

терпретатор, библиотека функций (Scilab-процедуры), библиотека 
Fortran и С процедур.

1 . 2 . Р а б о ч е е  о к н о  с и с т е м ы  S c i l a b  6 . 1 . 0

Загрузить Scilab на свой компьютер можно с официального сайта

http://www.scilab.org. Зайдя на него и выбрав в качестве языка русский, 
мы увидим нечто подобное, изображенное на рис. 1.1.

Рис. 1.1. Главная страница сайта http://www.scilab.org
Необходимо выбрать нужную версию программного обеспече-

ния, скачать ее и установить на свой компьютер, следуя указаниям системы. 
Последняя на сегодняшний день версия Scilab – 6.1.0.

После первого запуска программы (версия 6.1.0) на экране дис-

плея внутри большого окна можно увидеть 4 более мелких: 

– обозреватель файлов; 
– командное окно; 
– обозреватель переменных; 
– журнал команд. 

Рис. 1.2. Рабочее окно системы Scilab 6.1.0 

(стандартная конфигурация)

Если какого-то окна нет на экране, то вывести его на экран дисплея 
можно через пункт меню командного окна «Инструменты». 

Рис. 1.3. Пункт меню командного окна «Инструменты»
В каждый момент времени активным может быть только одно из 

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

Обозреватель файлов служит для быстрого доступа к файлам 

при работе с системой.

Рис. 1.4. Обозреватель файлов

Командное окно – это основное окно системы Scilab.

Рис. 1.5. Командное окно системы Scilab
В это окно можно вводить команды, и в него же Scilab выводит 

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

(см. рис. 1.5) содержит разделы «Файл», «Правка», «Управление», «Инструменты», «
Справка», предназначенные для работы соответственно 
с файлами, с буфером обмена, для настройки среды, вызова текстового 
редактора SciNotes и для получения справки.

Раздел главного меню «Файл» служит для работы с файлами.

Рис. 1.6. Пункт меню «Файл» командного окна

После выполнения первого пункта меню нам будет предложено выбрать 
файл для выполнения. Следующий пункт меню предлагает выбрать 
файл для его открытия в окне редактора, третий и четвертый 
пункты предназначены для загрузки или сохранения sod-файлов (Scilab 
Open Data – файлы, используемые для хранения данных). Выполнив 
пункт меню «Текущая рабочая директория», мы узнаем, какая директория 
является на данный момент текущей (например, результат может 
быть таким: C:\Users\Администратор\Documents), можем выбрать при 
необходимости нужную нам папку («Browser for new», «Перейти к любимым»), 
задать параметры страницы для печати и распечатать содержимое 
командного окна («Печать»). Последний пункт меню «Выход»
позволяет закрыть Scilab.
Рис. 1.7. Пункт меню командного окна «Файл/Параметры страницы»

Команды раздела меню «Правка» используют для работы с буфе-

ром обмена, то есть для вырезания, копирования, вставки предварительно 
выделенного фрагмента .sce/.sci-файла или командного окна. 
Назначение команд этого раздела «Выделить все», «Показать/скрыть 
панель инструментов», «Очистить журнал команд» достаточно очевидно. 
С помощью пункта «Настройки» можно подстроить «под себя» 
параметры консоли и окна редактора: поменять шрифт, его размер, цвет 
и т. д. (рис. 1.8).

Рис. 1.8. Пункт меню командного окна «Файл/Правка/Настройки»
Доступ онлайн
500 ₽
В корзину