Как вставить модуль в матлабе

Блок вычисления модуля Abs

Выполняет вычисление абсолютного значения величины сигнала.

Saturate on integer overflow (флажок) – Подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.1. Пример использования блока Abs

Блок Abs может использоваться также для вычисления модуля сигнала комплексного типа. На рис. 9.6.2 показан пример вычисления модуля комплексного сигнала вида:

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе.

Модуль этого сигнала (как и следовало ожидать) равен 1 для любого момента времени.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.2. Пример использования блока Abs для вычисления модуля комплексного сигнала

9.6.2. Блок вычисления суммы Sum

Выполняет вычисление суммы текущих значений сигналов.

Icon shape – Форма блока. Выбирается из списка.
— round – окружность,
— rectangular – прямоугольник.

Saturate on integer overflow (флажок) – Подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.

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

Если количество входов блока больше, чем один, то блок выполняет поэлементные операции над векторными и матричными сигналами. При этом количество элементов в матрице или векторе должно быть одинаковым.

Если в качестве списка знаков указать цифру 1 (один вход), то блок можно использовать для определения суммы элементов вектора.

Примеры использования блока Sum показаны на 9.6.3.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.3. Примеры использования блока Sum

9.6.3. Блок умножения Product

Выполняет вычисление произведения текущих значений сигналов.

Number of inputs – Количество входов. Может задаваться как число или как список знаков. В списке знаков можно использовать знаки * ( умножить) и / (разделить).

Multiplication – Способ выполнения операции. Может принимать значения (из списка):
— Element-wise – Поэлементный.
— Matrix – Матричный.

Saturate on integer overflow (флажок) – Подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.

Если параметр Number of inputs задан списком, включающим кроме знаков умножения также знаки деления, то метки входов будут обозначены символами соответствующих операций.

Блок может использоваться для операций умножения или деления скалярных векторных или матричных сигналов. Типы входных сигналов блока должны совпадать. Если в качестве количества входов указать цифру 1 (один вход), то блок можно использовать для определения произведения элементов вектора.

Примеры использования блока Product при выполнении скалярных и поэлементных операций показаны на 9.6.4.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.4. Примеры использования блока Product при выполнении скалярных и поэлементных операций

При выполнении матричных операций необходимо соблюдать правила их выполнения. Например, при умножении двух матриц необходимо, чтобы количество строк первой матрицы равнялось количеству столбцов второй матрицы. Примеры использования блока Product при выполнении матричных операций показаны на рис. 9.6.5. В примере показаны операции формирования обратной матрицы, деление матриц, а также умножение матриц.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.5. Примеры использования блока Product при выполнении матричных операций

9.6.4. Блок определения знака сигнала Sign

Определяет знак входного сигнала.

Блок работает в соответствии со следующим алгоритмом:

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.6. Пример использования блока Sign

9.6.5. Усилители Gain и Matrix Gain

Выполняют умножение входного сигнала на постоянный коэффициент.

Gain – Коэффициент усиления.

Multiplication – Способ выполнения операции. Может принимать значения (из списка):
Element-wise K*u– Поэлементный.
Matrix K*u – Матричный. Коэффициент усиления является левосторонним операндом.
Matrix u*K – Матричный. Коэффициент усиления является правосторонним операндом.

Saturate on integer overflow (флажок) – Подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.

Для операции поэлементного усиления входной сигнал может быть скалярным, векторным или матричным любого типа, за исключением логического (boolean ). Элементы вектора должны иметь одинаковый тип сигнала. Выходной сигнал блока будет иметь тот же самый тип, что и входной сигнал. Параметр блока Gain может быть скаляром, вектором или матрицей либого типа, за исключением логического (boolean ).

При вычислении выходного сигнала блок Gain использует следующие правила:

Если входной сигнал действительного типа, а коэффициент усиления комплексный, то выходной сигнал будет комплексным.

Если тип входного сигнала отличается от типа коэффициента усиления, то Simulink пытается выполнить приведение типа коэффициента усиления к типу входного сигнала. В том случае, если такое приведение невозможно, то расчет будет остановлен с выводом сообщения об ошибке. Такая ситуация может возникнуть, например, если входной сигнал есть беззнаковое целое (uint8 ), а параметр Gain задан отрицательным числом.

Примеры использования блока Gain при выполнении скалярных и поэлементных операций показаны на 9.6.7.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.7. Примеры использования блока Gain.

Примеры использования блока Matrix Gain при выполнении матричных операций показаны на рис. 9.6.8.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.8. Примеры использования блока Matrix Gain

9.6.6. Ползунковый регулятор Slider Gain

Обеспечивает изменение коэффициента усиления в процессе расчета.

Low – Нижний предел коэффициента усиления.

High – Верхний предел коэффициента усиления.

Для изменения коэффициента усиления блока Slider Gain необходимо передвинуть ползунок регулятора. Перемещение ползунка вправо приведет к увеличению коэффициента усиления, перемещение влево – к уменьшению. Изменение коэффициента усиления будет выполняться в пределах диапазона заданного параметрами Low и High.

Если щелкнуть с помощью мыши на левой или правой стрелках шкалы регулятора, то коэффициент усиления изменится на 1% от установленного диапазона. Если щелкнуть с помощью мыши на самой шкале регулятора слева или справа от ползунка, то коэффициент усиления изменится на 10% от установленного диапазона. Можно также просто задать требуемое значение коэффициента в среднем окне блока.

Блок может выполнять поэлементное усиление векторного или матричного сигнала. Входной сигнал может быть комплексным.

Примеры использования блока Slider Gain показаны на рис. 9.6.9.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.9. Примеры использования блока Slider Gain

9.6.7. Блок скалярного умножения Dot Product

Выполняет вычисление скалярного произведения (свертку) двух векторов.

Блок выполняет вычисление выходного сигнала в соответствии с выражением: Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе,
где u1 и u2 – входные векторы,
conj – операция вычисления комплексно-сопряженного числа,
sum – операция вычисления суммы.

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

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.10. Примеры использования блока Dot Product

9.6.8. Блок вычисления математических функций Math Function

Выполняет вычисление математической функции.

Function – Вид вычисляемой функции (выбирается из списка):
exp – Экспоненциальная функция
log – Функция натурального логарифма
10^u – Вычисление степени 10
log10 – Функции логарифма
magnitude^2 – Вычисление квадрата модуля входного сигнала
square – Вычисление квадрата входного сигнала
sqrt – Квадратный корень
pow – Возведение в степень
conj – Вычисление комплексно-сопряженного числа
reciprocal – Вычисление частного от деления входного сигнала на 1
hypot – Вычисление корня квадратного из суммы квадратов входных сигналов (гипотенузы прямоугольного треугольника по значениям катетов)
rem – Функция, вычисляющая остаток от деления первого входного сигнала на второй
mod – Функция, вычисляющая остаток от деления с учетом знака
transpose – Транспонирование матрицы
hermitian – Вычисление эрмитовой матрицы.

Output signal type – Тип выходного сигнала (выбирается из списка):
auto – Автоматическое определение типа
real – Действительный сигнал
complex- Комплексный сигнал.

Тип выходного сигнала в зависимости от типа входного сигнала, вычисляемой функции и параметра блока Output signal type приведен в таблице 9.6.1.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Примеры использования блока Math Function показаны на рис. 9.6.11.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.11. Примеры использования блока Math Function

9.6.9. Блок вычисления тригонометрических функций Trigonometric Function

Выполняет вычисление тригонометрической функции.

Function – Вид вычисляемой функции (выбирается из списка): sin, cos, tan, asin, acos, atan, atan2, sinh, cosh и tanh.

Output signal type – Тип выходного сигнала (выбирается из списка):
— auto – Автоматическое определение типа.
— real – Действительный сигнал.
— complex- Комплексный сигнал.

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

Примеры использования блока Trigonometric Function показаны на рис. 9.6.12.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.12. Примеры использования блока Trigonometric Function

9.6.10. Блок вычисления действительной и (или) мнимой части комплексного числа Complex to Real-Imag

Вычисляет действительную и (или) мнимую часть комплексного числа.

Output – Выходной сигнал (выбирается из списка):

Real – Действительная часть

Image – Мнимая часть

RealAndImage – Действительная и мнимая часть.

Входной сигнал блока может быть скалярным, векторным или матричным сигналом.

Примеры использования блока Complex to Real-Imag показаны на рис. 9.6.13.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.13. Примеры использования блока Complex to Real-Imag

9.6.11. Блок вычисления модуля и (или) аргумена комплексного числа Complex to Magnitude-Angle

Вычисляет модуль и (или) аргумент комплексного числа.

Output – Выходной сигнал (выбирается из списка):

MagnitudeAndAngle – Модуль и аргумент.

Входной сигнал блока может быть скалярным, векторным или матричным сигналом.

Примеры использования блока Complex to Magnitude-Angle показаны на рис. 9.6.14.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.14. Примеры использования блока Complex to Magnitude-Angle

9.6.12. Блок вычисления комплексного числа по его действительной и мнимой части Real-Imag to Complex

Вычисляет комплексное число по его действительной и мнимой части.

Input – Входной сигнал (выбирается из списка):
Real – Действительная часть.
Image – Мнимая часть.
RealAndImage – Действительная и мнимая часть.

Входные сигналы блока могут быть скалярными, векторными или матричными. Параметры Image part и Real part должны задаваться как векторы или матрицы, если входной сигнал является вектором или матрицей.

Примеры использования блока Real-Imag to Complex показаны на рис. 9.6.15.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.15. Примеры использования блока Real-Imag to Complex

9.6.13. Блок вычисления комплексного числа по его модулю и аргументу Magnitude-Angle to Complex

Вычисляет комплексное число по его модулю и аргументу.

Input – Входной сигнал (выбирается из списка):
— Magnitude – Модуль.
— Angle – Аргумент.
— MagnitudeAndAngle – Модуль и аргумент.

Входные сигналы блока могут быть скалярными, векторными или матричными.

Параметры Angle и Magnitude должны задаваться как векторы или матрицы, если входной сигнал является вектором или матрицей.

Примеры использования блока Magnitude-Angle to Complex показаны на рис. 9.6.16.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.16. Примеры использования блока Magnitude-Angle to Complex

9.6.14. Блок определения минимального или максимального значения MinMax

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

Number of input ports – Количество входных портов.

Примеры использования блока MinMax показаны на рис. 9.6.17.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.17. Примеры использования блока MinMax

9.6.15. Блок округления числового значения Rounding Function

Выполняет операцию округления числового значения.

Function – Способ округления (выбирается из списка):

floor – Округление до ближайшего меньшего целого.

ceil – Округление до ближайшего большего целого.

round – Округление до ближайшего целого.

fix – Округление отбрасыванием дробной части.

Входные сигналы блока могут быть скалярными, векторными или матричными действительного и комплексного типа. При векторном или матричном входном сигнале блок выполняет поэлементные операции.

Примеры использования блока Rounding Function показаны на рис. 9.6.18.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.18. Примеры использования блока Rounding Function

9.6.16. Блок вычисления операции отношения Relational Operator

Блок сравнивает текущие значения входных сигналов.

Relational Operator – Тип операции отношения (выбирается из списка):

Входные сигналы блока могут быть скалярными, векторными или матричными. Если оба входных сигнала – векторы или матрицы, то блок выполняет поэлементную операцию сравнения, при этом размерность входных сигналов должна совпадать. Если один из входных сигналов – вектор или матрица, а другой входной сигнал – скаляр, то блок выполняет сравнение скалярного входного сигнала с каждым элементом массива. Размерность выходного сигнала, в этом случае, будет определяться размерностью векторного или матричного сигнала, подаваемого на один из входов.

Для операций = = (тождественно равно) и

= (не равно) допускается использовать комплексные входные сигналы.

Входные сигналы также могут быть логического типа (boolean ).

Примеры использования блока Relational Operator показаны на рис. 9.6.19.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.19. Примеры использования блока Relational Operator

9.6.17. Блок логических операций Logical Operation

Реализует одну из базовых логических операций.

Operator – Вид реализуемой логической операции (выбирается из списка):

AND – Логическое умножение (операция И ).

OR – Логическое сложение (операция ИЛИ ).

XOR – Исключающее ИЛИ (операция сложения по модулю 2 ).

NOT – Логическое отрицание ( НЕ ).

Number of input ports – Количество входных портов.

Входные сигналы блока могут быть скалярными, векторными или матричными. Если входные сигналы – векторы или матрицы, то блок выполняет поэлементную логическую операцию, при этом размерность входных сигналов должна совпадать. Если часть входных сигналов – векторы или матрицы, а другая часть входных сигналов – скаляры, то блок выполняет логическую операцию для скалярных входных сигналов и каждого элемента векторных или матричных сигналов. Размерность выходного сигнала, в этом случае, будет определяться размерностью векторных или матричных входных сигналов.

При выполнении логической операции отрицания блок будет иметь лишь один входной порт.

Входные сигналы могут быть как действительного, так и логического типа (boolean ).

Примеры использования блока Logical Operation показаны на рис. 9.6.20.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.20. Примеры использования блока Logical Operation

9.6.18. Блок побитовых логических операций Birwise Logical Operator

Реализует одну из базовых логических операций по отношению к целому числу в двоичном представлении.

Bitwise operator – Вид реализуемой логической операции (выбирается из списка):

AND – Логическое умножение (операция И ).

OR – Логическое сложение (операция ИЛИ ).

XOR – Исключающее ИЛИ (операция сложения по модулю 2 ).

NOT – Логическое отрицание ( НЕ ).

SHIFT_LEFT – Поразрядный сдвиг влево.

SHIFT_RIGHT – Поразрядный сдвиг вправо.

Second operand – Второй операнд. Задается шестнадцатеричным числом в символьном виде.

Входной сигнал блока может быть скалярным, векторным или матричным. Если входной сигнал – вектор или матрица и второй операнд также вектор или матрица, то блок выполняет поэлементную логическую операцию, при этом размерность операндов должна совпадать. Если один из операндов – вектор или матрица, а другой операнд – скаляр, то блок выполняет логическую операцию для скалярного операнда и каждого элемента векторного или матричного операнда. Размерность выходного сигнала, в этом случае, будет определяться размерностью векторного или матричного операнда.

При выполнении логической операции отрицания блок будет иметь лишь один операнд (входной сигнал).

Примеры использования блока Birwise Logical Operator показаны на рис. 9.6.21.

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Рис. 9.6.21. Примеры использования блока Birwise Logical Operator

9.6.19. Блок комбинаторной логики Gombinatorical Logic

Преобразует входные сигналы в соответствии с таблицей истинности.

Truth table – Таблица истинности.

Блок Combinatorical Logic обеспечивает преобразование входного сигнала в соответствии с правилами, определяемыми таблицей истинности. Таблица истинности представляет собой список возможных выходных значений блока. Такое описание работы устройств принято в теории конечных автоматов. Число строк в таблице истинности определяется соотношением:

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе,
где
number of inрuts – число входных сигналов,
number of rows – число строк таблицы истинности.

Входные сигналы при составлении таблицы истинности считаются заданными. Они определяют индекс (номер) строки, в которой записываются выходные значения блока. Индекс каждой строки определяется выражением:

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе,
где
row index – индекс строки,
m – количество входных сигналов (элементов во входном векторе),
u(1) – первый входной сигнал (первый элемент входного вектора),
u(m) – последний входной сигнал (последний элемент входного вектора).

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

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе.

Ниже приведен пример формирования таблицы истинности операции логического И ( AND ) для двух операндов:

Источник

Matlab модуль числа

Основные математические функции MatLab

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

Существуют встроенные тригонометрические и гиперболические функции: sin(x), cos(x), tan(x), cot(x), asin(x), acos(x), atan(x), acot(x), sinh(x) и т.д. Аргументы этих функций (в следующих версиях, начиная с версии 7.0) могут задаваться в радианах и градусах. У функций в градусной мере после названия добавляется буква d. sin(x) – аргумент в радианах, а sind(x) – аргумент в градусах.

Некоторые часто используемые математические функции:

· exp(x)–экспонента числа x;

· log(x)– натуральный логарифм;

· log10(x)– десятичный логарифм;

· sqrt(x)– квадратный корень;

· abs(x)– абсолютное значение x;

· mod(x, y)– остаток от целочисленного деления с учетом знака;

· rem(x, y)– остаток от целочисленного деления без учета знака;

· real(z)– вещественная часть комплексного числа;

· imag(z)– мнимая часть комплексного числа;

· round(x)– округление до ближайшего целого.

Более полный список основных математических функций 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,y)остаток от деления с учётом знака
sign(x)знак числа
factor(x)разложение числа на простые множители
isprime(x)истинно, если число простое
randгенерация псевдослучайного числа с равномерным законом распределения
randnгенерация псевдослучайного числа с нормальным законом распределения
abs(x)вычисление модуля числа

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

Вычислить: res= Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

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

Если в выражении многократно встречаются одинаковые фрагменты, то их целесообразно вычислять 1 раз и результат помещать в отдельные переменные. Это позволяет избежать одинаковых вычислений и тем самым оптимизирует вычисления.

res=(3*cos(x^3)^2-sin(x-pi/3))/(log(abs(y))+exp (sqrt (x+1))/(2*x))*1E6

Для эффективной работы с большими наборами данных или при необходимости многократных вычислений рассмотренных средств недостаточно. В ML существует возможность записать последовательность команд в файл, сохранить его, дать ему имя и выполнить, набрав в командной строке имя файла. Это можно сделать во встроенном редакторе системы. Такие файлы называются файлами-сценариями или скрипт-файлами. При сохранении они автоматически получают расширение системы – m.

Файлы-программы (их называют скриптами или сценариями) являются самым простым типом m-файлов. Script-файл состоит из последовательности команд, не содержит заголовка, а также входных и выходных параметров. Все объекты, используемые внутри script-файла, считаются глобальными. Если в рабочем пространстве есть данные, то внутри script-файла их можно использовать, а по окончании его выполнения использовать данные, созданные с его помощью. Такие файлы используются для автоматизации выполнения большого набора инструкций. Их текст набирают в окне встроенного редактора ML.

Для выполнения файла-программы достаточно в командной строке указать имя этого скрипта. Перед запуском программы на выполнение необходимо установить нужный каталог в качестве текущего. Запуск файла на выполнение можно осуществить двумя способами: из окна редактора и из командного окна.

Для запуска программы на выполнение из окна редактора надо выбрать пункт меню Debug, Run или нажать функциональную клавишу F5, или выбрать соответствующую пиктограмму на панели инструментов. Выполнить программу, уже сохраненную на диске, можно из командного окна ML, просто набрав имя файла без расширения.

Дата добавления: 2016-04-02 ; просмотров: 1590 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Основные математические функции 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)вычисление модуля числа

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

Ниже показан пример задания вектора с именем 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

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

Лучшие изречения: Да какие ж вы математики, если запаролиться нормально не можете. 8826 — Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе| 7636 — Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабеили читать все.

Стандартные функции Matlab

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

Элементарные функции Matlab. К ним относятся следующие функции:

sin(x) sinh(x) asin(x) asinh(x)

cos(x) cosh(x) acos(x) acosh(x)

tan(x) tanh(x) atan(x) atan2(x,y) atanh(x)

cot(x) coth(x) acot(x) acoth(x)

exp(x) log(x) log10(x) log2(x) pow2(x) sqrt(x)

Функции комплексного аргумента:

abs(z) – модуль комплексного числа; angle(z) – аргумент;

complex(x, y) – формирование комплексного числа x+y*i;

conj(z) – возвращает комплексно-сопряженное (по отношению к z) число;

real(z) – возвращает действительную часть; imag(z) – мнимую часть.

Функции округления и нецелочисленного деления:

fix(x) – округление в сторону к нулю, floor(x) – к –¥, ceil(x) – к +¥,

round(x) – до ближайшего целого;

mod(x, y) – остаток от деления x/y с учетом знака,

rem(x, y) – то же, без учета знака;

sign(x) – знак числа (+1/–1).

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

Пример 1. Разный тип параметров

Различают матричные и поэлементные арифметические операции.

+ – уточнение знака (унарная), сложение;

– – изменение знака (унарная), вычитание;

Поскольку математический смысл операций матричного и поэлементного сложения и вычитания идентичен:

C = A ± B означает Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

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

* – скалярное матричное умножение;

^ – матричное возведение в степень;

.^ – поэлементное возведение в степень;

– матричное деление слева;

/ – матричное деление справа;

.’ – несопряженное транспонирование (унарная).

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

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

Для операции * (матричное произведение) матрица-сомножитель2 должна иметь столько строк, сколько столбцов имеет матрица-сомножитель1:

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Inner matrix dimensions must agree.

» Ac=[1+2i 1+3i 1+4i; 2+3i 2+4i 2+5i];

1.0000 — 2.0000i 2.0000 — 3.0000i

1.0000 — 3.0000i 2.0000 — 4.0000i

1.0000 — 4.0000i 2.0000 — 5.0000i

1.0000 + 2.0000i 2.0000 + 3.0000i

1.0000 + 3.0000i 2.0000 + 4.0000i

1.0000 + 4.0000i 2.0000 + 5.0000i

Операция ^ (матричное возведение в степень) выполняется только для квадратных матриц, и означает умножение матрицы саму на себя заданное число раз (второй операнд обязательно скаляр):

-0.9100 — 3.5442i 0.4163 + 1.6212i

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

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Действительно, представив систему уравнений в матричной форме:

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

откуда решение системы уравнений:

Пример. Решить систему уравнений

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

Решение сводится к набору в интерактивном режиме следующих команд:

Проверку вычисления корней можно выполнить следующим образом:

| – логическое «или» (0|0 – 0, 1|0 – 1, 0|1 – 1, 1|1 – 1);

xor – логическое исключающее «или» (0xor0 – 0, 0xor1 – 1, 1xor0 – 1, 1xor1 – 0);

Если логические операции (а также логические функции) выполняются над действительными числами, то ложью считают число нуль, а истиной – все числа, не равные нулю.

Операции отношения (сравнения)

> – больше; >= – больше или равно; 1

» A=[1 8 3; 6 2 5]; B=[4 3 1; 2 6 8];

1.0000 2.0000 3.0000 4.0000

zeros – матрица, состоящая из нулей; ones – матрица, состоящая из единиц;

rand – матрица, состоящая из случ. чисел с равномерным распределением;

randn – матрица, состоящая из случ. Чисел с нормальным распределением.

zeros(n) – формирует квадратную матрицу n´n, состоящую из нулей;

zeros(m, n) – формирует матрицу m´n, состоящую из нулей;

(zeros(1, n) – вектор-строка; zeros(m, 1) – вектор-столбец)

zeros(size(A)) – формирует матрицу, состоящую из нулей, той же размерности, что и матрица A.

Формат обращения к функциям ones, rand и randn аналогичный.

Разницу между функциями rand и randn можно показать графически:

» xr=rand(1,100); xrs=sort(xr); bar(xrs)

» yr=randn(1,100); yrs=sort(yr); bar(yrs)

Как вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабеКак вставить модуль в матлабе. Смотреть фото Как вставить модуль в матлабе. Смотреть картинку Как вставить модуль в матлабе. Картинка про Как вставить модуль в матлабе. Фото Как вставить модуль в матлабе

eye(n) – формирует единичную диагональную матрицу n´n.

diag(B) (B – двухмерная матрица) – выделяет главную диагональ матрицы B и помещает ее в вектор-столбец;

diag(x) (x – вектор) – формирует диагональную матрицу, используя вектор x в качестве главной диагонали.

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

Манипуляции с матрицами

tril (A) – формирует треугольную матрицу как нижнюю часть от матрицы A;

triu(A) – формирует треугольную матрицу как верхнюю часть от матрицы А.

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

lu(A) – разложение Холецкого – заменяет квадратную матрицу A скалярным произведением двух треугольных матриц L и U методом Гаусса:

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

det(A) – возвращает определитель квадратной матрицы A.

fliplr(A) – поворот матрицы A на 180° в горизонтальном направлении;

flipud(A) – поворот матрицы A на 180° в вертикальном направлении;

rot90(A) – поворот матрицы A на 90° против часовой стрелки;

rot90(A, k) – поворот матрицы A на k*90° против часовой стрелки (k – целое число).

Манипуляции с векторами

cross(x, y) – векторное произведение векторов x и y в трехмерном пространстве;

cross(A, B, dim) – векторное произведение многомерных массивов A и B по размерности dim;

dot(x, y) – скалярное произведение векторов x и y;

dot(A, B, dim) – скал. произведение многомерных массивов A и B по размерности dim.

Длины векторов x и y, а также длина матриц A и B по размерности dim должны быть равны 3.

Базовые операции анализа

Пусть a,b,c – числа, х,у,z – векторы, А,В,C – матрицы.

c=max(a, b) – возвращает максимальное из двух чисел a и b (при комплексных аргументах по умолчанию сравниваются модули):

z=max(x, y) – вектор той же размерности, что x и y, составленный из максимальных элементов векторов;

xmax=max(x) – максимальный элемент вектора x;

[xmax, imax]=max(x) – дополнительно записывает адрес максимального элемента в числовую переменную imax (если максимальных элементов несколько, возвращается адрес первого из них);

amax=max(A) – возвращает вектор-строку amax из максимальных элементов столбцов матрицы А;

[amax, imax]=max(A) – дополнительно формируется вектор-строка imax, составленный из номеров строк, в которых расположены максимальные элементы столбцов.

» a=1; b=2; x=[1 3 2]; y=[2 1 3]; A=[1 2 3; 4 5 6]; B=[3 2 1; 6 5 4];

Символьные вычисления в Matlab

Здравствуйте, уважаемые читатели. В этой небольшой статье речь пойдет о работе с символьными переменными в Matlab. На простых примерах мы разберем преобразование символьных выражений, а также символьное дифференцирование и интегрирование.

Создание символьного выражения в Matlab

Иногда символьные выражения крайне необходимы, именно поэтому важно уметь их объявлять в Matlab. Обычно используют два способа. Первый — использование оператора syms.

Таким простым способом мы создали две символьные переменные. Пока они ничего не делают и не представляют какой либо ценности, но чуть позже мы увидим, что они могут быть полезны.

Второй способ — использование команды sym.

При ее использовании, можно сразу задать функцию, полином или выражение:

Символьные выражения полезны тем, что вычисления с ними производятся без погрешностей.

Преобразования символьных выражений в Matlab

Возможны несколько типов преобразований:

Для примера зададим символьное выражение и попробуем раскрыть скобки:

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

Данная функция помогает преобразовать символьное выражение, например, в полином в Matlab. Иногда, это бывает очень важно и необходимо.

Вычисление значения символьных выражений в Matlab

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

Для этого можно воспользоваться несколькими функциями. Сначала нужно заменить все переменные на число с помощью оператора subs. Затем перевести полученное выражение в числовое с помощью оператора double. Разберем пример:

Стоит отметить, что после выполнения оператора subs, выражение все еще остается символьным. Поэтому далее выполняется оператор double.

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

Символьное дифференцирование в Matlab

На нашем сайте уже были статьи по численному дифференцированию в среде Matlab, но любой численный метод может давать погрешности. А вычисление в символьном виде может быть очень полезным и точным.

Итак, символьное дифференцирование осуществляется оператором diff. При вызове функции следует указать переменную, по которой будет производиться дифференцирование.

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

Теперь посмотрим на функцию от нескольких переменных:

Очевидно, что после получения производных, с ними можно выполнить все действия, описанные выше.

Символьное интегрирование в Matlab

Наряду с дифференцированием, в Matlab можно выполнять символьное интегрирование. Иногда это бывает удобнее, чем численное интегрирование. Символьное интегрирование в Matlab выполняется оператором int.

Оператор выполняется практически также, как и оператор дифференцирования.

Также, возможен расчет определенного интеграла:

Другие функции

В Matlab реализовано множество функций для работы с символьными вычислениями. Помимо тех, что были рассмотрены, следует выделить следующие функции:

Эти и многие другие функции в Matlab имеют свои опции и параметры. Очевидно, что среда Matlab дает широкие возможности разработчику при работе с символьными вычислениями.

Заключение

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

Все примеры очень просты и в исходниках не нуждаются. На этом все, встретимся в следующей статье.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *