Команды общего назначения
ПРИЛОЖЕНИЕ. Сведения о пакете MATLAB 6.5
В краткой форме приводится описание команд новейшей версии 6.5 системы MATLAB, появившейся с конца 2000 года и ставшей мировым лидером среди систем компьютерной математики. Полное описание системы составляет более 500 страниц. Система характеризуется высочайшей степенью визуализации результатов работы и служит мощной операционной средой для применения многочисленных пакетов расширения по новейшим направлениям науки и техники. В настоящее время MATLAB фактически стал международным стандартом учебного программного обеспечения для решения вычислительных задач в областях линейной алгебры, теории управления, теории систем, обработки сигналов и других. Популярности системы способствует ее мощное расширение Simulink, предоставляющее удобные и простые средства, в том числе визуальное объектно-ориентированное программирование, для моделирования линейных и нелинейных динамических систем, а также множество других пакетов расширения систем. К расширению системы были привлечены крупнейшие научные школы мира в области математики, программирования и естествознания.
Система MATLAB создана таким образом, что любые вычисления можно выполнять в режиме прямых вычислений, так и с помощью написания подпрограмм в виде М-файлов. Центральным понятием всех математических систем является математическое выражение, которое задает то, что должно быть вычислено в численном (или в символьном) виде. Математические выражения строятся на основе чисел, констант, переменных, операторов, функций и разных спецзнаков. MATLAB предоставляет пользователю обширный набор готовых средств, большая часть которых – это расширения пакета в виде М-файлов.
Ввиду популярности у пользователей использования средств визуализации решения математических задач, в версии 6.5 приведены обширные средства визуализации, в том числе и анимационной, включая использование средств символьной математики. Новые средства дескрипторной или описательной графики позволяют создавать полноценные объекты высокого разрешения, как геометрического, так и цветового, поддерживаемые объектно-ориентированным программированием. Применение дескрипторной графики позволяет реализовать элементы визуально-ориентированного программирования.
Система MATLAB имеет обширную техническую документацию (более 5000 страниц текста) и развитую справочную систему. С последними новостями по разработке системы можно ознакомиться на сайте корпорации Math Works www.mathworks.com, а также посетив сайт официального дилера корпорации Math Works в России www.softline.ru. Консультации можно получить на сайтах www.matlab.ru и www.exponenta.ru.
Вызов демонстрационных примеров можно произвести, исполнив команду
>> help demos
С помощью команды
>>lookfor ключевое слово
Система MATLAB имеет интерактивную систему помощи, которая реализуется в командном режиме работы с помощью команды
>> help имя
Для запуска справочной системы следует использовать одноименную команду меню Help – MATLAB Help. При этом запустится браузер справочной системы.
Ниже приводится перечень команд с кратким описанием результата ее выполнения.
Управляющие команды и функции
addpath Добавление каталога к пути поиска файлов MATLAB’а
doc Просмотр HTML документации в справочном окне
genpath генерация пути
help Показ справки по М-файлу для функций MATLAB в командном окне
helpbrowser Показ справки для доступа ко всем справкам Mathworks в Интернете
helpdesk Отображение окна просмотра справки
helpwin Обеспечение доступа к помощи по М-файлу для всех функций
lasterr Последнее сообщение об ошибках
lastwarn Последнее предупреждающее сообщение
license Лицензия
lookfor Поиск указанного ключевого слова во всех записях
partialpath Управление частичным путем
path Управление путем поиска файлов каталога MATLAB
pathtool Открытие GUI для просмотра и изменения пути MATLAB’а
profile Запуск профилировщика М-файла, утилита для отладки и оптимизации кода
profreport Создание отчета по конфигурации
rehash Обновление функций и кэш файловой системы
rmpath Удаление каталога из пути поиска файлов MATLAB’а
support Открытие веб-страницы службы технической поддержки MathWorks
type Печать на экран текста файла
ver Информация о версии MATLAB, Simulink и пакетов расширения
version Номер версии MATLAB’а
web Вывод окна просмотра справки в файле или сети Интернет
what Перечисление М-файлов в текущем каталоге
whatsnew Отображение README файлов для MATLAB и пакетов расширения
which Отображение расположение файлов и функций
Управление переменными и рабочим пространством
clear Удаление элементов из рабочего пространства
disp Отображение текста или массива
length Длина вектора
load Загрузка переменных из диска
memory Справка об ограничениях по памяти
mlock Запрет на очистки М-файла
munlock Разрешение на очистку М-файла
openvar Открытая переменная рабочего пространства для графического редактирования
pack Объединение памяти рабочего пространства
save Сохранение переменных рабочего пространства на диске
saveas Сохранение рисунка или модели с использованием указанного формата
size Размерность массива
who, whos Перечисление переменных рабочего пространства
workspace Отображение окна просмотра рабочего пространства, GUI для управления рабочим пространством
Управление командным окном
clc Очистка командного окна
echo Вывод на экран во время выполнения М-файла
format Управление форматом вывода данных
home Передвижение курсора к верхнему левому углу командного окна
more Управление выводом командного окна
Работа с файлами и вычислительной средой
beep Производство звука “гудка”
cd Смена рабочего каталога
checkin Регистрация файла в системе управления
checkout Освобождение файла из системы управления
cmopts Получение имени системы управления и файла проекта PVCS
copyfile Копирование файла
customverctrl
delete Удаление файлов или графических объектов
diary Сохранение сеанса в виде файла на диске
dir Отображение содержимого текущего каталога
dos Выполнение команды DOS и возврат результата
edit Редактирование М-файла
fileparts Получение сведений о файле
filebrowser Просмотр в окне файлов текущего каталога
fullfile Построение полного имени файла
info Получение информации о всех Readme файлах и пакетах расширения
inmem Информация о доступных функциях
ls Просмотр каталога на UNIX
matlabroot Корневая директория инсталляции MATLAB
mkdir Создание нового каталога
open Открытие файлов по расширению
pwd Содержимое текущего каталога
tempdir Название временного каталога системы
tempname Уникальное имя для временного файла
undocheckout Отмена предыдущей отладки от системы управления
unix Выполнение команды UNIX и возврат результата
! Выполнение команды операционной системы
Начало работы и выход из MATLAB
finish Завершение работы М-файла
exit Завершение работы с пакетом MATLAB
matlabrc Запуск М-файла
quit Окончание работы с MATLAB
startup Запуск работы М-файла
studfiles.net
Основы Matlab.
Лабораторная работа №1
Цель работы:
По указанной литературе изучить:
— основы системы Matlab,
— системное меню Matlab,
— основы работы с демонстрационными примерами,
— основные системные команды,
— правила ввода команд и данных,
— правила вывода результатов.
Теоретическая часть
Работа в среде MATLAB
Система MATLAB в настоящее время является мощным и универсальным средством решения задач, возникающих в различных областях человеческой деятельности. Спектр проблем, решение которых может быть осуществлено при помощи MATLAB, охватывает: матричный анализ, обработку сигналов и изображений, задачи математической физики, оптимизационные задачи, обработку и визуализацию данных, нейронные сети, нечеткую логику и многие другие.
При запуске MATLAB на экране появляется командное окно MATLAB Command Window. Символ >> означает приглашение командной строки к вводу команды. Набор любой команды или выражения должен сопровождаться нажатием клавиши <Enter> для того, чтобы система MATLAB выполнила введенную
команду или вычислила выражение.
Встроенные математические функции MATLAB позволяют находить значения различных выражений. Команды для вычисления выражений имеют вид, свойственный всем языкам программирования высокого уровня. Полный перечень встроенных математических функций можно найти в справочной системе MATLAB.
Окно Command History содержит историю команд по времени, а также историю всех операций, выполняемых в командном окне.
Окно WorkSpace — рабочая область для файлов с расширением mat, содержащих определения переменных, векторов, матриц и т.п.
Команды, операции и параметры в среде MATLAB.
Открытая позиция строки меню содержит различные операции и команды. Выделенная команда или операция исполняется при нажатии клавиши Enter (Ввод). Выполнение команды можно также осуществить щелчком мыши или нажатием на клавиатуре клавиши, соответствующей выделенному символу в названии команды.
Арифметические операторы являются самыми распространенными и известными. В отличие от большинства языков программирования в системе MATLAB практически все операторы являются матричными, т. е. предназначены для выполнения операций над матрицами. В табл. Приводится список арифметических операторов и синтаксис их применения.
Арифметические операторы и функции MATLAB
Функция | Название | Оператор | Синтаксис |
Plus | Плюс | + | М1+М2 |
Uplus | Унарный плюс | + | +М |
Minus | Минус | — | М1-М2 |
Uminus | Унарный минус | — | -М |
Mtimes | Матричное умножение | * | М1*М2 |
Times | Поэлементное умножение массивов | .* | А1*А2 |
Mpower | Возведение матрицы в степень | ^ | М1^х |
Power | Поэлементное возведение массива в степень | ^ | А1^х |
Mldivide | Обратное (справа налево) деление матриц | \ | M1\M2 |
Mrdivide | Деление матриц слева направо | / | М1/М2 |
Ldivide | Поэлементное деление массивов справа налево | . \ | А1.\А2 |
Rdivide | Поэлементное деление массивов слева направо | . / | А1. /А2 |
Каждый оператор имеет аналогичную по назначению функцию. Например, оператору матричного умножения * соответствует функция mtimes(Ml,M2).
В-А -> minus (В. А)
А. ^ 2 -> power(A,2)
Соответствие функций операторам и командам в системе MATLAB является одним из основных положений программирования. Оно позволяет одновременно использовать элементы как операторного, так и функционального программирования.
Следует отметить, что в математических выражениях операторы имеют определенный приоритет исполнения. Например, в MATLAB приоритет логических операторов выше, чем арифметических, приоритет возведения в степень выше приоритетов умножения и деления, приоритет умножения и деления выше приоритета сложения и вычитания. Для изменения приоритета операций в математических выражениях используются круглые скобки. Степень вложения скобок не ограничивается.
Краткие сведения по работе в MATLAB:
1. В Matlab все данные рассматриваются, как матрицы. Тип результатов определяется автоматически по виду выражения.
2. В идентификаторах высота буквы имеет значение. Рекомендуется для имен простых переменных выбирать сточные буквы, а для структурированных (векторы и массивы) прописные.
3. Векторы вводятся в квадратных скобках, компоненты вектора разделяются пробелами. Например, V=[1 2 3 4].
4. Матрицы вводятся в квадратных скобках, внутри которых размещаются векторы строк, разделенные знаком точка с запятой (;). Например V=[1 2 3;2 6 5;9 1 3].
5. Если данные не умещаются в строке, строку можно отобразить в нескольких строках, используя разделить в виде многоточия (не менее трех точек).
6. Значение π задается системной константой с именем pi.
7. В Matlab возможны два режима работы:
— в командном окне, как с калькулятором. В этом случае каждое действие сразу же исполняется.
— в редакторе программ. В этом случае программа вводится, как обычно, а исполняется по команде встроенного отладчика.
8. При работе в режиме калькулятора выражения могут вводится:
— в прямой форме, тогда после завершения ввода ответ будет выведен под встроенным системным именем ans. Переменная с этим именем всегда хранит результат последнего вычисления.
— в форме оператора присвоения, когда переменной с выбранным именем присваивается значение выражения. Ответ в этом случае выводиться под именем этой переменной.
— любое уже определенное значение можно вызвать из рабочей области по имени переменной.
9. Если вычисляется значение переменной с выбранным именем по
заданному выражению, результат выводится под именем этойпеременной в следующей строке. Векторы выводятся в строке пробелами, матрицы – построчно, каждая содержит вектор строки.
10. При работе с программой неграфические результаты выводятся в окно командной строки. При необходимости их можно выводить, как текст, в специально создаваемое окно.
11. Вывод результата можно заблокировать, если в конце строки ввода ввести знак точка с запятой (;). Значение переменной, которой результат присваивается, храниться в рабочей области.
12. При работе с массивами определены операторы почленного выполнения. В них перед символом операции вводится (.).
13. Символ присвоения – знак равенства (=). Равенство, как оператор
отношения в условиях, вводится, как двойное равенство (==).
Задание к работе
Задача 1. Изучить интерфейс Matlab.
Задача 2. Выполнить в режиме калькулятора следующие действия:
1. Ввод исходных операндов O1=[12 34 61 45 11] и O2= 34.
2. Выполнить над операндами O1 и O2 операцию “/”.
3. Выполнить над результатом и операндом O1 операцию “.*”.
4. Выполнить над результатом предыдущего действия и операндом O2 операцию “+”.
5. Возвести почленно операнд O1 в степень 3.
studfiles.net
1.2 Порядок выполнения
В командном окне задать значения переменных, согласно варианту задания, представленному в таблице 1.6.
Записать выражение на языке MATLAB.
Таблица 1.6 Варианты заданий
№ | Выражение | Переменные |
1 | 2 | 3 |
1 | ||
2 | ||
3 | ||
4 | ||
5 | ||
6 | ||
7 | ||
8 | ||
9 | ||
10 | ||
11 | ||
12 | ||
13 | ||
Продолжение таблицы 1.6 | ||
1 | 2 | 3 |
14 | ||
15 |
1.3 Содержание отчета
1. Цель работы.
2. Пример расчета и вывода данных.
1.4 Контрольные вопросы
1. Для чего служит команда HELP?
2. Перечислите основные команды MATLAB для работы в режиме прямых вычислений.
3. С помощью какой команды устанавливается формат чисел?
4. Перечислите основные системные переменные MATLAB.
5. Приведите примеры математических функций системы MATLAB.
Практическое занятие № 2
Операции с векторами и матрицами в системе MATLAB
Цель занятия: изучение реализации средствами системы MATLAB основных операций с векторами и матрицами.
2.1 Основные теоретические сведения
По умолчанию все числовые переменные в MATLAB считаются матрицами, так что скалярная величина есть матрица первого порядка, а векторы являются матрицами, состоящими из одного столбца или одной строки. Матрицу можно ввести, задав ее элементы или считав данные из файла, а также в результате обращения к стандартной или написанной пользователем функции.
Матричные данные размещаются в памяти последовательно по столбцам. Элементы матрицы в пределах строки отделяются пробелами или запятыми. Непосредственное задание матрицы можно осуществить несколькими способами. Например, вектор-столбец, то есть матрица, вторая размерность которой равна единице, может быть присвоена переменной А вводом одной строки:
>> A=[7+4i; 4; 3.2] % Ввод вектора-столбца
A =
7.0000 + 4.0000i
4.0000
3.2000
или вводом нескольких строк
>> A = [ % ввод вектора по строкам
7+4i
4
3.2];
Векторы могут быть сформированы как диапазоны – при помощи двоеточий, разделяющих стартовое значение, шаг и предельное значение. Если величина шага отсутствует, то по умолчанию его значение равно единице.
В результате n:m:k будет сформирован вектор, последний элемент которого не больше k для положительного шага m, и не меньше – для отрицательного: [n, n+m,n+m+m,…]
Например:
>> a=1:2:5
a =
1 3 5
Задание диапазона используется также при организации цикла.
В таблице 2.1 представлен некоторый набор функций для создания матриц специального вида.
Таблица 2.1. Функции описания матриц
Функция | Описание |
eye(m,n) | Единичная матрица размерности m×n |
zeros(m,n) | Нулевая матрица размерности m×n |
ones(m,n) | Матрица, состоящая из одних единиц размерности m×n |
rand(m,n) | Возвращает матрицу случайных чисел равномерно распределенных в диапазоне от 0 до 1, размерность m×n |
randn(m, n) | Возвращает матрицу размерности m×n, состоящих из случайных чисел, имеющих гаусовское распределение |
tril(A), triu(A) | Выделение нижней треугольной и верхней треугольной частей матрицы A |
inv(A) | Нахождение обратной матрицы A |
det(A) | Нахождение определителя (детерминанта) квадратной матрицы A |
Обращение к элементу матрицы производится по правилу, – в круглых скобках после имени матрицы даются индексы, которые должны быть положительными целыми числами, указывающими номер строки и через запятую, номер столбца. Например, А(2,1) означает элемент из второй строки первого столбца матрицы А.
Для дальнейших примеров введем матрицу 2×2:
>> A=[1 2+5*i; 4.6 3]
A =
1.0000 2.0000 + 5.0000i
4.6000 3.0000
Чтобы изменить элемент матрицы, ему нужно присвоить новое значение:
>> A(2,2)=10 % Второй элемент второй строки
A =
1.0000 2.0000 + 5.0000i
4.6000 10.0000
Размер матрицы можно уточнить по команде size, а результат команды size можно использовать для организации новой матрицы.
Например, нулевая матрица того же порядка, что и матрица А, будет сформирована по команде
>> A2=zeros(size(A))
A2 =
0 0
0 0
С помощью двоеточия легко выделить часть матрицы. Например, вектор из первых двух элементов второго столбца матрицы A задаётся выражением:
>> A(1:2, 2)
ans =
2.0000 + 5.0000i
10.0000
Двоеточие само по себе означает строку или столбец целиком. Для удаления элемента вектора достаточно присвоить ему пустой массив – пару квадратных скобок []. Чтобы вычеркнуть одну или несколько строк (столбцов) матрицы нужно указать диапазон удаляемых строк (столбцов) для одной размерности и поставить двоеточие для другой размерности. Для нахождения длины вектора можно воспользоваться также командой length.
Набор арифметических операций в MATLAB для работы с матрицами состоит из стандартных операций сложения – вычитания, умножения – деления, операции возведения в степень и дополнены специальными матричными операциями (табл.2.2). Если операция применяется к матрицам, размеры которых не согласованы, то будет выведено сообщение об ошибке.
Для поэлементного выполнения операций умножения, деления и возведения в степень применяются комбинированные знаки (точка и знак операции). Например, если за матрицей стоит знак (^), то она возводится в степень, а комбинация (.^) означает возведение в степень каждого элемента матрицы. При умножении (сложении, вычитании, делении) матрицы на число соответствующая операция всегда производится поэлементно.
Таблица 2.2 Знаки операций
Символ | Назначение |
+,- | Символы плюс и минус обозначают знак числа или операцию сложения и вычитания матриц, причем матрицы должны быть одной размерности |
* | Знак умножения обозначает матричное умножение, для поэлементного умножения матрицы применяется комбинированный знак (.*) |
‘ | Апостроф обозначает операцию транспонирования (вместе с комплексным сопряжением), транспонирование без вычисления сопряжения обозначается при помощи комбинированного знака (.’) |
/ | Левое деление |
\ | Правое деление |
^ | Оператор возведения в степень, для поэлементного возведения в степень применяется комбинированный знак (.^) |
Проиллюстрируем различие обычного и поэлементного умножений при помощи следующего примера.
Введём матрицу H размера 2х2 и матрицу D из единиц той же размерности:
>> H=[0 1; 2 3], D=ones(size(H))
H =
0 1
2 3
D =
1 1
1 1
Перемножим матрицы, используя обычное умножение:
>> H*D
ans =
1 1
5 5
Теперь применим поэлементную операцию:
>> H.*D
ans =
0 1
2 3
Система MATLAB имеет ряд функций, предназначенных для обработки данных, заданных в матричной или векторной форме (таблица 2.3).
Таблица 2.3 Функции для работы с матрицами
Функция | Описание |
size(A) | Возвращает массив, состоящий из числа строк и числа столбцов матрицы. |
sum(A) | Возвращает сумму всех элементов по столбцу |
mean(A) | Возвращает среднее значение столбца матрицы |
std(A) | Возвращает среднеквадратическое отклонение столбца матрицы |
min(A), max(A) | Возвращает минимум и максимум соответственно, по столбцу матрицы |
sort(A) | Сортирует столбец матрицы по возрастанию |
prod(A) | Вычисляет произведение всех элементов столбцов |
Символы и текстовые строки в MATLAB вводятся при помощи простых кавычек. Во внутреннем представлении символы даны целыми числами. Конвертировать массив символов в числовую матрицу позволяет команда double. Обратная операция совершается по команде char. Печатаемые символы из стандартного набора ASCII представлены числами от 32 до 255.
Приведем примеры для данных команд. Вначале введем строку:
>> s = ‘Привет’
s =
Привет
Отметим, что для ввода русских букв следует выбрать в меню File/ Preferences/ Command Windows Font шрифт с русской кодировкой.
>> h = [v + ‘ от MATLAB’]
v =
Привет от MATLAB
Тот же результат получится, если вместо переменной v использовать строковую переменную s.
Для перевода численных данных в строковые переменные имеется ряд команд преобразования. В таблице 2.4 приведены некоторые функции для этих и обратных операций, а полных список можно получить по команде help strfun.
Таблица 2.4 Функции работы со строковыми переменными
Функция | Действие |
num2str | Перевод числа в строку |
int2str | Перевод целого числа в строку |
mat2str | Преобразование матрицы в строку |
str2mat | Объединение строк в матрицу |
str2num | Преобразование строки в число |
strcat | Объединение строк |
studfiles.net
Лекция № 11 Ознакомление с пакетом Matlab. Выражения
Основные возможности пакета Matlab
Наборы инструментов пакета Matlab
Структура и рабочие окна пакета Matlab
Работа в командном режиме
Основные элементы языка программирования Matlab
1. Основные возможности пакета Matlab
MATLAB (сокращение от англ. «Matrix Laboratory») — пакет прикладных программ для решения задач технических вычислений и одноименный язык программирования, используемый в этом пакете. MATLAB используют более 1 000 000 инженерных и научных работников, он работает на большинстве современных операционных систем, включая Linux, Mac OS, Solaris (начиная с версии R2010b поддержка Solaris прекращена) и Microsoft Windows.
История. MATLAB как язык программирования был разработан Кливом Моулером (англ. Cleve Moler) в конце 1970-х годов когда он был деканом факультета компьютерных наук в Университете Нью-Мексико. Целью разработки служила задача дать студентам факультета возможность использования программных библиотек Linpack и EISPACK без необходимости изучения Фортрана. Вскоре новый язык распространился среди других университетов и был с большим интересом встречен учеными, работающими в области прикладной математики. До сих пор в Интернете можно найти версию 1982 года, написанную на Фортране, распространяемую с открытым исходным кодом. Инженер Джон Литтл (англ. John N. (Jack) Little) познакомился с этим языком во время визита Клива Моулера в Стэндфордский университет в 1983 году. Поняв, что новый язык обладает большим коммерческим потенциалом, он объединился с Кливом Моулером и Стивом Бангертом (англ. Steve Bangert). Совместными усилиями они переписали MATLAB на C и основали в 1984 компанию The MathWorks для дальнейшего развития. Эти переписанные на С библиотеки долгое время были известны под именем JACKPAC. Первоначально MATLAB предназначался для проектирования систем управления (основная специальность Джона Литтла), но быстро завоевал популярность во многих других научных и инженерных областях. Он также широко использовался и в образовании, в частности, для преподавания линейной алгебры и численных методов.
Описание языка MATLAB. Язык MATLAB является высокоуровневым интерпретируемым языком программирования, включающим основанные на матрицах структуры данных, широкий спектр функций, интегрированную среду разработки, объектно-ориентированные возможности и интерфейсы к программам, написанным на других языках программирования.
Программы, написанные на MATLAB, бывают двух типов — функции и скрипты.
Функции имеют входные и выходные аргументы, а также собственное рабочее пространство для хранения промежуточных результатов вычислений и переменных.
Скрипты же используют общее рабочее пространство. Как скрипты, так и функции не компилируются в машинный код и сохраняются в виде текстовых файлов.
Существует также возможность сохранять так называемые pre-parsed программы — функции и скрипты, обработанные в вид, удобный для машинного исполнения. В общем случае такие программы выполняются быстрее обычных, особенно если функция содержит команды построения графиков.
Основной особенностью языка MATLAB являются его широкие возможности по работе с матрицами, которые создатели языка выразили в лозунге «думай векторно» (англ. Think vectorized).
Применение MATLAB.
Математика и вычисления. MATLAB предоставляет пользователю большое количество (несколько сотен) функций для анализа данных, покрывающие практически все области математики, в частности:
Матрицы и линейная алгебра — алгебра матриц, линейные уравнения, собственные значения и вектора, сингулярности, факторизация матриц и другие.
Многочлены и интерполяция — корни многочленов, операции над многочленами и их дифференцирование, интерполяция и экстраполяция кривых и другие.
Математическая статистика и анализ данных — статистические функции, статистическая регрессия, цифровая фильтрация, быстрое преобразование Фурье и другие.
Обработка данных — набор специальных функций, включая построение графиков, оптимизацию, поиск нулей, численное интегрирование (в квадратурах) и другие.
Дифференциальные уравнения — решение дифференциальных и дифференциально-алгебраических уравнений, дифференциальных уравнений с запаздыванием, уравнений с ограничениями, уравнений в частных производных и другие.
Разреженные матрицы — специальный класс данных пакета MATLAB, использующийся в специализированных приложениях.
Разработка алгоритмов. MATLAB предоставляет удобные средства для разработки алгоритмов, включая высокоуровневые с использованием концепций объектно-ориентированного программирования. В нем имеются все необходимые средства интегрированной среды разработки, включая отладчик и профайлер. Функции для работы с целыми типами данных облегчают создание алгоритмов для микроконтроллеров и других приложений, где это необходимо.
Визуализация данных. В составе пакета MATLAB имеется большое количество функций для построения графиков, в том числе трехмерных, визуального анализа данных и создания анимированных роликов.
Встроенная среда разработки позволяет создавать графические интерфейсы пользователя с различными элементами управления, такими как кнопки, поля ввода и другими.
Независимые приложения. Программы MATLAB, как консольные, так и с графическим интерфейсом пользователя, могут быть собраны с помощью компоненты MATLAB Compiler в независимые от MATLAB исполняемые приложения или динамические библиотеки, для запуска которых на других компьютерах, однако, требуется установка свободно распространяемой среды MATLAB Compiler Runtime (MCR).
Внешние интерфейсы. Пакет MATLAB включает различные интерфейсы для получения доступа к внешним подпрограммам, написанным на других языках программирования, данным, клиентам и серверам, общающимся через технологии Component Object Model или Dynamic Data Exchange, а также периферийным устройствам, которые взаимодействуют напрямую с MATLAB. Многие из этих возможностей известны под названием MATLAB API.
COM. Пакет MATLAB предоставляет доступ к функциям, позволяющим создавать, манипулировать и удалять COM-объекты (как клиенты, так и серверы). Поддерживается также технология ActiveX. Все COM-объекты принадлежат к специальному COM-классу пакета MATLAB. Все программы, имеющие функции контроллера автоматизации (англ.Automation controller) могут иметь доступ к MATLAB как к серверу автоматизации (англ.Automation server).
.NET. Пакет MATLAB в Microsoft Windows предоставляет доступ к программной платформе .NET Framework. Имеется возможность загружать .NET сборки (Assemblies) и работать с объектами .NET классов из среды MATLAB. В версии MATLAB 7.11 (R2010b) поддерживается .NET Framework версий 2.0, 3.0, 3.5 и 4.0.
DDE. Пакет MATLAB содержит функции, которые позволяют ему получать доступ к другим приложениям среды Windows, равно как и этим приложениям получать доступ к данным MATLAB, посредством технологии динамического обмена данными (DDE). Каждое приложение, которое может быть DDE-сервером, имеет свое уникальное идентификационное имя. Для MATLAB это имя —Matlab.
Веб-сервисы. В MATLAB существует возможность вызывать методы веб-сервисов. Специальная функция создает класс, основываясь на методах API веб-сервиса.
MATLAB взаимодействует с клиентом веб-сервиса с помощью принятия от него посылок, их обработки и посылок ответа. Поддерживаются следующие технологии: Simple Object Access Protocol (SOAP) и Web Services Description Language (WSDL).
COM-порт. Интерфейс для последовательного порта пакета MATLAB обеспечивает прямой доступ к периферийным устройствам, таким как модемы, принтеры и научное оборудование, подключающееся к компьютеру через последовательный порт (COM-порт). Интерфейс работает путем создания объекта специального класса для последовательного порта. Имеющиеся методы этого класса позволяют считывать и записывать данные в последовательный порт, использовать события и обработчики событий, а также записывать информацию на диск компьютера в режиме реального времени. Это бывает необходимо при проведении экспериментов, симуляции систем реального времени и для других приложений.
MEX-файлы. Пакет MATLAB включает интерфейс взаимодействия с внешними приложениями, написанными на языках C и Фортран. Осуществляется это взаимодействие через MEX-файлы. Существует возможность вызова подпрограмм, написанных на C или Фортране из MATLAB, как будто это встроенные функции пакета. MEX-файлы представляют собой динамически подключаемые библиотеки, которые могут быть загружены и исполнены интерпретатором, встроенным в MATLAB. MEX-процедуры имеют также возможность вызывать встроенные команды MATLAB.
DLL. Интерфейс MATLAB, относящийся к общим DLL позволяет вызывать функции, находящиеся в обычных динамически подключаемых библиотеках, прямо из MATLAB. Эти функции должны иметь C-интерфейс.
Кроме того, в MATLAB имеется возможность получить доступ к его встроенным функциям через C-интерфейс, что позволяет использовать функции пакета во внешних приложениях, написанных на C. Эта технология в MATLAB называется C Engine.
Альтернативные пакеты. Существует большое количество программных пакетов для решения задач численного анализа. Многие из таких пакетов являются свободным программным обеспечением.
Совместимые с MATLAB на уровне языка программирования:
GNU Octave
FreeMat
Maxima
Scilab
Близкие по функциональности:
R,SиSPlus
APLи его потомки: напримерJ
Python, при использовании пакета программPython(x,y), а также с такими библиотеками какNumPy,SciPyиmatplotlibреализует сходные возможности.
IDL(англ.Interactive Data Language, интерактивный язык описания данных), когда-то был коммерческим конкурентом MATLAB, сейчас остается серьезным конкурентом во многих прикладных областях, хотя его доля на рынке программных продуктов для численного анализа резко упала.
Fortress, язык программирования, созданный Sun Microsystems, является наследником Фортрана, но с ним не совместим.
При необходимости разработки больших проектов для численного анализа возможно использование языков программирования общего назначения, поддерживающих статическую типизацию и модульную структуру. Примерами могут служить Modula-3,Haskell,Ада,Java. При этом рекомендуется использовать известные в научно-инженерной среде специализированные библиотеки.
2. Наборы инструментов пакета Matlab
В Matlab важная роль отводится специализированным группам программ, называемых toolboxes. Toolboxes — это всесторонняя коллекция функций (m-файлов), написанных на языке MATLAB для решения определенного класса задач. Компания Mathworks поставляет наборы инструментов, которые используются во многих областях, включая следующие:
Цифровая обработка сигналов, изображений и данных: DSP Toolbox, Image Processing Toolbox, Wavelet Toolbox, Communication Toolbox, Filter Design Toolbox — наборы функций, позволяющих решать широкий спектр задач обработки сигналов, изображений, проектирования цифровых фильтров и систем связи.
Системы управления: Control Systems Toolbox, µ-Analysis and Synthesis Toolbox, Robust Control Toolbox, System Identification Toolbox, LMI Control Toolbox, Model Predictive Control Toolbox, Model-Based Calibration Toolbox — наборы функций, облегчающих анализ и синтез динамических систем, проектирование, моделирование и идентификацию систем управления, включая современные алгоритмы управления, такие как робастное управление, H∞-управление, ЛМН-синтез,µ-синтези другие.
Финансовый анализ: GARCH Toolbox, Fixed-Income Toolbox, Financial Time Series Toolbox, Financial Derivatives Toolbox, Financial Toolbox, Datafeed Toolbox — наборы функций, позволяющие быстро и эффективно собирать, обрабатывать и передавать различную финансовую информацию.
Сбор и анализ экспериментальных данных: Data Acquisition Toolbox, Image Acquisition Toolbox, Instrument Control Toolbox, Link for Code Composer Studio — наборы функций, позволяющих сохранять и обрабатывать данные, полученные в ходе экспериментов, в том числе в реальном времени. Поддерживается широкий спектр научного и инженерного измерительного оборудования.
Визуализация и представление данных: Virtual Reality Toolbox — позволяет создавать интерактивные миры и визуализировать научную информацию с помощью технологий виртуальной реальности и языка VRML.
Средства разработки: MATLAB Builder for COM, MATLAB Builder for Excel, MATLAB Builder for NET, MATLAB Compiler, Filter Design HDL Coder — наборы функций, позволяющих создавать независимые приложения из среды MATLAB.
Взаимодействие с внешними программными продуктами: MATLAB Report Generator, Excel Link, Database Toolbox, MATLAB Web Server, Link for ModelSim — наборы функций, позволяющие сохранять данные таким образом, чтобы другие программы могли с ними работать.
Научные и математические пакеты: Bioinformatics Toolbox, Curve Fitting Toolbox, Fixed-Point Toolbox, Fuzzy Logic Toolbox, Genetic Algorithm and Direct Search Toolbox, OPC Toolbox, Optimization Toolbox, Partial Differential Equation Toolbox, Spline Toolbox, Statistic Toolbox, RF Toolbox — наборы специализированных математических функций, позволяющие решать широкий спектр научных и инженерных задач, включая разработку генетических алгоритмов, решения задач в частных производных, целочисленные проблемы, оптимизацию систем и другие.
Помимо вышеперечисленных, существуют тысячи других наборов инструментов для MATLAB, написанных другими компаниями и энтузиастами.
studfiles.net
Лекция 1. Введение в MATLAB
Лекция 1
Для очистки рабочей области используется функция clear в разных формах, например:
clear – уничтожение определений всех переменных;clear х – уничтожение определения переменнойх;
clear а, b, с – уничтожение определений нескольких переменных.
Уничтоженная (стертая в рабочей области) переменная становится неопределенной. Использовать неопределенные переменные нельзя, и такие попытки будут сопровождаться выдачей сообщений об ошибке.
3.5. Операторы и функции.
Оператор – это специальное обозначение для определенной операции над данными –операндами. Например, простейшими арифметическими операторами являются знаки суммы+, вычитания-,умножения* и деления/. Операторы используются совместно с операндами. Например, в выражении2+3 знак+ является оператором сложения, а числа2 и3 – операндами.
Следует отметить, что большинство операторов относится к матричным операциям, что может служить причиной серьезных недоразумений. Например, операторы умножения * и деления/ вычисляют произведение и частное от деления двух массивов, векторов или матриц. Есть ряд специальных операторов, например, оператор\ означает делениесправа налево, а операторы.* и
./ означают, соответственно,поэлементное умножение ипоэлементное деление массивов. Полный список операторов можно получить, используя команду
>> help ops
Постепенно мы рассмотрим все операторы системы MATLAB и обсудим особенности их применения. А пока приведем только часть полного списка операторов, содержащую арифметические операторы:
+ сложение,- вычитание,
* матричное умножение,/ матричное деление,\ обратное деление,^ возведение в степень,’ транспонирование
.* поэлементное умножение,
./ поэлементное деление,
.\ обратное поэлементное деление,
.^ поэлементное возведение в степень
.’ поэлементное транспонирование.
Приоритет в выполнении арифметических операций обычный: сначала (т.е. самый высший приоритет) – возведение в степень, затем – умножение и деление, и потом – сложение и вычитание. Операции одинакового приоритета выполняются слева направо, но круглые скобки могут изменить этот порядок.
Функции – это имеющие уникальные имена объекты, выполняющие определенные преобразования своих аргументов и при этом возвращающие результаты этих преобразований.Возврат результата — отличительная черта функций. При этом результат вычисления функции с одним выходным параметром подставляется на место ее вызова, что позволяет использовать функции в математических выражениях, например функциюsin в2*sin(pi/2).
Функции в общем случае имеют список аргументов (параметров), заключенный в круглые скобки. Например, функция Бесселя записывается как bessel(NU,X). В данном случае список
studfiles.net
Основы работы в matlab
33
М ИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Государственное образовательное учреждение
высшего профессионального образования
САМАРСКИЙ ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Филиал в г. Сызрани
Методические указания к лабораторной работе
Составители: Митришкина М.Е.,
Тамьярова М.В., Тамьяров А.В.
Сызрань 2006
ОСНОВЫ РАБОТЫ В MATLAB
Цель работы – изучение функциональных возможностей математического пакета MATLAB и приобретение навыков практической работы по вводу и редактированию формул и выполнению элементарных вычислений.
Окно программы
Запуск программы MATLAB производится нажатием кнопки Пуск/Программы/MATLAB Release 12/MATLAB R 12.
!! Запустите программу MATLAB.
При запуске MATLAB на экране появляется командное окно MATLAB Command Window.Окно MATLAB Command Window состоит из следующих основных элементов:
меню;
панели с кнопками;
рабочей области с командной строкой, в которой находится мигающий вертикальный курсор;
строки состояния.
Рабочее пространство и численные расчеты в МАТLАВ
Рабочее пространство МАТLАВ
Общение пользователя с программой происходит с помощью команд, набираемых в командной строке. Командная строка системы МАТLАВ начинается со знака приглашения »(рrоmpt), после которого можно записать любое алгебраическое выражение, т.е. выражение, состоящее из чисел, имен переменных и знаков операций. Для того чтобы увидеть результат вычисления математического выражения, которое вводится после знака », нужно нажать клавишу Еntеr. После вычисления в нижней части экрана появится строка для ввода новых данных, которая также начинается со знака приглашения.
!! Введите на поле нового документа 3+5 и нажмите Еntеr.
Что сделала программа MATLAB? Сначала она вычислила сумму 3+5, затем записала результат в специальную системную переменную ans и вывела ее значение, равное 8, в командное окно. Ниже ответа расположена командная строка с мигающим курсором, обозначающая, что MATLAB готова к дальнейшим вычислениям. Можно набирать в командной строке новые выражения и находить их значения.
Если требуется продолжить работу с предыдущим выражением, например, вычислить (3+5)/4, то проще всего воспользоваться уже имеющимся результатом, который хранится в переменной ans.
!! Наберите в командной строке ans/4 и нажмите Enter.
!! Присвойте переменной a полученный результат.
Для того чтобы ввести в строке ввода значения нескольких переменных подряд, между выражениями ставится знак «;». Необходимо отметить, что знак «;» используется также для того, чтобы система не выводила на экран результат после нажатия клавиши Enter.
!! Введите в одной строке b=5, c=10, k=2.
Вся информация, которая набирается в строке ввода, запоминается в специальной области памяти, называемой стеком команд. С помощью нажатия клавиш управления курсором ↑или ↓ можно вернуть в строку ввода ранее набранные команды.
!! Попробуйте просмотреть ранее введенные команды с помощью этих клавиш, а затем вернитесь к чистой командной строке.
Расположение информации, которая отображена в рабочем окне МАТLАВ, можно условно разделить на две зоны: зону просмотра и зону ввода (или редактирования) информации. В зоне просмотра можно выделять (с помощью мыши) любую информацию и копировать ее в буфер обмена, однако в ней ничего нельзя исправлять. В свою очередь, зона ввода занимает последнюю строку рабочего окна. В ней можно вводить и редактировать набранные выражения.
Для просмотра рабочей области удобно использовать полосы скроллинга или клавиши Ноmе, Еnd для перемещения влево или вправо и Page Up и Page Down для перемещения вверх или вниз. Если вдруг после перемещения по рабочей области командного окна пропала командная строка с мигающим курсором, просто нажмите Еnter.
Важно запомнить, что набор любой команды или выражения должен заканчиваться нажатием на Enter, для того, чтобы программа MATLAB выполнила эту команду или вычислила выражение.
Иногда работа в системе МАТLАВ существенно замедляется. Это происходит из-за того, что в специальной области памяти компьютера запоминается огромное количество значений всех переменных, вычисленных в течение текущего сеанса работы. Данная область называется рабочим пространством системы МАТLАВ. Для того чтобы скорость работы не замедлялась, переменные, которые уже не нужны для работы, необходимо стирать из памяти компьютера. Это делается с помощью команды сlеаr, имеющей следующий синтаксис:
сlеаг(‘имя1′ ,’имя2’ ,…) .
Указанная команда удаляет из рабочего пространства переменные с именами имя1, имя2 и т.д.
Выполнив команду who, можно узнать, какие переменные остались в рабочем пространстве.
!! Выполните команду who.
!! Удалите из памяти переменные b и c.
!! Проверьте результат.
Команда whos позволяет получить более подробную информацию о переменных в виде таблицы.
Первый столбик Name состоит из имен используемых переменных. То, что содержится в столбике Size, по существу, определяется основным принципом работы MATLAB. Программа MATLAB все данные представляет в виде массивов. Переменные а1, а2 и а3 являются двумерными массивами размера один на один. Каждая из переменных занимает по восемь байтов, как указано в столбике Bytes. Наконец, в последнем столбике Class указан тип переменных — double array, т. е. массив, состоящий из чисел двойной точности. В строке под таблицей написано, что в итоге три элемента, т. е. переменные, занимают двадцать четыре байта. Оказывается, что представление всех данных в виде массивов дает определенные преимущества.
Удалить из памяти компьютера все ранее использованные переменные можно, выполнив команду clear без указания их имен и без скобок.
Команда сlс очищает видимую часть рабочего пространства.
Для просмотра значения какой-либо переменной, содержащейся в рабочем пространстве, достаточно набрать ее имя и нажать кнопку Еntеr.
!! Попробуйте просмотреть значение переменной b.
Система MATLAB выведет сообщение о неопределенности переменной.
В MATLAB имеется другое удобное средство для просмотра переменных рабочей среды – окно Workspace, для перехода к которому следует активизировать одноименную закладку в меню Veiw.
!! Откройте окно Workspace.
Двойной щелчок по строке соответствующей, каждой переменной приводит к отображению её содержимого в отдельном окне, что особенно полезно при работе с массивами. Панель инструментов окна Workspace позволяет удалить лишние переменные, сохранить и открыть рабочую среду.
studfiles.net