простого к сложному
, и
он не сводится к сквозному усложнению предлагаемого материала, а опи-
рается на решения простых тематических задач и заданий-тренажеров. Та-
кие
простые задачи
составляют содержание серии примеров, поддержан-
ных программной реализацией средствами языка 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', или 'Мысли векторно'.
Ввод векторов и матриц
Для ввода векторов и матриц используются квадратные скобки * +.
Достарыңызбен бөлісу: |