Блок двумерной таблицы Look-Up Table(2D)
Назначение:
Задает в табличной форме функцию двух переменных.
Параметры:
Row – Строка. Вектор значений первого аргумента. Задается аналогично параметру Vector of input values одномсерной таблицы.
Элементы вектора должны быть упорядочены по возрастанию.
Column – Столбец. Вектор значений второго аргумента. Задается аналогично предыдущему параметру.
Table – Таблица значений функции. Задается в виде матрицы. Количество строк должно быть равно числу элементов вектора Row, а количество столбцов – числу элементов вектора Column.
Правила формирования таблицы значений функции показаны в следующей таблице:
|
|
Второй аргумент (Column) |
||
3 |
7 |
9 |
||
Первый аргумент (Row) |
2 |
10 |
20 |
30 |
4 |
40 |
50 |
60 |
|
8 |
70 |
80 |
90 |
Для приведенной таблицы значения параметров блока будут следующими: Row – [2 4 8] , Column – [3 7 9] , Table – [10 20 30;40 50 60;70 80 90]
с таблицей из этого пункта.
Пример использования блока Look-Up Table(2D) показан на рисунке 9.8.5. Параметры блока заданы в соответствии с таблицей из этого пункта.
Блок интерполяции табличной функции Interpolation (n-D) using PreLook-Up
Назначение:
Вычисляет значение табличной функции по значению индекса и относительной величине входного сигнала. Используется совместно с блоками PreLook-Up Index Search.
Параметры:
Number of table dimensions – Количество размерностей таблицы (аргументов функции). Значение параметра выбирается из списка: 1, 2, 3, 4, More…(Много).
Explicit number of dimensions – Точное количество размерностей таблицы (аргументов функции). Параметр доступен, и его необходимо задавать, если параметр Number of table dimensions имеет значение More.
Table data – Таблица значений функции. Задается по правилам формирования многомерных массивов.
Interpolation method – Метод интерполяции. Выбирается из списка:
None – Интерполяция не выполняется.
Linear – Линейная интерполяция.
Extrapolation method – Метод экстраполяции. Выбирается из списка: None или Linear.
Action for out of range input – Реакция на выход входного сигнала за границы вектора значений аргумента. Выбирается из списка:
None – Реакция отсутствует.
Warning – Вывод предупреждающего сообщения в командной строке MATLAB.
Error – Вывод сообщения об ошибке в командной строке MATLAB и остановка расчета.
Пример поясняющий работу блока, показан на рисунке 9.8.9.
Таблица значений функции задана матрицей [10 20 30;40 50 60;70 80 90].
Раздел библиотеки Function & Tables содержит еще два блока -S-Function и S-Function Builder. Они будут подробно рассмотрены в разделе, посвященном созданию S-функций.
Блок многомерной таблицы Look-Up Table (n-D)
Назначение:
Задает в табличной форме функцию многих переменных.
Параметры:
Number of table dimensions – Количество размерностей таблицы (аргументов функции). Значение параметра выбирается из списка: 1, 2, 3, 4, More…(Много).
First input (row) breakpoint set – Вектор значений первого аргумента (строка). Задается аналогично параметру Row двумерной таблицы.
Second (column) input breakpoint set – Вектор значений второго аргумента (столбец). Задается аналогично предыдущему параметру.
Third input breakpoint set – Вектор значений третьего аргумента. Параметр доступен, если количество размерностей таблицы задано больше 2.
Fourth input breakpoint set – Вектор значений четвертого аргумента. Параметр доступен, если количество размерностей таблицы задано больше 3.
Fifth..Nth input breakpoint sets (cell array) – Массив значений пятого и остальных аргументов (массив ячеек). Параметр доступен, если количество размерностей таблицы задано больше 4.
Explicit number of dimensions – Точное количество размерностей таблицы (аргументов функции). Параметр доступен и его необходимо задавать, если параметр Number of table dimensions имеет значение More.
Index search method – Метод поиска по индексам. Принимает значения из списка:
Evenly Spaced Points – Поиск для равноотстоящих индексов. Дает наилучший результат по скорости поиска, если векторы аргументов имеют равноотстоящие друг отдруга значения (например, [10 20 30]).
Linear Search – Линейный поиск. Дает наилучший результат, если значения входных сигналов на текущем шаге расчета отличаются от предыдущих значений незначительно.
Binary Search – Двоичный поиск. Дает наилучший результат, если значения входных сигналов на текущем шаге расчета значительно отличаются от предыдущих значений.
Begin index searches using previous index results (флажок) – Начинать поиск, используя результаты предыдущего поиска.
Use one (vector) input port instead of N ports (флажок) – Использовать многомерный входной порт вместо нескольких одномерных.
Table data – Таблица значений функции. Задается по правилам формирования многомерных массивов.
Interpolation method – Метод интерполяции. Выбирается из списка:
None – Интерполяция не выполняется.
Linear – Линейная интерполяция.
Cubic Spline – Кубическаясплайн-интерполяция.
Extrapolation method – Метод экстраполяции. Выбирается из списка: None, Linear или Cubic Spline.
Action for out of range input – Реакция на выход входного сигнала за границы вектора значений аргумента. Выбирается из списка:
None – Реакция отсутствует.
Warning – Вывод предупреждающего сообщения в командной строке MATLAB.
Error – Вывод сообщения об ошибке в командной строке MATLAB и остановка расчета.
Блок одномерной таблицы Look-Up Table
Назначение:
Задает в табличной форме функцию одной переменной.
Параметры:
Vector of input values – Вектор значений входного сигнала. Может быть задан в виде дискретных значений (например, [1 2 7 9]), либо в виде непрерывного диапазона (например, [0:10]). Элементы вектора или граница диапазона могут быть заданы в виде вычисляемого выражения, например [tan(5) sin(3)].
Vector of output values – Вектор выходных значений, соответствующий вектору входных значений.
Блок работает в соответствии со следующими правилами:
Если входной сигнал равен одному из элементов вектора входных значений (Vector of input values), то выходное значение блока будет равно соответствующему элементу вектора выходных значений (Vector of output values). Например, пусть вектор входных значений равен [01 2 5], а вектор выходных значений [-5 –10 3 100], тогда при входном сигнале равном 1 выходной сигнал будет равен –10.
Если входной сигнал не совпадает ни с одним из элементов вектора входных значений, то блок выполняет линейную интерполяцию между двумя ближайшими к нему элементами.
Если входной сигнал выходит за границы вектора входных значений, то блок выполняет линейную экстраполяцию по двум крайним элементам. График функции, заданный с помощью настроек блока отображается на его пиктограмме.
Входной сигнал блока может быть векторным. В этом случае блок выполняет поэлементную операцию.
Блок работы с индексами PreLook-Up Index Search
Назначение:
Вычисляет значение индекса и относительную величину входного сигнала. Используется совместно с блоком Interpolation (n-D) using PreLook-Up.
Параметры:
Breakpoint data – Вектор узловых точек. Данный параметр аналогичен вектору входного сигнала блоков задающих табличные функции.
Index search method -Метод поиска индексов. Выбирается из списка:
Evenly Spaced Points – Поиск для равноотстоящих индексов.
Linear Search – Линейный поиск.
Binary Search – Двоичный поиск.
Begin index search using previous index result (флажок) – Начало поиска индекса с последнего результата.
Output only the index (флажок) – Вывод только индексов.
Process out of range input – Тип процесса при выходе входного сигнала за заданные пределы. Выбирается из списка:
Clip to Range – Ограничить предельным значением.
Linear Extrapolation – Линейная экстраполяция.
6. Action for out of range input – Реакция на выход входного сигнала за границы вектора узловых точек. Выбирается из списка:
None – Реакция отсутствует.
Warning – Вывод предупреждающего сообщения в командной строке MATLAB.
Error – Вывод сообщения об ошибке в командной строке MATLAB и остановка расчета.
Выходным сигналом блока является вектор, первый элемент вектора – найденный индекс, а второй – относительная величина входного сигнала. Блок находит индекс того элемента, значение которого не превышает величину входного сигнала. Например, для вектора узловых точек [0 5 10 20 50 100] и входного сигнала равного 55 найденный индекс будет равен 4 .
Относительная величина входного сигнала рассчитывается в соответствии с выражением:
x − A(i)
h = A(i + 1) − A(i)
где x – входной сигнал,
i – найденный индекс,
A – вектор узловых точек.
Для приведенного выше примера относительная величина входного сигнала будет равна 0.1.
Блок таблицы с прямым доступом Direct Loop-Up Table (n-D)
Назначение:
Задает многомерную таблицу с прямым доступом к ее элементам. Индексация элементов начинается с нуля.
Параметры:
Number of table dimensions – Количество размерностей таблицы (аргументов функции). Значение параметра выбирается из списка: 1, 2, 3, 4, More…(Много).
Explicit number of dimensions – Точное количество размерностей таблицы (аргументов функции). Параметр доступен, и его необходимо задавать, если параметр Number of table dimensions имеет значение More.
Inputs select this object from table – Задать вид выходного сигнала. Выбирается из списка:
Element – Элемент. Если на выходе блока необходимо получить отдельный элемент таблицы, то на вход блока должны подаваться значения всех индексов элемента.
Column – Столбец. Если на выходе необходимо получить столбец, то на вход блока необходимо подавать на один индекс меньше, по сравнению с предыдущим вариантом.
D Matrix – Матрица. В этом случае на вход блока подается на два индекса меньше, по сравнению с первым вариантом.
Make table an input – Таблица значений функции задается через отдельный вход блока, а не параметром Table data.
Table data – Таблица значений функции. Задается по правилам формирования многомерных массивов.
Action for out of range input – Реакция на выход входного сигнала за границы вектора значений аргумента. Выбирается из списка:
None – Реакция отсутствует.
Warning – Вывод предупреждающего сообщения в командной строке MATLAB.
Error – Вывод сообщения об ошибке в командной строке MATLAB иостановка расчета.
для задания функции двух аргументов
Примеры использования блока Look-Up Table (n-D) для задания функции двух аргументов показаны на рисунке 9.8.7. В первом случае таблица значений функции ([10 20 30;40 50 60;70 80 90]) задана в параметрах блока, а во втором –подается через отдельный вход (установлен флажок Make table an input)
Рисунок 9.8.7.Пример использования блока Direct Loop-Up Table (n-D)
В выражении можно использовать следующие
В выражении можно использовать следующие компоненты:
Входной сигнал. Входной сигнал в выражении обозначается u, если он является скаляром. Если входной сигнал – вектор, необходимо указывать номер элемента вектора в круглых скобках. Например, u(1) и u(3) – первый и третий элементы входного вектора.
Константы.
Арифметические операторы (+ – * /).
Операторы отношения (= =!= > < >= <=).
Логические операторы (&& | | !).
Круглые скобки.
Математические функции: abs, acos, asin, atan, atan2, ceil, cos, cosh, exp, fabs, floor, hypot, ln, log, log10, pow, power, rem, sgn, sin, sinh, sqrt, tan, и tanh.
Переменные из рабочей области. Если переменная рабочей области является массивом, то ее элементы должны указываться с помощью индексов в круглых скобках. Напрмер, A(1,1) -первый элемент матрицы A.
Операторы отношения и логические операторы возвращают значения в виде логического нуля (FALSE) или логической единицы (TRUE).
Операторы, допускаемые к использованию в выражении, имеют следующий приоритет (в порядке убывания):
( )
+ – (унарные)
Возведение в степень
!
/
+ – (бинарные)
> < <= >=
= !=
&&
| |
Блок не поддерживает матричные и векторные операции. Выходной сигнал блока всегда – скаляр.
Примеры использования блока Fcn показаны на рисунке 9.8.1.
Блок задания функции MATLAB Fcn
Назначение:
Задает выражение в стиле языка программирования MATLAB.
Параметры:
MATLAB function – Выражение на языке MATLAB.
Output dimensions – Размерность выходного сигнала. Значение параметра –1 (минус один) предписывает блоку определять размерность автоматически.
Тип выходного сигнала. Выбирается из
Output signal type – Тип выходного сигнала. Выбирается из списка:
real – Действительный сигнал.
complex – Комплексный сигнал.
auto – Автоматическое определение типа сигнала.
Collapse 2-D results to 1-D – Преобразование двумерного выходного сигнала к одномерному. Входной сигнал в выражении обозначается u, если он является скаляром. Если входной сигнал – вектор, необходимо указывать номер элемента вектора в круглых скобках. Например, u(1) и u(3) – первый и третий элементы входного вектора. Если выражение состоит из одной функции, то ее можно задать без указания параметров. Выражение может содержать также собственные функции пользователя, написанные на языке MATLAB и оформленные в виде m-файлов. Имя m-файла не должно совпадать с именем модели (mdl-файлом).
Рисунок 9.8.2 демонстрирует применение блока MATLAB Fcn. В примере используется функция My_Matlab_Fcn_1, вычисляющая сумму и произведение двух элементов входного вектора.
Текст функции (файл My_Matlab_Fcn_1.m) приведен ниже:
function y=My_Matlab_Fcn_1(x,k); y(1)=x*k; y(2)=x + k;
Выражение для вызова функции, заданное параметром MATLAB function, имеет вид:
My_Matlab_Fcn_1(u(1),u(2)) .
Блок задания степенного многочлена Polynomial
Назначение:
Задает степенной многочлен.
Параметры:
Polynomial coefficients – Вектор коэффициентов полинома. Коэффициенты расположены в векторе по убыванию степени независимой переменной. Например, для полинома х2+2х+5 необходимо задать вектор коэффициентов [1 2 5].
Коэффициенты должны быть действительного типа.
Блок вычисляет значение полинома по его коэффициентам и величине входного сигнала. Если входной сигнал вектор или матрица блок вычисляет результат для каждого элемента массива.
На рисунке 9.8.3 показаны примеры использования блока Polynomial. В примерах для первого полиномиального блока коэффициенты заданы вектором [1 2 5], а для второго – [1 2 0 5].