Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Арифметические операции (АО)Содержание книги Поиск на нашем сайте
К арифметическим операциям в ML относятся: cложение (+), вычитание (-), умножение (*), деление (/), обратное деление (\),возведение в степень(^ ), транспонирование (‘). Приоритеты АО: · возведение в степень, транспонирование; · умножение, деление; · сложение, вычитание. Все арифметические операции являются “матричными” и осуществляются по правилам линейной алгебры. При необходимости поэлементного выполнения операций над матрицами и векторами перед знаками операций ^, *, /, \ следует ставить точку:
>> X=[1 2 3 4]; >> X.^2 ans = 1 4 9 16 В данном случае каждый элемент исходного вектора возводится в квадрат. Выполнение команды X ^ 2 невозможно, так как это противоречит правилам матричной алгебры. Транспонирование тоже бывает с точкой, тогда для комплексных чисел оно выполняется без комплексного сопряжения. При выполнении арифметических операций с матрицами необходимо учитывать их размерность. Каждой арифметической операции в ML соответствует определенная функция. Например, plus(x,y) – сложение массивов, times(x,y) – поэлементное умножение массивов, mtimes(x,y) – матричное умножение и т.д.:
>> 2+3 ans = >> plus(2,3) ans = >> X=[1 2 3 4]; >> Y=[5 6 7 8]; >> times(X,Y) ans = 5 12 21 32 >> X.*Y ans = 5 12 21 32
Выполнение арифметических операций с матрицами будет подробно рассмотрено далее. Операции отношения К операциям отношения в ML относятся: равно (= =),не равно (~ =),меньше(<),меньше или равно (<=), больше (>), больше или равно (>=). Операции отношения используются для поэлементного сравнения двух операндов (чисел, матриц, векторов одинакового размера). Результатом операции отношения может быть соответственно число, матрица или вектор, состоящие из элементов, >>A=[1 0 3; -2 5 -6]; >> B=[8 -9 1; 7 2 2]; >> A>B ans = 0 1 1 0 1 0
В результате получили матрицу, каждый элемент которой имеет значение «истина» или «ложь»:
>> x=1; y=2; z=3; >> ((x+y)==z)+(y<z)+(x<=y) ans =
Логические операции
В ML существует возможность представления логических выражений с помощью логических операторов и логических операций. Логические операции предназначены для выполнения поэлементных логических операций над векторами и матрицами одинаковых размеров. К логическим операциям относятся логическое Вместо логических операций можно пользоваться логическими операторами (функциями) and, or, not соответственно. Логические операторы определены над матрицами одинаковой размерности и выполняются над каждым из элементов. В логических выражениях используются логические операции и операции отношения.
Приоритет операций в ML
Приоритет операций определяет порядок действий в выражении. Его можно изменять с помощью круглых скобок. Далее представлены операции в порядке убывания приоритета: 1) логическая операция НЕ (~); 2) транспонирование(.’, ’),возведение в степень(.^, ^); 3) унарный плюс (+), унарный минус (-); 4) умножение и деление(.*,./,.\, *, /, \); 5) сложение и вычитание (+, -); 6) операции отношения (<, >, <=, >=, ==, ~=); 7) логическая операция И(&); 8) логическая операция ИЛИ(|). Элементарные функции
В 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; · real(z)– вещественная часть комплексного числа; · imag(z)– мнимой часть комплексного числа; · mod(x, y)– остаток от целочисленного деления; · round(x)– округление до ближайшего целого. Для работы с датами можно воспользоваться функциями: · calendar – выводит календарь на текущий месяц; · date – выводит текущую дату. Все элементарные функции, приведенные выше, можно применять к векторам и матрицам. Если введен вектор X, то, задав функцию Y =sin(X), получим вектор, элементами которого будут значения синусов элементов исходного вектора:
>> X=[1 2 3 4]; >> Y=sin(X) Y = 0.8415 0.9093 0.1411 -0.7568
Информацию о любой функции ML можно получить, выполнив команду: help <имя функции>. Особые матрицы
B ML можно не только задавать матрицы своими значениями или формировать их по формулам, но можно с помощью специальных функций получать особые матрицы: 1. Матрица случайных чисел: rand(n, m) –формирует матрицу из n строк и m столбцов, заполненную случайными равномерно распределенными числами в интервале от 0 до 1. rand(n) – формирует квадратную матрицу случайных чисел.
>>A=rand(3) A = 0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214
Можно задавать размер матрицы, используя вектор из двух элементов, равных числу строк и столбцов. Например,
>> B=rand([3 4]) B = 0.9501 0.4860 0.4565 0.4447 0.2311 0.8913 0.0185 0.6154 0.6068 0.7621 0.8214 0.7919
Если надо сгенерировать матрицу такого же размера, как и существующая матрица, то необходимо выполнить команду
>> rand(size(A)) ans = 0.4103 0.3529 0.1389 0.8936 0.8132 0.2028 0.0579 0.0099 0.1987 size(A) – функция, возвращающая размер матрицы А в виде вектора.
2. Магический квадрат (матрица, у которой суммы элементов в строках, столбцах и диагоналях одинаковы) – magic(n,m):
>> magic(3) ans = 8 1 6 3 5 7 4 9 2
3. Единичная матрица – eye(n,m):
>> eye(3) ans = 1 0 0 0 1 0 0 0 1
4. Матрица из 0 – zeros(n,m):
>> zeros(3) ans = 0 0 0 0 0 0 0 0 0
5. Матрица из 1 – ones(n,m):
>> ones(3) ans = 1 1 1 1 1 1 1 1 1
6. Диагональная матрица. Чтобы получить диагональную матрицу, необходимо задать вектор, количество элементов которого определит размерность матрицы. Значения вектора расположатся на главной диагонали:
>> V=[1 2 3 4 5]; >> diag(V) ans = 1 0 0 0 0 0 2 0 0 0 0 0 3 0 0 0 0 0 4 0 0 0 0 0 5
7. Выделение диагонали из матрицы:
>> diag(A) ans = 0.9501 0.8913 0.8214
Результат – вектор-столбец, состоящий из элементов, расположенных на главной диагонали. Иными словами, при исполь- Для увеличения быстродействия работы программы бывает полезно заранеезадать размерность матрицы, для этого создать матрицу с нулевыми элементами – zeros(n,m), а затем заполнять ее значениями.
Операции с векторами и матрицами
В ML операции с векторами и матрицами подразделяются на два типа: поэлементные преобразования и матричные (векторные) операции, которые соответствуют правилам линейной алгебры.
Выполнение операций с векторами
ВML можно выполнять поэлементные преобразования векторов с помощью арифметических операций. Следует помнить, что операции поэлементного преобразования возможны только над векторами одного размера и структуры. Сложение и вычитание векторов производится всегда поэлементно. Поэлементные операции обозначаются добавлением точки перед знаком операции. Например,
>>A=[2 5 7]; >>B=[1 2 3]; >>C=A.*B C= 2 10 21 Каждый элемент вектора А умножается на один соответствующий ему элемент вектора В, и таким образам получается каждый элемент вектора С. Операторы поэлементного деления и возведения в степень записываются соответственно как (./), (.^). Векторное исчисление предусматривает следующие операции над векторами: сложение и вычитание векторов одного размера и типа, транспонирование векторов, умножение вектора на вектор (при условии, что они одного размера и один из них является вектор-столбцом, а другой – вектор-строкой или наоборот). В соответствии с правилами векторного исчисления, если первый вектор – строка, а второй – столбец, то результат умножения – число:
>>A=[1 2 3]; >>B=[1;2;3]; >>A*B ans=
Если первый вектор – столбец, а второй – строка, то результат умножения – квадратная матрица:
>>B*A ans= 2 6 10 4 12 20 6 18 30
Для обозначения операции транспонирования векторов применяется апостроф:
>>A=[1 2 3]; >>B=A’ B=
При транспонировании вектор-строка преобразуется в столбец и наоборот.
|
||||
|
Последнее изменение этой страницы: 2016-04-26; просмотров: 447; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.20 (0.007 с.) |