Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matlab_лекции Джалилова.DOC
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
273.41 Кб
Скачать

Типы м-файлов

1. М сценарии или М списки

2. М функции

  1. Характеристики М сценариев:

а) не допускает вход и выход аргументов

б) оперирует с данными из раб. области

в) предназначен для автоматизации последов-и шаблон. которые нужно выполнять много раз.

2. Характеристики М функции.

а) допускает вход и выход аргументов

б) по умолчанию внутр. переменные явл-ся локальными по отношению к функции

в) предназначена для раскрытия возможностей языка MATLAB, т. е. содержит библиотеки функций а также пакеты прикладных программ.

Структура М файла.

М-файл оформленный в виде функции состоит из следующих компонентов:

1. Строки определения ф-ций. Задают имя, кол-во и порядок следования входных и выходных аргументов

2. Первой строки комментария. Задают и определяет назначение функций. Вывод. на экран с помощью комманд look for или help<имя кат-а>.

3. Комментария, котор. выводится на экран вместе с первой строкой при использовании комманды help<имя функции>.

Тело ф-ции- это програмный код, который реалезует вычисления и присваивает значение выходным аргументам.

Стркутура М-функции.

М-ф-ция включает след. компоненты:

1. Строки определения ф-ции, котор. сообщают системе MATLAB, что файл является М-ф-цией,а также определяет список входных аргументов. Ключевое слово определения ф-ла как М-ф-ции- funktion. Если функция имеет более одного выходного аргумента список выходных аргументов помещается в квадратные скобки.

Если есть входные аргументы, то они помещаются в круглые скобки. Для отделения аргументов используются запятые.

2. Первая строка комментария. Начинается с символа % содержит текст комментария, в который обычно включается назначение ф-ции. Перв. строка текста появляется при наборе help funktion name.

3. Комментарий. Для М-файла можно создать on line подсказку вводя комментарии в более чем в одной строке. Тогда при вводе комманды help<имя ф-и> система MATLAB отображает комментарий, размещенный между строкой опред. фун-и и первой пустой строкой.

4. Оглавление каталога. Можно создать ком-й для целого каталога. Если создать файл с именем contents. m, который должен содержать только строки комментариев. Содержимое этого файла вывод-ся по комманде help<имя каталога>.

5. Тело функции, содержит программу на языке MATLAB, который выполняет вычисления и присваивает значение выходным аргументам. Операторы в теле ф-ции могут состоять из вызовов функции.

Имена М-функций.

Содержат ограничения имен переменных:

длина их не должна превышать 31 символа.

Единичная матрица.

DBSTEP Выполнить одну или несколько строк программы в режиме отладки.

Синтаксис: 1) dbstep

2) db step <количество строк>

3) db step in

1) допускают построчное исполнение М-ф информации 2)допускает исполнение сразу несколько строк 3)позволяет исполнить строку,

в к-рой присутствует вызов другой М-функции

DBCONT продолжить выполнение .Синтаксиса:dbcjnt вызывает исполнение М-функций до следушей контрольной точки установленной командой

dbstop или dbstep .

DBTIPE текстом М функции суказанием номеров

строк синтаксис:dbtype <имя функции>

dbtype <имя M-ф-и> <начало> <конец>

2 комманда позволяет ввести текст М-ф-и с указанием номеров строки. Для вывода части текста нужно указать диапозон выводимых номеров строк. Для вывода одной строки указать ее номер.

DBQUITE Выход из режима отладки. Синтаксис: dbquite. Эта комманда прекращает режим отладки и возвращает управление базисному модулю. Исполнение текущего М ф-а прерывается. Результаты не возвр.

ВРЕМЯ И ДАТЫ

Функции для обработки времени и дат.

Время и now текущее время и дата в файле

даты date текущая дата в форме строки

clock текущее время и дата в ф-и

Преобра date num перевести в N порядковой стр.

зование date str строковое представление даты

date vec векторное представление даты

Утили calendar календарь

ты weekday день недели

eamday последний день месяца

date tick дата с метками времени

Интер cputime время работы центр. процес-ра

валы tic

toc

E time

Задачи:

1) Построить график ф-ции y=sin(x)

z=cos(x)

x=[0;2п]

Задание

1) Вывести матрицу размерами 3 на 3.

2) Протранспронировать матрицу и перевести ее в матрицу В.

Ввести матрицы А и В, получить их сумму и обозначить С.

Программа дискриминанта:

=[1 2 3; 5 4 6; 7 8 9]

A=

>> z=det(A)

z=-49

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

cos

E= положительная гипербола

Е=0 парабола

Е<0- эллипс

Е= min- окруж.

Имена М-функций должны начинаться, остальные символы могут быть любой комбинацией букв. Расширение у М-ф-й -.m.

Если имя ф-ла и имя ф-ции разные, то исполняется имя ф-ла. Внутреннее имя игнорируется, хотя имя функции может не совпадать с именем ф-ла, желательно давать одинаковые имена ф-ям и ф-лам.

ОПЕРАТОР ПЕРЕКЛЮЧЕНИЯ

SWITCH... CASE... OTHERWISE... END

switch<выражение>case<значение1> инструкции otherwise инструкции end

Этот оператор выполняет ветвление в зависимости от значения искомой переменной или выражения.

Оператор переключения включает:

1) Заголовок switch за которым следует выполняемое выражение.

2) Произвольное количество группы case.

Заголовок группы состоит из слова case за которым следует возможное значение выр-я, расположенное на одной строке.

МАТРИЧНОЕ ДЕЛЕНИЕ

Имеется 2 символа матричного деления- левое и правое (\ и /).

X=A\B решение уравнения A*X=B

X=A/B решение уравнения X*A=B

Левое деление, \, определено когда В имеет столько же строк сколько А.

Правое деление, /, может быть определено в виде левого деления В/A=(A\B).

(Инвертированная матрица )

X=B/A

Задача:

Блокнот М-file

% Лабораторная работа 1

A=[5 8 -1; 1 2 1; 2 -3 2]

B=[-7; 1; 9;]

S=B\A

k=0;

for x=1;

k=k+x;

end

n=k

Общее число элементов 5,используют 80 байтов.

Сопутствуещие функции:EXP,LOG,SQRTM.

EXP Экспоненциальная функция

Синтаксис:

V=exp(Z)

Описание:

Функция V=exp(Z) вычесляет экспоненты значений элементов массива Z.

Для комплексных значений z=x+iy справедлива формула Эйлера

e^z=e^x(cos(y)+i sin(y)).

Вычесление экспоненты от матрицы реализовано с помощью специальной функции expm.

Cопутствующие функции: LOG,LOG2,LOG10,EXPM.

LOG Функция натурального логарифма

Cинтаксис:

V=log(Z)

Описание:

Функция V=log(Z) вычесляет натуральный логарифм значений элементов массива Z.

Длякомплексныч значений z=x+iy справедлива формула

ln(z)=ln(abs(z))+i atan2(y,x).

Вычесление функции натурального логарифма от матрицы реализовано с помощью специальной функции logm.

Пример:

Одна из возможностей вычесления значения числа p-это вычислить

log(-1)

log(-1)

ans=

0+3.141592653589793е+000i

Cопутствуещие функции:EXP,LOG2,LOG!0,LOGM.

POW2 Экспонента по основанию 2

Синтаксис:

V=pow2(Z) X=pow2([M,P])

Описание:

Функция V=pow2(Z) вычесляет массив степеней 2.Z.

Функция X=pow2([M,P]) для действительных массивов М и Р вычесляет массив X=M.*(2.P).

Пример:

Для компьютеров с IEEE- арифметикой, в которых определены объекты eps, realmax и realmin, функция x=pow2([m.p]) вычесляет следуещие величины :

m

p

x

1/2

1

1

pi/4

2

pi

-3/4

2

-3

1/2

-51

eps

1-eps/2

1021

realmax

1/2

-1021

realmin

Cопутствующие функции:LOG2,NEXTPOW2.

NEXTPOW2 Ближайщая степень по основанию 2

Синтаксис:

p=nextpow2(n)

p=nextpow2(x)

Описание:

Функция p=nextpow2(n) возвращает такой показатель степени p, что 2 pіn.

Футкция p=ntxtpow2(x) для одномерного массива х возвращает значение nextpow2(length(x)). Эта операция широко применяется при вычеслении быстрого

преобразования Фурье.

Пример:

Для любого целого числа n в диапазоне от 513 до 1024 функция nextpow2(n) возвращает

значения 10.

Сопутствующие функции:FFT,LOG2,POW2.

LOG2 Функция логарифма

Синтаксис:

V=log2(Z) [M,P]=log2(x)

Описание:

Функция V=log2(Z) вычесляет логарифм пооснованию 2 от значений элементов массива Z.

Функция [M,P]=log2(X) для массива Х действительных чисел возвращает массив М значений мантисс и целочисленный массив P показательстепеней,позволяющих

представить любой элементу соответствует представление {f=0, e=0}.

Примеры:

Для компьютеров с IEEE-арифметикой, в которых определены объекты eps, realmax,realmin,

функция log2 вычесляет следуещие величины:

log2(eps)=-52, log2(realmax)=1024, log2(realmin)=-1022,

а функция [M,P}=log2(X) строет следующие представления чисел

х m p

1 1/2 1

pi pi/4 2

-3 -3/4 2

eps 1/2 -51

realmax 1-eps/2 1021

realmin 1/2 -1021

Сопутствующие функции:LOG2, NEXTPOW2, POW2.

LOG !0 Функция логарифма

Синтаксис:

V=log 10(Z)

Описание:

Функция V=log 10(Z) вычесляет логарифм по основанию 10 от значений элементов массива Z

Примеры:

Для компьютеров с IEEE-арифметикой, в которых определены объекты eps, realmax,

realmin, функция log 10 вычесляет следующие величины:

log 10(eps) log 10(realmax) log 10(realmin)

-15.6536 308.2547 -307.652

Сопутствующие функции: EXP, LOG2, LOGM, POW2.

Тригонометрические функции

SIN, SINH Функции синуса

Синтаксис:

V=sin(Z)

V=sin(Z)

Описание:

Функция V=sin(Z) вычесляет синус от значение элементов массива Z.

Функция V=sinh(Z) вычесляет гиперболический синус от значений элементов массива Z.

Массив Z допускает комплексные значения; углы измераются в радионах.

Для вычесления функции от матрицы следует применять специальные функции funm или

expm.

Алгоритм:

Для вычесления функций синуса используются следуещие соотнощения:

sin(x+iy)=sin(x)ch(y)+icos(x)sh(y);

sh(z)=e^z-e^-z ;

2

sin(z)=-i sh(iz).

Cопутствующие функции: ASIN, ASIMH, CSC, CSCH, ACSC, ACSCH, EXPM, FUNM.

ASIN, ASINH Функция обратного синуса

Синтаксис:

V=asin(Z)

V+asinh(Z)

Описание:

Функция V=asin(Z) вычесляет обратную функцию синуса от значение элементов массива Z.

Функция V=asinh(Z) вычесляет обратную функцию гиперболического синуса от значений

элемента массива Z.

Массив Z допускает комплексные значения; углы V измеряются в радианах.

Функция Y=asin(X) для действительных значений -1Ј х Ј1 определена в интервале

-p/2Ј x Јp/2.

Для вычисления функций от матрицы следует применять специальную функцию funm.

Алгаритм:

Для вычисления функций обратного синуса используются следующие соотношения :

arsh(z)=ln[z+(1+z^2) ];

arcsin(z)=-i arsh(iz).

Cопутствующие функции

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]