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

DOI: 10.22184/2070-8963.2019.85.8.68.70

sitemap
Наш сайт использует cookies. Продолжая просмотр, вы даёте согласие на обработку персональных данных и соглашаетесь с нашей Политикой Конфиденциальности
Согласен
Поиск:

Вход
Архив журнала
Журналы
Медиаданные
Редакционная политика
Реклама
Авторам
Контакты
TS_pub
technospheramag
technospheramag
ТЕХНОСФЕРА_РИЦ
© 2001-2025
РИЦ Техносфера
Все права защищены
Тел. +7 (495) 234-0110
Оферта

Яндекс.Метрика
R&W
 
 
Вход:

Ваш e-mail:
Пароль:
 
Регистрация
Забыли пароль?
Выпуск #8/2019
Т.Семенова, В.Шакин
ИСПОЛЬЗОВАНИЕ МАТРИЧНЫХ ОПЕРАЦИЙ ПАКЕТА Scilab ПРИ РЕШЕНИИ ЗАДАЧ БАЗОВЫХ ДИСЦИПЛИН
Просмотры: 1571
В статье рассматривается использование матричных операций средствами математического пакета Scilab для решения задач базовых дисциплин при подготовке бакалавров, в частности, способы создания матриц, основные действия с матрицами и их элементами, динамическое изменение размера матриц, а также доступ к элементам матриц при стандартном и векторном индексировании.

DOI: 10.22184/2070-8963.2019.85.8.68.70
Т.Семенова, к.т.н., доцент МТУСИ / sematata@yandex.ru,
В.Шакин, к.т.н., доцент МТУСИ
УДК 378.14:004.9, DOI: 10.22184/2070-8963.2019.85.8.68.70

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

Среди множества современных математических пакетов все большую популярность завоевывает пакет Scilab [1], широко используемый в учебном процессе при изучении базовых дисциплин для бакалавров ([2–7]). Scilab отличает универсальность, которая заключается в сочетании возможности проведения математических расчетов любой сложности с использованием множества встроенных библиотечных функций, реализующих как элементарные функции, так и функции, реализующие численные методы; наличие мощной системы программирования; графические средства; возможность конвертирования в него программ и файлов данных, созданных в других математических пакетах (в частности из Matlab [8], наиболее полным аналогом которого он практически и является) и системах программирования; наличие средств для проведения моделирования и многое другое. Немаловажно для использования Scilab в учебном процессе и то, что он является свободно распространяемым пакетом, имеет русифицированную документацию и постоянно развивается, предлагая пользователям всё новые версии и новые возможности.

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

Все типы данных, применяемые в пакете Scilab, являются матрицами. Матрицы могут быть пустыми, скалярными, векторными, со­стоящими из одной строки или одного столбца и называемыми соответственно вектором-строкой или вектором-столбцом; квадратными и прямоугольными. Даже каждая числовая константа и значение переменной хранятся в матрицах размером 1 × 1. В то же время элементы матриц могут быть объектами практически любых типов данных, допустимых в системе Scilab: числами, символами, логическими значениями, полиномами, рациональными дробями и др. Для создания новых векторов и матриц в Scilab реализовано несколько способов [1]:
  • с помощью операции "квадратные скобки" (операция конструирования – []);
  • с помощью соответствующих встроенных функций;
  • путем объединения уже существующих матриц;
  • с помощью операции "двоеточие" (:).

Созданные матрицы любого допустимого типа размещаются в Рабочей области Scilab по столбцам, а информация об активных объектах текущей сессии отображается в окне Обозревателя переменных (рис.1). 

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

В процессе выполнения про­граммного кода можно с помощью специальной функции динамически изменить размер и конфигурацию матриц, например, путем добавления элемента увеличить столбец, а с использованием функции resize_matrix(А,2,2) изменить размерность матрицы А(3 × 3) на А(2 × 2).

В Scilab алгебраические операции над векторами и матрицами выполняются по алгебраическим правилам, а поэлементные операции – для каждого соответствующего элемента вектора или матрицы. При поэлементных операциях точка ставится перед всеми арифметическими операциями (рис.3).

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

Стандартное матричное индексирование предполагает использование двух индексов, разделенных запятой, где первый индекс определяет номер строки, а второй – номер столбца. Заметим, что в Scilab обращение возможно как к одному элементу, так и подмножеству элементов матрицы. На рис.4 приведены примеры стандартной индексации матриц, а в двух последних примерах индексы выбираемых элементов являются вектором.

Векторное (линейное) индексирование матриц – это такое индексирование, которое осуществляется одним индексом, а матрица при этом рассматривается как суммарный вектор, в котором все ее элементы вытянуты в один длинный вектор-столбец, где каждый следующий столбец индексируемой матрицы следует за предыдущим столбцом (рис.5).

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

Матричные операции активно используются при решении алгебраических задач, задач вычислительной математики [7], задач теории электрических цепей [9], задач общей теории связи матрицы для описания объектов, над которыми необходимо производить различные операции. Представление однородных данных в виде матриц в сочетании с использованием матричных операций позволяет сделать программный код более эффективным и кратким и легко читаемым без использования циклов и операций сравнения.

ЛИТЕРАТУРА
Документация Scilab. Режим доступа: https://help.scilab.org/docs/6.0.1/ru_RU/index.html
Семенова Т.И., Шакин В.Н. Математический пакет Scilab: учебное пособие для бакалавров. – М.: ЭБС МТУСИ, 2017. 127 c. Режим доступа http://www.mtuci.ru/structure/library/catalogue/download.php?book_id=1834
Семенова Т.И., Юскова И.Б., Юсков И.О. Проведение расчетов в среде пакета Scilab: Практикум. – М.: ЭБС МТУСИ, 2018. 35 c. Режим доступа: http://www.mtuci.ru/structure/library/catalogue/download.php?book_id=1963
Алексеев Е.Р., Чеснокова О.В., Рудченко Е.А. Scilab: Решение инженерных и математических задач. – М.: ALT Linux; БИНОМ. Лаборатория знаний, 2008. 269 c.
Ерин С.В. Scilab – примеры и задачи: Практическое пособие. – M.: Лаборатория "Знания будущего", 2017. 154 c.
Семенова Т.И., Загвоздкина А.В., Загвоздкин В.А. Графическое представление результатов расчетов в Scilab // Материалы II Международной научно-практической конференции. Донецк, Донецкая народная республика, 2018. С. 4–10.
Семенова Т.И., Загвоздкина А.В., Загвоздкин В.А. Изучение численных методов с использованием средств пакета Scilab // Экономика и качество систем связи. 2017. № 4 (6). С. 60–69.
Шакин В.Н., Семенова Т.И. Основы работы с математическим пакетом Matlab: Учебное пособие. – МТУСИ, 2016. 133 c.
Смирнов Н.И., Фриск В.В. Теория электрических цепей: Учебник для вузов. – М.: Горячая линия – Телеком, 2019. 286 c.
 
 Отзывы читателей
Разработка: студия Green Art