© Курбатова Н.В., Пустовалова О.Г., 2017
© Южный федеральный университет, 2017
3
Оглавление
Введение ............................................................................................................... 5
Первое знакомство с MatLab (ML) ....................................................................... 7
Интерфейс MatLab. Command Windows (CW) .................................................. 7
Интерфейс MatLab. Workspace ......................................................................... 9
Интерфейс MatLab. Help .................................................................................. 10
Простые операции с векторами и матрицами .................................................. 12
Ввод векторов и матриц ................................................................................. 12
Обращение к элементам матрицы ................................................................. 13
Удаление элементов матрицы ....................................................................... 14
Некоторые специальные матрицы ................................................................. 15
Создание матриц, заполненных случайными числами ................................ 16
Поэлементные операции ................................................................................ 17
Матричные операции ..................................................................................... 18
Часто используемые матричные функции ..................................................... 22
Логические операции с матрицами ............................................................... 26
Задачи для самостоятельного решения ......................................................... 27
Графика в MatLab ............................................................................................... 31
Построение графиков функций ...................................................................... 31
Несколько графиков в одном графическом окне .......................................... 32
Установка параметров графиков .................................................................... 33
Построение графика неявно заданной функции ........................................... 35
Создание нескольких графических окон ........................................................ 37
Использование логарифмической шкалы ..................................................... 39
4
Задания для самостоятельного решения ....................................................... 41
Основные типы данных ...................................................................................... 46
Методы класса Array ....................................................................................... 46
Типы данных Numeric и Double ...................................................................... 47
Способы создания объектов Double ............................................................... 48
Задания для самостоятельного решения ....................................................... 53
Объекты класса Char. Функции и свойства .................................................... 56
Объекты класса Cell. Функции и свойства ...................................................... 61
Создание функций в Matlab ............................................................................... 63
Функции и процедуры ..................................................................................... 63
Аноним и функция-строка ............................................................................... 66
Подпроцедуры ................................................................................................ 67
Литература .......................................................................................................... 69
5
Введение
Предлагаемое учебно-методическое пособие ориентировано на под-
держку практикума по курсу «Пакеты компьютерной алгебры» по специаль-
ности «Прикладная математика и информатика» в части освоения инстру-
ментария пакета MatLab для решения широкого спектра задач, являющихся
основой компьютерного моделирования.
Предполагается владение базовыми знаниями по курсам программи-
рования, математического анализа и линейной алгебры.
Данные курс и практикум относятся к обязательным дисциплинам
(цикла - вариативная часть) и являются центральным учебным материалом,
который дает возможность научиться оперировать функционалом предла-
гаемого ресурса для эффективного решения задач, в том числе смежных
предметных областей. Многомодульная структура MatLab (ML) имеет все
предпосылки стать основным инструментом исследования, как в учебном,
так и научно-исследовательском процессе, а предлагаемое пособие обеспе-
чивает освоение его основ. Оперативный и интерактивный характер взаимо-
действия пользователя и системы ML позволяет экстраполировать функцио-
нал пакета на решение прикладных, оптимизационных задач и других задач
более высокого уровня.
Авторы предлагают эволюционный подход от простого к сложному, и
он не сводится к сквозному усложнению предлагаемого материала, а опи-
рается на решения простых тематических задач и заданий-тренажеров. Та-
кие простые задачи составляют содержание серии примеров, поддержан-
ных программной реализацией средствами языка ML.
Предлагаемый подход обеспечивает базу для решения более сложных
задач и индивидуальных работ, охватывают темы или даже разделы курса.
Пакет MatLab является замечательным примером взаимодействия
пользователя (студента) и компьютерной системы. Облегченный синтаксис,
6
нестрогая типизация, проработанные библиотеки с функциями эффективного
программирования облегчают использование ML для решения задач, возни-
кающих при изучении таких курсов, например, как численные методы, ма-
тематические модели естественных наук, стохастическое моделирование.
Данное учебно-методическое пособие может быть весьма полезно для ре-
шения научно-технических задач, возникающих при работе над курсовыми и
дипломными проектами.
Для более глубокого и всестороннего освоения методик интерактивно-
го и программного моделирования средствами пакета ML предлагаем сле-
дующую литературу *1-6].
Материал пособия ориентирован на использование программного па-
кета MatLab версии
7.x -11.x.
7
Первое знакомство с MatLab (ML)
Пакет ориентирован на интерактивное (суперкалькулятор) и про-
граммное функционирование (MatLab – высокоуровневый язык на базе
FORTRAN с оптимизацией на С, С++).
В пакете по умолчанию реализована комплексная арифметика, вычис-
ления производятся с двойной точностью, базовый элемент – массив.
Пакет снабжен удобным интерфейсом - окнами, отличающимися своей
функциональностью. Конфигурирование необходимых для пользователя
окон осуществляется в меню команд так: Desktop (с выбором необходимых
окон) или Desktop Layout
Default (по умолчанию). Остановимся на некото-
рых из них.
Интерфейс MatLab. Command Windows (CW)
При интерактивной работе в командном окне все команды и их после-
довательности помещаются в строку ввода, она начинается символом >>. Ис-
полняются команды после нажатия клавиши Enter. А отделяются команды
друг от друга запятой или точкой запятой. Если использовать разделитель
точку с запятой, то результат выполнения команды не отображается.
8
На рисунке, представленном выше, представлены результаты исполнения
команды why в командном окне. Читателю предлагается поставить собст-
венный опыт - выполнить несколько раз данную команду и сравнить резуль-
таты ее исполнения.
Выполненные команды помещаются в стек и могут быть извлечены в
строку ввода перебором исполненных команд с помощью стрелок
и при
необходимости редактируются при повторном исполнении. Строка вывода
не доступна для редактирования.
Все переменные среды – глобальные. Это может стать причиной оши-
бок, если какие-то переменные уже ранее были определены и их используют
повторно. Поэтому необходимо внимательно контролировать процесс иден-
тификации и использования переменных. Пример, приведенный ниже, пока-
зывает, как можно отобразить на экране переменные и очистить некоторые
из них или сразу все.
Пример 1. Контроль переменных, сохранение и очистка CW
who
% Идентификаторы всех переменных
whos
% Идентификаторы и типы всех переменных
% Удаление всех переменных
clear
% Удаление конкретных переменных, например, x и y
clear x и y
% Сохранить все переменные оперативной памяти в систем-
ном двоичном файле matlab.mat
save
% Сохранить переменные x,y,z в двоичном файле va-
riables.mat
save variables x y z;
% Очистить содержимое оперативной памяти (все перемен-
ные - глобальные)
Clc
Заметим, что командное окно является с одной стороны средой для
вычислений, а с другой стороны графическим объектом, тип которого -
9
структура. Такой дуализм CW, двойственность, сохраняется и в управлении
его свойствами.
Пример 2. Свойства CW как функции высокого уровня
% Задание формата, который поддерживает 15 цифр после
запятой
format long
% short – по умолчанию и 4 цифры после за-
пятой
% Задание формата рациональных чисел
format rational
% Выполнение скрипт-файла с отображением каждой испол-
няемой %строки
echo on
% echo off – по умолчанию
Пример 3. Свойства CW как графического объекта Root
с нулевым дескриптором
% Определить текущие свойства CW
get(0)
% Определить свойства CW текущие и возможные
set(0)
%Задание формата, который поддерживает 15 цифр после
запятой
set(0,’format’,’long’)
% Выполнение скрипт-файла с отображением каждой испол-
няемой строки
set(0,’ echo’,’ on’)
Интерфейс MatLab. Workspace
Workspace – рабочее пространство; окно, содержащее информацию
обо всех переменных, типе, значениях. Щелчком по пиктограмме перемен-
ной активируется редактор переменных (VE), позволяющий изменять их зна-
10
чения в интерактивном режиме. Этот прием работы отображен на рисунке,
приведенном ниже.
Интерфейс MatLab. Help
Справочная система ML содержит информацию об имеющихся моду-
лях – Toolbox (Help
Product Help), алфавитный (Index) и содержательный
(Contents) поиск по имеющемуся программному функционалу, а также де-
монстрационные тематические программы (Demos). Следует отметить, что
политика ML обусловила такое структурирование ML, при котором каждый
модуль, по сути, является обособленным и определяет исследовательскую
среду для выделенной предметной области. Все они ориентированы на пре-
имущества ML: высокую точность, векторно-матричную природу, простой
синтаксис и нестрогую типизацию.
Пример 4. Тематические справочные материалы
% Справка по элементарным функциям
help elfun
% Справка по элементарным операциям (арифметическим,
операциям отношения, логическим, над множествами
см.help)
help > %знак больше
% Справка по элементарным, специальным матрицам и сис-
темным переменным
help elmat
В контекстном поиске (Help
Product Help
Contents) статья Program
Control Statements описывает все элементы программирования, используе-
11
мые в ML. В алфавитном поиске (Help
Product Help
Index), набрав is*,
можно получить справку по контролю возможных типов данных.
На рисунке, представленном ниже, отображено окно справочной
сиcтемы ML. Как и во многих других приложениях, примеры справки доступ-
ны для копирования с последующим выполнением в рабочей среде.
12
Простые операции с векторами и матрицами
Основными объектами, с которыми начинает работать пользователь,
знакомящийся с MATLAB, являются матрицы. Если проверить с помощью
команды size размер числа 5, или символа 'A', то мы получим два числа -
количество строк и количество столбцов, в данном случае - это две единицы.
Лозунг, которым призывают руководствоваться создатели языка – 'Think
vectorized', или 'Мысли векторно'.
Ввод векторов и матриц
Для ввода векторов и матриц используются квадратные скобки * +.
Достарыңызбен бөлісу: |