5. Функции MATLAB. Матлаб функции


Функции matlab

Функции обработки звука

Общие функции для звука

Lin2mu Преобразование линейного звукового сигнала в сигнал по mu-закону

Mu2lin Преобразование звукового сигнала по mu-закону в линейный

Sound Преобразование вектора в звук

Soundsc Масштабирование данных и воспроизведение в виде звука

Звуковые функции, определенные как SPARCstation

Auread Чтение звукового файла NeXT/SUN (.au)

Auwrite Запись звукового файла NeXT/SUN (.au)

Звуковые Функции

Wavplay Воспроизведение записанного звука

wavread Чтение звукового файла (.wav)

wavrecord Запись звука с использованием звукового устройство ввода

wavwrite Запись звукового файла (.wav)

Функции ввода - вывода файла

Открытие файла и закрытие

fclose Закрытие одного или более открытых файлов

fopen Открытие файла, или получение информации об открытых файлах

Неотформатированный ввод - вывод

fread Чтение из файла данных в двоичном формате

fwrite Запись данных в двоичном формате в файл

Отформатированный ввод - вывод

fgetl Возврат следующей строки файла без признака конца

fgets Возврат следующей строки с признаком конца

fprintf Запись отформатированных данных в файл

fscanf Чтение отформатированных данных из файла

Позиционирование файла

feof Тест на наличие конца файла

ferror Запрос MATLAB об ошибках при вводе или выводе файла

frewind Перемотка открытого файла

fseek Установка индикатора положения файла

ftell Получение индикатора положения файла

Преобразование строк

sprintf Запись отформатированных данных в строку

sscanf Чтение строки при управлении форматом

Специализированный ввод - вывод файла

dlmread Чтение разграниченного ASCII файла в матрицу

dlmwrite Запись матрицы в разграниченный ASCII файл

hdf Интерфейс HDF

imfinfo Информация о графическом файле

imread Чтение изображения из графического файла

imwrite Запись изображения в графический файл

strread Чтение отформатированных данных из строку

textread Чтение отформатированных данных из текстового файла

wk1read Чтение матрицы из файла Lotus123 WK1

wk1write Запись матрицы в файл Lotus123 WK1

Функции MATLAB:

Математика

Элементарные матрицы и матричные преобразования

Элементарные матрицы и массивы

blkdiag Построение блочно-диагональной матрицы из входных аргументов

eye Построение единичной матрицы

linspace Генерация линейно распределенных векторов

logspace Генерация логарифмически распределенных векторов

numel Число элементов в матрице или массиве

ones Создание массива единиц

rand Создание однородно распределенных случайных чисел и массивов

randn Создание нормально распределенных случайных чисел и массивов

zeros Создание массива нолей

: (двоеточие) Регулярно распределенный вектор

Специальные переменные и константы

ans Переменная, хранящая результат последней операции

computer Идентифицирует компьютер, на котором выполняется MATLAB

eps Относительная точность с плавающей запятой

i Мнимая единица

Inf Бесконечность

inputname Ввести имя аргумента

j Мнимая единица

NaN Указание на нечисловой характер данных (Not-a-Number).

nargin, nargout Число аргументов функций

nargoutchk Число параметров вывода

pi Отношение длины окружности к ее диаметру,

realmax Самое большое положительное значение с плавающей запятой

realmin Самое малое положительное значение с плавающей запятой

studfiles.net

Основные элементы языка программирования Matlab

Как и большинство других языков программирования, Matlab предоставляет возможность использования математических выражений, но в отличие от мно­гих из них, эти выражения в Matlab включают матрицы. Основные составляющие выражения:

— переменные;

— числа;

— операторы;

— функции.

Переменные. В Matlab нет необходимости в определении типа переменных или размерно­сти. Когда Matlab встречает новое имя переменной, он автоматически создает переменную и выделяет соответствующий объем памяти. Если переменная уже существует, Matlab изменяет ее состав и если это необходимо выделяет дополнительную память. Например,

num_students = 25

создает матрицу 1x1 с именем num_students и сохраняет значение 25 в ее единственном элементе.

Имена переменных состоят из букв, цифр или символов подчеркивания. Matlab использует только первые 31 символ имени переменной. Matlab чувствителен к регистрам, он различает заглавные и строчные буквы. Поэтому A и a — не одна и та же переменная. Чтобы увидеть матрицу, связанную с переменной, просто введите название переменной.

Числа. Matlab использует принятую десятичную систему счисления, с необязатель­ной десятичной точкой и знаками плюс-минус для чисел. Научная система счисления использует букву e для определения множителя степени десяти. Мнимые числа используют i или j как суффикс. Некоторые примеры правиль­ных чисел приведены ниже:

3

-99

0.0001

9.6397238

1.60210е-20

6.02252е23

1i

-3.14159j

3e5i

Все числа для хранения используют формат long, это числа с плавающей точкой обладающие ограниченной точностью — приблизительно 16 значащих цифр и ограниченным диапазоном — приблизительно от 10-308 до 10308.

Операторы. Выражения используют обычные арифметические операции и правила стар­шинства (табл. 1).

Таблица 1

Арифметические операции пакета Matlab

Функции. Matlab предоставляет большое количество элементарных математических функций, таких как abs, sqrt, exp, sin. Вычисление квадратного корня или логарифма отрицательного числа не является ошибкой: в этом случае результатом является соответствующее комплексное число. Matlab также предоставляет и более сложные функции, включая Гамма функцию и функции Бесселя. Боль­шинство из этих функций имеют комплексные аргументы. Чтобы вывести список всех элементарных математических функций, наберите:

help elfun

Чтобы посмотреть список всех функций Matlab для анализа данных:

help datafun

Если вам нужно узнать о Statistics Toolbox, введите:

help stats

Список элементарных функций представлен в табл. 2.

Таблица 2

Элементарные функции пакета Matlab

Логарифм числа по основанию

:.

Для вывода более сложных математических и матричных функций, наберите:

help specfun

help elmat

соответственно.

Некоторые функции, такие как sqrt и sin, — встроенные. Они являются частью Matlab, поэтому они очень эффективны, но их вычислительные детали трудно доступны. В то время как другие функции, такие как gamma и sinh, реализо­ваны в m-файлах. Поэтому можно увидеть их код и, в случае необхо­димости, даже модифицировать его.

Несколько специальных функций предоставляют значения часто используемых констант:

pi

Число 3,14159265...

i или j

Мнимая единица

eps

Относительная точность числа с плавающей точкой

realmin

Наименьшее число с плавающей точкой

realmax

Наибольшее число с плавающей точкой

Inf

Бесконечность

NaN

Не число (неопределенность вида 0/0 или ∞/∞)

Бесконечность появляется при делении на ноль или при выполнении математического выражения, приводящего к переполнению, т. е. к превышению realmax. Не число (NaN) генерируется при вычислении выражений типа 0/0 или Inf/Inf, которые не имеют определенного математического значения.

Имена функций не являются зарезервированными, поэтому возможно изменять их значения на новые, например:

eps = 1.e-6

и далее использовать это значение в последующих вычислениях. Начальное значение может быть восстановлено следующим образом:

clear eps

Операторы отношения служат для сравнения двух величин, векторов или матриц, все операторы отношения имеют две сравниваемые величины и записываются, как показано в табл. 3.

Таблица 3

studfiles.net

Функции MATLAB

рица из 0 и1 (ложь илиистина). Таким образом можно с помощью одного оператораfind определить и записать сразу все индексы матрицы, удовлетворяющие некоторому условию. Если при этом вспомнить, что оператор циклаfor допускает формуfor k=KK, гдеKK - целый вектор, то удобно использовать их вместе. Например если вам необходимо выполнить<оператор> только для тех элементов матрицы, которые больше3, то удобно это сделать следующим образом:

for i=find(A>3) <оператор>

end;

В системе MATLAB существует большое количество функций, подготовленных разработчиками системы (см. п.E ). Большинство из них предоставлено в виде исходных текстов. Можно эти функции классифицировать по областям их использования (тригонометрические, спецфункции, функции линейной алгебры и т.д.), но здесь мы вкратце опишем действия функций по отношению к матричному характеру переменныхMATLAB.

5.1.Скалярные функции

Определенные функции MATLAB действуют только на скаляры, но когда аргументом их является матрица, то они действуют поэлементно. К таким функциям относятся

sin

asin

exp

abs

round

cos

acos

log (натуральнй)

sqrt

floor

tan

atan

rem (остаток)

sign

ceil

5.2. Векторные функции

Существуют другие функции, аргументами которых являются вектора (строки или столбцы), но если эти функции действуют на матрицу размера mxn (m >= 2), то они действуют постолбцово, т.е. результатом действия являетсявектор-строка,каждый элемент которой является результатом действия этой функции на соответствующий столбец. Построчное действие такой функции (если необходимо) может быть достигнуто использованием операции транспонирования. Например,mean(A’). Некоторые из этих функций приведены далее:

max

sum

median

any

min

prod

mean

all

sort

std

 

 

Например, максимальный элемент прямоугольной матрицы находится с помощью команды max(max(A)), а не с помощьюmax(A). Попробуйте сами выполнить эти операции.

5.3.Матричные функции

Наибольшую мощь системе MATLAB дают матричные функции. Наиболее употребительные приведены в следующей таблице:

eig

собственные значения и собственные вектора

chol

факторизация Холецкого

svd

сингулярная декомпозиция

inv

обратная матрица

lu

LU-факторизация

qr

QR-факторизация

hess

форма Хессенберга

schur

декомпозиция Шура

rref

приведение к треугольной форме методом Гаусса

expm

матричная экспонента

sqrtm

матричный корень квадратный

poly

характеристический полином

det

определитель

size

размерность

norm

норма вектора или матрицы

cond

число обусловленности

rank

ранг матрицы

Функции MATLAB могут иметь один или несколько результатов. Например, функцияy = eig(A), или простоeig(A) генерируетвектор-столбец,содержащий собственные значения матрицыA, в то время как оператор[U,D] = eig(A) генерирует матрицуU, чьи столбцы являются собственными векторамиA, а диагональная матрицаD содержит на главной диагонали собственные значения этой матрицы. Попробуйте вычислить это сами.

studfiles.net


Смотрите также