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

Scilab: Решение инженерных и математических задач

Покупка
Новинка
Артикул: 856463.01.99
Доступ онлайн
1 499 ₽
В корзину
Книга посвящена свободно распространяемому математическому пакету Scilab. Описан язык программирования Scilab. Особое внимание уделено визуальным средствам программирования. Описаны графические возможности пакета. Подробно рассмотрено решение математических задач (нелинейные уравнения и системы, задачи линейной алгебры, задачи оптимизации, дифференцирование и интегрирование, задачи обработки экспериментальных данных, обыкновенные дифференциальные уравнения и системы, уравнения в частных производных). Книга адресована студентам и преподавателям математических и инженерных специальностей и научным сотрудникам.
Алексеев, Е. Р. Scilab: Решение инженерных и математических задач : учебное пособие / Е. Р. Алексеев, К. В. Дога, О. В. Чеснокова ; отв. ред. В. Л. Чёрный. – Москва : ДМК Пресс, 2024. - 442 с. – (Библиотека ALT)/ - ISBN 978-5-93700-271-6. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2205060 (дата обращения: 13.04.2025). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Е. Р. Алексеев, К. В. Дога, О. В. Чеснокова
Scilab
Решение инженерных 
и математических задач
Библиотека ALT
Москва, 2024


УДК	 004.67
ББК 22.1
А47
Алексеев Е. Р., Дога К. В., Чеснокова О. В.
А47 	 Scilab: Решение инженерных и математических задач: учеб. издание / 
отв. ред. В. Л. Чёрный. – М.: Базальт СПО; ДМК Пресс, 2024. – 440 с.: ил. – 
(Библиотека ALT) 
ISBN 978-5-93700-271-6
Книга посвящена свободно распространяемому математическому пакету Scilab. 
Описан язык программирования Scilab. Особое внимание уделено визуальным 
средствам программирования. Описаны графические возможности пакета. Подробно рассмотрено решение математических задач (нелинейные уравнения 
и системы, задачи линейной алгебры, задачи оптимизации, дифференцирование 
и интегрирование, задачи обработки экспериментальных данных, обыкновенные 
дифференциальные уравнения и системы, уравнения в частных производных).
Книга адресована студентам и преподавателям математических и инженерных 
специальностей и научным сотрудникам.
УДК  004.67
ББК  22.1
Материалы, составляющие данную книгу, распространяются на условиях лицензии GNU 
FDL. Книга содержит следующий текст, помещаемый на первую страницу обложки: «В серии “Библиотека ALT”». Название: «Scilab: Решение инженерных и математических задач». 
Книга не содержит неизменяемых разделов. Linux – торговая марка Линуса Торвальдса. 
Прочие встречающиеся названия могут являться торговыми марками соответствующих 
владельцев.
	
©  Алексеев Е. Р., Дога К. В., Чеснокова О. В., 2024
	
©  Basealt, 2024
ISBN 978-5-93700-271-6	
©  Оформление, издание, ДМК Пресс, 2024


Содержание
От издательства.........................................................................................................8
Сведения об авторах...............................................................................................9
Введение....................................................................................................................10
Глава 1. Пакет Scilab. Начало работы...............................................................13
1.1	
Установка Scilab на ПК......................................................................................14
1.2	
Первое знакомство со Scilab............................................................................14
1.3	
Редактирование и отладка файлов-сценариев.............................................16
1.4	
Текстовые комментарии..................................................................................18
1.5	
Элементарные математические выражения.................................................18
1.6	
Переменные в Scilab.........................................................................................19
1.7	
Системные переменные Scilab........................................................................21
1.8	
Числовые типы данных и представление результатов вычислений 
в Scilab.................................................................................................................22
1.8.1	 Целые числа в Scilab..............................................................................22
1.8.2	 Представление вещественных чисел в Scilab....................................22
1.8.3	 Представление комплексных чисел в Scilab......................................23
1.9	
Функции в Scilab................................................................................................24
1.9.1	 Элементарные математические функции.........................................25
1.9.2	 Функции, определённые пользователем...........................................25
Глава 2. Программирование в Scilab................................................................30
2.1	
Основные операторы sci-языка......................................................................31
2.1.1	 Функции ввода-вывода в Scilab...........................................................31
2.1.2	 Форматированный вывод....................................................................32
2.1.3	 Оператор присваивания.......................................................................35
2.1.4	 Условный оператор...............................................................................35
2.1.5	 Оператор альтернативного выбора....................................................41
2.1.6	 Оператор цикла while...........................................................................43
2.1.7	 Оператор for...........................................................................................45
2.1.8	 Операторы передачи управления.......................................................46
2.2	
Обработка массивов и матриц в Scilab..........................................................47
2.2.1	 Ввод-вывод массивов и матриц..........................................................47
2.2.2	 Вычисление суммы и произведения элементов массива 
(матрицы)...............................................................................................48
2.2.3	 Поиск максимального (минимального) элемента массива 
(матрицы)...............................................................................................49


Содержание
2.2.4	 Сортировка элементов массива..........................................................50
2.2.5	 Удаление элемента из массива............................................................51
2.2.6	 Примеры задач.......................................................................................52
2.3	
Работа с файлами в Scilab................................................................................56
2.3.1	 Функция открытия файла mopen........................................................56
2.3.2	 Функция записи в текстовый файл mfprintf......................................57
2.3.3	 Функция чтения данных из текстового файла mfscanf...................57
2.3.4	 Функция закрытия файла mclose........................................................58
2.3.5	 Примеры решения задач......................................................................59
2.4	
Пользовательские функции в Scilab...............................................................63
Глава 3. Массивы и матрицы в Scilab. Решение задач линейной 
алгебры.......................................................................................................................70
3.1	
Ввод и формирование векторов и матриц....................................................70
3.2	
Действия над векторами..................................................................................74
3.3	
Действия над матрицами.................................................................................79
3.4	
Символьные матрицы и операции над ними...............................................87
3.5	
Функции для работы с матрицами и векторами..........................................88
3.5.1	 Функции для работы с векторами.......................................................88
3.5.2	 Функции для работы c матрицами.....................................................91
3.5.3	 Функции, реализующие численные алгоритмы решения  
задач линейной алгебры....................................................................108
3.6	
Решение некоторых задач алгебры матриц................................................115
3.7	
Решение систем линейных уравнений........................................................119
3.8	
Собственные значения и собственные векторы.........................................131
3.9	
Норма и число обусловленности матрицы..................................................134
Глава 4. Построение графиков в Scilab.........................................................137
4.1	
Построение графиков в декартовой системе координат..........................137
4.2	
Особенности работы функции plot...............................................................139
4.3	
Построение нескольких графиков в одной системе координат...............146
4.4	
Построение нескольких графиков в одном графическом окне...............149
4.5	
Оформление графиков при помощи функции plot........................................151
4.6	
Функция plot2d................................................................................................156
4.7	
Оформление графиков при помощи функции plot2d...............................158
4.7.1	
Построение точечных графиков........................................................164
4.7.2	
Построение графиков в виде ступенчатой линии..........................164
4.8	
Построение графиков в полярной системе координат.............................166
4.9	
Построение графиков функций, заданных в параметрической  
форме................................................................................................................169
4.10	 Примеры решения некоторых задач............................................................174
4.11	 Режим форматирования графика.................................................................182
4.11.1	 Форматирование объекта Figure.......................................................184
4.11.2	 Форматирование объекта Polyline....................................................198
4.12	 Функции plot3d и plot3d1...............................................................................202
4.13	 Функции meshgrid, surf и mesh......................................................................208


Содержание	
5
4.13.1	 Построение графиков поверхностей, заданных  
параметрически...................................................................................214
4.14	 Функции plot3d2 и plot3d3.............................................................................214
4.15	 Функции param3d и param3d1.......................................................................217
4.16	 Функция contour..............................................................................................224
4.17	 Функция contourf.............................................................................................229
4.18	 Функция hist3d.................................................................................................232
4.19	 Примеры построения некоторых трёхмерных графиков в Scilab...........233
4.20	 Анимация.........................................................................................................239
Глава 5. Создание графических приложений в среде Scilab.................241
5.1	
Работа с графическим окном........................................................................241
5.2	
Динамическое создание интерфейсных элементов. Описание  
основных функций..........................................................................................247
5.2.1	 Командная кнопка...............................................................................251
5.2.2	 Метка.....................................................................................................254
5.2.3	 Переключатель и флажок...................................................................256
5.2.4	 Окно редактирования.........................................................................259
5.2.5	 Списки...................................................................................................262
5.2.6	 Таблицы.................................................................................................263
Глава 6. Нелинейные уравнения и системы в Scilab................................267
6.1	
Методы решения нелинейных уравнений..................................................267
6.1.1	 Решение нелинейных и трансцендентных уравнений..................267
6.1.2	 Особенности решения алгебраических уравнений........................275
6.2	
Встроенные функции Scilab для решения нелинейных уравнений........283
6.2.1	 Решение алгебраических уравнений................................................283
6.2.2	 Решение трансцендентных уравнений............................................287
6.3	
Решение систем нелинейных уравнений в Scilab......................................290
Глава 7. Численное интегрирование и дифференцирование................292
7.1	
Основные методы численного интегрирования........................................292
7.1.1	
Интегрирование по методу трапеций..............................................293
7.1.2	
Интегрирование по методу Симпсона.............................................293
7.1.3	
Правило Рунге оценки точности интегрирования.........................295
7.1.4	
Квадратурные формулы Гаусса и Чебышёва...................................295
7.2	
Встроенные функции интегрирования Scilab.............................................299
7.3	
Численное дифференцирование в Scilab.....................................................301
7.4	
Примеры решения некоторых задач............................................................305
Глава 8. Решение обыкновенных дифференциальных  
уравнений и систем..............................................................................................309
8.1	
Общие сведения о дифференциальных уравнениях.................................309
8.2	
Численные методы решения дифференциальных уравнений.................310
8.2.1	 Решение дифференциальных уравнений методом Эйлера..........311


Содержание
8.2.2	 Решение дифференциальных уравнений при помощи 
модифицированного метода Эйлера................................................312
8.2.3	 Решение дифференциальных уравнений методами  
Рунге–Кутта..........................................................................................313
8.2.4	 Решение дифференциальных уравнений методом  
прогноза-коррекции Адамса.............................................................314
8.2.5	 Решение дифференциальных уравнений методом Милна...........315
8.3	
Решение систем дифференциальных уравнений......................................325
8.4	
Возможности Scilab для решения дифференциальных уравнений 
и систем............................................................................................................326
Глава 9. Обработка экспериментальных данных......................................333
9.1	
Метод наименьших квадратов......................................................................333
9.1.1	 Постановка задачи..............................................................................333
9.1.2	 Подбор параметров экспериментальной зависимости  
методом наименьших квадратов......................................................334
9.1.3	 Точность подбора параметров...........................................................338
9.1.4	 Уравнение регрессии и коэффициент корреляции........................339
9.1.5	 Нелинейная корреляция.....................................................................339
9.2	
Решение задач аппроксимации в Scilab......................................................341
9.3	
Интерполяция функций.................................................................................351
9.3.1	 Канонический полином......................................................................352
9.3.2	 Полином Ньютона...............................................................................353
9.3.3	 Полином Лагранжа..............................................................................355
9.3.4	 Интерполяция сплайнами..................................................................356
9.4	
Встроенные функции Scilab для решения задачи интерполяции...........361
Глава 10. Решение дифференциальных уравнений в частных 
производных...........................................................................................................365
10.1	 Общие сведения о дифференциальных уравнениях в частных 
производных....................................................................................................365
10.2	 Использование метода сеток для решения параболических  
уравнений в частных производных..............................................................367
10.3	 Использование метода сеток для решения гиперболических  
уравнений.........................................................................................................379
10.4	 Использование метода сеток для решения эллиптических  
уравнений.........................................................................................................381
Глава 11. Решение задач оптимизации.........................................................385
11.1	 Поиск минимума функции............................................................................385
11.1.1	 Поиск минимума функции одной переменной..............................387
11.1.2	 Поиск минимума функции многих переменных...........................389
11.2	 Решение задач линейного программирования..........................................391
11.3	 Решение задач квадратичного программирования..................................396


Содержание	
7
Глава 12. Использование Scilab для создания интерактивных 
документов..............................................................................................................401
12.1	 Инструментальные средства разработки интерактивных  
документов.......................................................................................................401
12.2	 Установка Jupyter Notebook............................................................................402
12.3	 Создание документов с помощью Jupyter Notebook и Scilab....................403
12.4	 Решение практических задач с помощью Jupyter Notebook и Scilab.......405
Глава 13. Задания для самостоятельной работы в Scilab......................409
13.1	 Программирование в Scilab...........................................................................409
13.1.1	 Программирование циклических вычислительных процессов 
в Scilab...................................................................................................409
13.1.2	 Программирование задач обработки массивов в Scilab................418
13.1.3	 Программирование задач обработки матриц в Scilab...................420
13.2	 Задания по теме «Решение задач линейной алгебры»..............................422
13.3	 Задания по теме «Построение двумерных графиков»...............................425
13.4	 Задания по теме «Построение трёхмерных графиков».............................427
13.5	 Задания по теме «Нелинейные уравнения и системы».............................428
13.6	 Задания по теме «Численное интегрирование».........................................429
13.7	 Задания по теме «Обработка экспериментальных данных»....................430
13.8	 Задания по теме «Решение задач оптимизации».......................................433
Литература...............................................................................................................435
Предметный указатель........................................................................................436


От издательства
Отзывы и пожелания
Мы всегда рады отзывам наших читателей. Расскажите нам, что вы ду-маете 
об этой книге – что понравилось или, может быть, не понравилось. Отзывы 
важны для нас, чтобы выпускать книги, которые будут для вас максимально 
полезны.
Вы можете написать отзыв на нашем сайте www.dmkpress.com, зайдя на 
страницу книги и оставив комментарий в разделе «Отзывы и рецензии». 
Также можно послать письмо главному редактору по адресу dmkpress@gmail.
com; при этом укажите название книги в теме письма. 
Если вы являетесь экспертом в какой-либо области и заинтересованы в написании новой книги, заполните форму на нашем сайте по адресу http://
dmkpress.com/authors/publish_book/ или напишите в издательство по адресу 
dmkpress@gmail.com.
Список опечаток
Хотя мы приняли все возможные меры для того, чтобы обеспечить высокое качество наших текстов, ошибки все равно случаются. Если вы найдете 
ошибку в одной из наших книг, мы будем очень благодарны, если вы сообщите о ней главному редактору по адресу dmkpress@gmail.com. Сделав это, 
вы избавите других читателей от недопонимания и поможете нам улучшить 
последующие издания этой книги. 
Нарушение авторских прав
Пиратство в интернете по-прежнему остается насущной проблемой. Издательство «ДМК Пресс» очень серьезно относится к вопросам защиты авторских прав 
и лицензирования. Если вы столкнетесь в интернете с незаконной публикацией 
какой-либо из наших книг, пожалуйста, пришлите нам ссылку на интернет-ресурс, чтобы мы могли применить санкции.
Ссылку на подозрительные материалы можно прислать по адресу электронной почты dmkpress@gmail.com.
Мы высоко ценим любую помощь по защите наших авторов, благодаря 
которой мы можем предоставлять вам качественные материалы.


Сведения об авторах
Алексеев Евгений Ростиславович, кандидат технических наук, доцент, доцент кафедры информационных образовательных технологий Кубанского 
государственного университета, автор 15 книг и более 120 научных и методических работ.
Чеснокова Оксана Витальевна, кандидат технических наук, доцент кафедры общематематических и естественно-научных дисциплин Московского 
финансово-юридического университета, автор 10 книг и более 80 научных 
и методических работ.
Дога Кристина Вячеславовна, студент факультета математики и компьютерных наук Кубанского государственного университета, педагог дополнительного образования центра детского творчества «Прикубанский».
Рецензенты
Д. А. Тархов – доктор технических наук, профессор кафедры высшей математики Санкт-Петербургского политехнического университета.
В. И. Родионов – кандидат физико-математических наук, доцент, заведующий кафедрой информатики и математики Удмуртского государственного 
университета.


Введение
Первая наша книга, посвящённая Scilab – системе компьютерной математики, вышла в свет в 2008 году [2]. Она была благожелательно принята читателями. Возможно, потому, что это была одна из первых книг по Scilab (наши 
коллеги утверждают, что это было первое издание на русском языке), а может 
быть, и потому, что получилась неплохая книга. Авторы многие годы использовали эту книгу при обучении студентов в университетах России и Украины 
(Донецкий национальный технический университет, Вятский государственный университет, Кубанский государственный университет). Также книгу 
использовали коллеги из Москвы, Санкт-Петербурга, Новосибирска, Львова, 
Ижевска и других городов. Авторы получили много отзывов из всей России. 
Книга познакомила нас со многими учёными и преподавателями (профессор С. П. Шарый из Новосибирска, профессора А. Н. Васильев, Д. А. Тархов 
из Санкт-Петербурга, доценты В. Р. Кристалинский, В. И. Мунерман из Смоленска и многие другие).
Однако авторы отдавали себе отчёт, что книга неидеальна, в ней есть моменты, которые хотелось бы поправить. Кроме того, за 17 лет, прошедших 
с момента написания книги, значительно изменился сам пакет Scilab, расширились его возможности. Scilab за эти годы стал достаточно популярен. 
Теперь нет необходимости сравнивать его с проприетарными математическими пакетами. Изменился и пользователь пакета. Свободное программное 
обеспечение шагнуло далеко за пределы узкого круга «хакеров-линуксоидов». Уровень информационных технологий сделал доступным знакомство 
с наукой в очень молодом возрасте.
За последнее десятилетие появилось достаточное количество литературы 
по Scilab, в частности русскоязычной [4, 7, 10, 11, 12, 14]. Особое внимание 
хотелось бы обратить на книги Б. И. Квасова [10] и А. Н. Титова, Р. Ф. Тазиевой 
[12]. В обеих работах авторы рассматривают Scilab как инструмент для решения математических задач. Много ссылок на литературу на разных языках 
можно найти на странице официального сайта Scilab https://www.scilab.org/
about/community/books.
В предлагаемой читателю книге значительно расширены разделы, посвящённые графическому отображению информации, созданию визуальных приложений в Scilab и решению математических задач. В книге можно 


Похожие

Доступ онлайн
1 499 ₽
В корзину