Разное

Matlab основные команды – Основные команды МATLAB

Команды общего назначения

ПРИЛОЖЕНИЕ.
Сведения о пакете 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. В
    командном окне задать значения
    переменных, согласно варианту задания,
    представленному в таблице 1.6.

  2. Записать
    выражение на языке 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. Выражения

  1. Основные
    возможности пакета
    Matlab

  2. Наборы инструментов
    пакета

    Matlab

  3. Структура
    и рабочие окна пакета
    Matlab

  4. Работа в командном
    режиме

  5. Основные элементы
    языка программирования
    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

Отправить ответ

avatar
  Подписаться  
Уведомление о