Функция хевисайда в matlab

Функция хевисайда в matlab

MatLab содержит в себе все распространенные математические функции, которые доступны по их имени при реализации алгоритмов. Например, функция sqrt() позволяет вычислять квадрат числа и может быть использована в программе следующим образом:

x = 2;
y = 4;
d = sqrt(x^2+y^2); %вычисление евклидового расстояния

Аналогичным образом вызываются и все другие математические функции, представленные в табл. 1.2.

Таблица 1.2. Основные математические функции MatLab

sqrt(x) вычисление квадратного корня
exp(x) возведение в степень числа e
pow2(x) возведение в степень числа 2
log(x) вычисление натурального логарифма
log10(x) вычисление десятичного логарифма
log2(x) вычисление логарифма по основанию 2
sin(x) синус угла x, заданного в радианах
cos(x) косинус угла x, заданного в радианах
tan(x) тангенс угла x, заданного в радианах
cot(x) котангенс угла x, заданного в радианах
asin(x) арксинус
acos(x) арккосинус
atan(x) арктангенс
pi число пи
round(x) округление до ближайшего целого
fix(x) усечение дробной части числа
floor(x) округление до меньшего целого
ceil(x) округление до большего целого
mod(x) остаток от деления с учётом знака
sign(x) знак числа
factor(x) разложение числа на простые множители
isprime(x) истинно, если число простое
rand генерация псевдослучайного числа с равномерным законом распределения
randn генерация псевдослучайного числа с нормальным законом распределения
abs(x) вычисление модуля числа

Почти все элементарные функции допускают вычисления и с комплексными аргументами. Например:

res = sin(2+3i)*atan(4i)/(1 — 6i); % res = -1.8009 — 1.9190i

Ниже показан пример задания вектора с именем a, и содержащий значения 1, 2, 3, 4:

a = [1 2 3 4]; % вектор-строка

Для доступа к тому или иному элементу вектора используется следующая конструкция языка:

disp( a(1) ); % отображение значения 1-го элемента вектора
disp( a(2) ); % отображение значения 2-го элемента вектора
disp( a(3) ); % отображение значения 3-го элемента вектора
disp( a(4) ); % отображение значения 4-го элемента вектора

т.е. нужно указать имя вектора и в круглых скобках написать номер индекса элемента, с которым предполагается работать. Например, для изменения значения 2-го элемента массива на 10 достаточно записать

a(2) = 10; % изменение значения 2-го элемента на 10

Часто возникает необходимость определения общего числа элементов в векторе, т.е. определения его размера. Это можно сделать, воспользовавшись функцией length() следующим образом:

N = length(a); % (N=4) число элементов массива а

Если требуется задать вектор-столбец, то это можно сделать так

a = [1; 2; 3; 4]; % вектор-столбец

b = [1 2 3 4]’; % вектор-столбец

при этом доступ к элементам векторов осуществляется также как и для векторов-строк.

Следует отметить, что векторы можно составлять не только из отдельных чисел или переменных, но и из векторов. Например, следующий фрагмент программы показывает, как можно создавать один вектор на основе другого:

a = [1 2 3 4]; % начальный вектор a = [1 2 3 4]
b = [a 5 6]; % второй вектор b = [1 2 3 4 5 6]

Здесь вектор b состоит из шести элементов и создан на основе вектора а. Используя этот прием, можно осуществлять увеличение размера векторов в процессе работы программы:

Читайте также:  Как сделать свою игру по сети

a = [a 5]; % увеличение вектора а на один элемент

Недостатком описанного способа задания (инициализации) векторов является сложность определения векторов больших размеров, состоящих, например, из 100 или 1000 элементов. Чтобы решить данную задачу, в MatLab существуют функции инициализации векторов нулями, единицами или случайными значениями:

a1 = zeros(1, 100); % вектор-строка, 100 элементов с
% нулевыми значениями
a2 = zeros(100, 1); % вектор-столбец, 100 элементов с
% нулевыми значениями
a3 = ones(1, 1000); % вектор-строка, 1000 элементов с
% единичными значениями
a4 = ones(1000, 1); % вектор-столбец, 1000 элементов с
% единичными значениями
a5 = rand(1000, 1); % вектор-столбец, 1000 элементов со
% случайными значениями

Матрицы в MatLab задаются аналогично векторам с той лишь разницей, что указываются обе размерности. Приведем пример инициализации единичной матрицы размером 3х3:

E = [1 0 0; 0 1 0; 0 01]; % единичная матрица 3х3

E = [1 0 0
0 1 0
0 0 1]; % единичная матрица 3х3

Аналогичным образом можно задавать любые другие матрицы, а также использовать приведенные выше функции zeros(), ones() и rand(), например:

A1 = zeros(10,10); % нулевая матрица 10х10 элементов

A2 = zeros(10); % нулевая матрица 10х10 элементов
A3 = ones(5); % матрица 5х5, состоящая из единиц
A4 = rand(100); % матрица 100х100, из случайных чисел

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

A = [1 2 3;4 5 6;7 8 9]; % матрица 3х3
disp( A(2,1) ); % вывод на экран элемента, стоящего во
% второй строке первого столбца, т.е. 4
disp( A(1,2) ); % вывод на экран элемента, стоящего в
% первой строке второго столбца, т.е. 2

Также возможны операции выделения указанной части матрицы, например:

B1 = A(:,1); % B1 = [1; 4; 7] – выделение первого столбца
B2 = A(2,:); % B2 = [1 2 3] – выделение первой строки
B3 = A(1:2,2:3); % B3 = [2 3; 5 6] – выделение первых двух
% строк и 2-го и 3-го столбцов матрицы А.

Размерность любой матрицы или вектора в MatLab можно определить с помощью функции size(), которая возвращает число строк и столбцов переменной, указанной в качестве аргумента:

a = 5; % переменная а
A = [1 2 3]; % вектор-строка
B = [1 2 3; 4 5 6]; % матрица 2х3
size(a) % 1х1
size(A) % 1х3
size(B) % 2х3

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Увлечёшься девушкой-вырастут хвосты, займёшься учебой-вырастут рога 10407 — | 8025 — или читать все.

Heaviside step function

Syntax

Description

H = heaviside( x ) evaluates the Heaviside step function (also known as the unit step function) at x . The Heaviside function is a discontinuous function that returns 0 for x , 1/2 for x = 0 , and 1 for x > 0 .

Examples

Evaluate Heaviside Function for Symbolic and Numeric Arguments

The heaviside function returns 0, 1/2, or 1 depending on the argument value. If the argument is a floating-point number (not a symbolic object), then heaviside returns floating-point results.

Evaluate the Heaviside step function for a symbolic input sym(-3) . The function heaviside(x) returns 0 for x .

Читайте также:  Сим карта удалена что значит

Evaluate the Heaviside step function for a symbolic input sym(3) . The function heaviside(x) returns 1 for x > 0 .

Evaluate the Heaviside step function for a symbolic input sym(0) . The function heaviside(x) returns 1/2 for x = 0 .

For a numeric input x = 0 , the function heaviside(x) returns floating-point results.

Use Assumptions on Symbolic Variables

heaviside takes into account assumptions on variables.

Create a symbolic variable x and assume that it is less than 0.

Evaluate the Heaviside step function for the symbolic input x .

For further computations, clear the assumptions on x by recreating it using syms .

Plot Heaviside Function

Plot the Heaviside step function for x and x — 1 .

Evaluate Heaviside Function for Symbolic Matrix

Evaluate the Heaviside function for a symbolic matrix. When the input argument is a matrix, heaviside computes the Heaviside function for each element.

Differentiate and Integrate Expressions Involving Heaviside Function

Compute derivatives and integrals of expressions involving the Heaviside function.

Find the first derivative of the Heaviside function. The first derivative of the Heaviside function is the Dirac delta function.

Evaluate the integral ∫ — ∞ ∞ e — x H ( x ) dx .

Find Fourier and Laplace Transforms of Heaviside Function

Find the fourier transform of the Heaviside function.

Find the laplace transform of the Heaviside function.

Change Value of Heaviside Function at Origin

The default value of the Heaviside function at the origin is 1/2 .

Other common values for the Heaviside function at the origin are 0 and 1. To change the value of heaviside at the origin, use sympref to set the value of the ‘HeavisideAtOrigin’ preference. Store the previous parameter value returned by sympref , so that you can restore it later.

Check the new value of heaviside at 0 .

The preferences set by sympref persist throughout your current and future MATLAB® sessions. To restore the previous value of heaviside at the origin, use the value stored in oldparam .

Alternatively, you can restore the default value of ‘HeavisideAtOrigin’ by using the ‘default’ setting.

Министерство образования Российской Федерации

Саратовский государственный технический университет

Определение временных и частотных характеристик Систем автоматического управления в Matlab

Методические указания к лабораторной работе по курсу «Теория автоматического управления» для студентов специальности 210100

Одобрено редакционно-издательским советом Саратовского государственного технического университета

Цель работы: получение навыков исследования линейных динамических моделей в программном пакете Matlab и ознакомление с временными и частотными характеристиками систем автоматического управления (САУ).

Рассмотрим динамические стационарные системы управления с одним входом и одним выходом. При этом модель одномерной САУ задана в виде комплексной передаточной функции, записанной как отношение полиномов

.

Комплексные числа, являющиеся корнями многочлена В(s), называются нулями передаточной функции, а корни многочлена A(s) – полюсами.

Читайте также:  Как установить винду на ноут через флешку

Динамические свойства САУ могут быть определены по его переходной функции и функции веса.

Пусть на вход системы поступает скачкообразное воздействие при величине скачка, равной единице u(t) = 1(t), то есть подается функция Хевисайда (рисунок 1), определяемая

Реакция САУ на единичный скачек называется переходной функцией системы и обозначается h(t). Для автоматических систем является распространенным видом входного воздействия. Как правило, подобные воздействия сопровождают процессы включения систем и вызывают переходы от одного установившегося состояния к другому.

Рисунок 1 Функция Хевисайда Рисунок 2 Функция Дирака.

Если u(t) = δ(t), то есть на вход системы поступает функция Дирака (δ-функция, импульсная функция, рисунок 2) определяемая

то реакция САУ называется импульсной переходной функцией системы (функция веса) и обозначается w(t). Для автоматических систем является менее распространенным видом входного воздействия, чем единичная ступенчатая функция. Однако для теоретического описания последних имеет существенное значение. Подобные воздействия характерны для радарных комплексов, описывают передачу импульса при упругом взаимодействии и т.д.

Импульсная и переходная функции системы связаны соотношением:

.

Функция веса связана с передаточной функцией преобразованием Лапласа:

W(s) = w(t) e st dt.

Переходная функция связана с передаточной функцией преобразованием Карсона:

W(s) = h(t) e st dt.

Благодаря широкому применению при исследовании устойчивости динамических систем и проектировании регуляторов получили распространение частотные характеристики.

Если на вход любой системы подать сигнал синусоидальной формы:

Очевидно, что выходной сигнал будет иметь ту же форму:

Зависимость же между амплитудами и фазами выходного и входного сигналов определяет ДУ движения системы.

Частотная передаточная функция получается из обычной заменой оператора Лапласа s на комплексную частоту jw, т.е. в результате перехода от изображения Лапласа к изображению Фурье:

.

При фиксированном значении ω частотная характеристика является комплексным числом, и, следовательно, может быть представлена в виде

.

– амплитудно-частотная характеристика (АЧХ);

– фазово-частотная характеристика (ФЧХ);

– вещественная частотная характеристика (ВЧХ);

– мнимая частотная характеристика (МЧХ).

Геометрическое место точек W() на комплексной плоскости при изменении ω от ω до от ω1 (обычно ω = 0, ω1 = ), называется амплитудно-фазовой характеристикой (АФХ) или частотным годографом Найквиста.

Имеет широкое практическое значение логарифмическая амплитудная характеристика, ЛАХ (диаграмма Боде), которая определяется как L = 20 lg A(ω), измеряется в децибелах и строится как функция от lg ω.

сведения о Программном обеспечении

Для выполнения лабораторной работы используется расширение Matlab Control System Toolbox (CST). CST предназначен для работы с LTI-моделями (Linear Time Invariant Models) систем управления.

В Control System Toolbox имеется тип данных, определяющих динамическую систему в виде комплексной передаточной функции. Синтаксис команды, создающий LTI-систему c одним входом и одним выходом в виде передаточной функции:

Для выполнения работы могут применяются команды, приведенные в таблице 1.

Ссылка на основную публикацию
Утилиты асус для ноутбука
Драйверы и утилиты от производителя для ноутбуков и нетбуков ASUS под операционную систему Windows 10 / 8.1 / 8 /...
Теплопроводность олова и меди
Все изделия, используемые человеком, способны передавать и сохранять температуру прикасаемого к ним предмета или окружающей среды. Способность отдачи тепла одного...
Терминальные лицензии windows server 2008 r2
Установка сервера терминалов в 2008/2008R2 2 часть / активация сервера терминалов 2008 r2 Установка сервера терминалов в 2008/2008R2 2 часть...
Утилиты для виндовс 10 64 бит
Скачать антивирус NOD32 на компьютер Windows 10 бесплатно на русском языке для защиты ноутбука или ПК от вирусов и потенциального...
Adblock detector