Документация
Синтаксис
Описание
C = A .^ B возводит каждый элемент A к соответствующим степеням в B . Размеры A и B должен быть то же самое или быть совместимым.
Если размеры A и B совместимы, затем эти два массива неявно расширяются, чтобы совпадать друг с другом. Например, если один из A или B скаляр, затем скаляр объединен с каждым элементом другого массива. Кроме того, векторы с различными ориентациями (один вектор-строка и один вектор-столбец) неявно расширяются, чтобы сформировать матрицу.
C = power( A , B ) альтернативный путь состоит в том, чтобы выполнить A.^B , но редко используется. Это позволяет выполнить перегрузку оператора для классов.
Примеры
Квадрат каждый элемент вектора
Создайте вектор, A , и квадрат каждый элемент.
Нахождение инверсии каждого элемента матрицы
Создайте матрицу, A , и возьмите инверсию каждого элемента.
Инверсия элементов не равна инверсии матрицы, которая является вместо этого записанным A^-1 или inv(A) .
Вектор-строка к степени вектор-столбца
Создайте 1 2 вектор-строку и вектор-столбец 3 на 1 и возведите вектор-строку в степень из вектор-столбца.
Результатом является 3-на-2 матрица, где каждый (i, j) элемент в матрице равен a (j) .^ b(i) :
a = [ a 1 a 2 ] , b = [ b 1 b 2 b 3 ] , a . ˆ b = [ a 1 b 1 a 2 b 1 a 1 b 2 a 2 b 2 a 1 b 3 a 2 b 3 ] .
Нахождение корней номера
Вычислите корни -1 к 1/3 степень.
Для отрицательного основного A и нецелое число B , power функция возвращает комплексные результаты.
Используйте nthroot функция, чтобы получить действительные корни.
Входные параметры
A B — Операнды
скаляры | векторы | матрицы | многомерные массивы
Операнды в виде скаляров, векторов, матриц или многомерных массивов. A и B должен или быть одного размера или иметь размеры, которые совместимы (например, A M — N матрица и B скаляр или 1 — N вектор-строка). Для получения дополнительной информации см. «Совместимые размеры массивов для основных операций».
Операнды с целочисленным типом данных не могут быть комплексными.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Поддержка комплексного числа: Да
Больше о
Податливость IEEE
Для действительных входных параметров, power имеет несколько поведений, которые отличаются от рекомендуемых в Стандарте IEEE ® -754.
Вопросы совместимости
Изменение неявного расширения влияет на аргументы для операторов
Поведение изменяется в R2016b
При запуске в R2016b со сложения неявного расширения некоторые комбинации аргументов для основных операций, которые ранее возвратили ошибки теперь, приводят к результатам. Например, вы ранее не могли добавить строку и вектор-столбец, но те операнды теперь допустимы для сложения. Другими словами, выражение как [1 2] + [1; 2] ранее возвращенный ошибка несоответствия размера, но теперь это выполняется.
Если ваш код использует поэлементные операторы и использует ошибки что MATLAB, ранее возвращенный для несовпадающих размеров, особенно в try / catch блокируйтесь, затем ваш код больше не может фиксировать те ошибки.
Для получения дополнительной информации о необходимых входных размерах для основных операций над массивами смотрите Совместимые Размеры Массивов для Основных Операций.
Расширенные возможности
«Высокие» массивы
Осуществление вычислений с массивами, которые содержат больше строк, чем помещается в памяти.
Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.
Указания и ограничения по применению:
Когда оба X и Y действительны, но power(X,Y) является комплексным, симуляция производит код ошибки, и сгенерированный код возвращает NaN . Чтобы получить комплексный результат, сделайте входное значение X комплекс путем передачи в complex(X) . Например, power(complex(X),Y) .
Когда оба X и Y действительны, но X .^ Y является комплексным, симуляция производит код ошибки, и сгенерированный код возвращает NaN . Чтобы получить комплексный результат, сделайте входное значение X комплекс при помощи complex(X) . Например, complex(X).^Y .
Генерация кода не поддерживает входные параметры разреженной матрицы для этой функции.
Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.
Указания и ограничения по применению:
Когда оба X и Y действительны, но power(X,Y) является комплексным, симуляция производит код ошибки, и сгенерированный код возвращает NaN . Чтобы получить комплексный результат, сделайте входное значение X комплекс путем передачи в complex(X) . Например, power(complex(X),Y) .
Когда оба X и Y действительны, но X .^ Y является комплексным, симуляция производит код ошибки, и сгенерированный код возвращает NaN . Чтобы получить комплексный результат, сделайте входное значение X комплекс при помощи complex(X) . Например, complex(X).^Y .
Генерация кода не поддерживает входные параметры разреженной матрицы для этой функции.
Массивы графического процессора
Ускорьте код путем работы графического процессора (GPU) с помощью Parallel Computing Toolbox™.
Указания и ограничения по применению:
64-битные целые числа не поддержаны.
Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
Распределенные массивы
Большие массивы раздела через объединенную память о вашем кластере с помощью Parallel Computing Toolbox™.
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
Смотрите также
Представлено до R2006a
Открытый пример
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Документация MATLAB
Поддержка
© 1994-2020 The MathWorks, Inc.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
Источник статьи: http://docs.exponenta.ru/matlab/ref/power.html
Основные математические функции 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:
Для доступа к тому или иному элементу вектора используется следующая конструкция языка:
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
Источник статьи: http://studopedia.ru/9_50891_osnovnie-matematicheskie-funktsii-MatLab.html
Документация
Операторы MATLAB и специальные символы
Эта страница содержит всесторонний список всех операторов MATLAB ® , символов и специальных символов.
Арифметические операторы
Поэлементное правое деление
Поэлементное левое деление
(также известный как обратную косую черту )
Комплексное сопряженное транспонирование
Операторы отношения
Логические операторы
Логический AND (с замыканием накоротко)
Логический OR (с замыканием накоротко)
Специальные символы
Конструкция указателя на функцию и ссылка
Вызов методов суперкласса
Описание: @ символ формирует указатель на любого именованная функция, которая следует за @ подайте знак, или анонимной функции, которая следует за @ знак. Можно также использовать @ вызывать методы суперкласса от подклассов.
Создайте указатель на функцию к именованной функции:
Создайте указатель на функцию к анонимной функции:
Вызовите disp метод MySuper от подкласса:
Вызовите конструктора суперкласса от подкласса с помощью создаваемого объекта:
Свойство объекта или спецификатор метода
Описание: символ точки разделяет неотъемлемые и дробные части номера, такие как 3.1415 . Операторы MATLAB, которые содержат период всегда, работают поэлементные. Символ точки также позволяет вам получить доступ к полям в структуре, а также свойствам и методам объекта.
Спецификатор свойства объекта:
Имя: Точечная точечная точка или замещающий знак
Использование: продолжение Линии
Описание: Три или больше периода в конце линии продолжают текущую команду на следующей строке. Если три или больше периода происходят перед концом линии, то MATLAB игнорирует остальную часть линии и продолжается к следующей строке. Это эффективно делает комментарий из чего-либо на текущей линии, которая следует за этими тремя периодами.
Примечание
MATLAB интерпретирует замещающий знак как пробел. Поэтому многострочные команды должны быть допустимыми как одна строка с замещающим знаком, замененным пробелом.
Продолжите вызов функции на следующей строке:
Разбейте вектор символов на несколько линий и конкатенируйте линии вместе:
Чтобы прокомментировать одну линию в многострочной команде, используйте . в начале линии, чтобы гарантировать, что команда остается завершенной. Если вы используете % чтобы прокомментировать линию, это производит ошибку:
Однако этот код запускается правильно, поскольку третья линия не производит разрыв в команде:
Описание: Используйте запятые, чтобы разделить элементы строки в массиве, индексах массивов, входном параметре функции и выходных аргументах, и команды ввели в ту же линию.
Отдельные элементы строки, чтобы создать массив:
Отдельные аргументы ввода и вывода в вызовах функции:
Разделите несколько команд на той же линии (показав выход):
Описание: Используйте оператор двоеточия, чтобы создать расположенные с равными интервалами векторы, индекс в массивы, и задать границы for цикл.
Создайте вектор, который постепенно увеличивается 3:
Измените форму матрицы в вектор-столбец:
Присвойте новые элементы, не изменяя форму массива:
Индексируйте область значений элементов в конкретной размерности:
Индексируйте все элементы в конкретной размерности:
Подавите выход строки кода
Описание: Используйте точки с запятой, чтобы разделить строки в команде создания массивов или подавить выходное отображение строки кода.
Отдельные строки, чтобы создать массив:
Разделите несколько команд на одной строке (подавляющий выход):
Описание: Используйте круглые скобки, чтобы задать приоритет операций, заключить входные аргументы функции и индекс в массив.
Пустой элемент матрицы и удаление элемента массива
Несколько присвоение выходного аргумента
Описание: Квадратные скобки включают конструкцию массивов и конкатенацию, создание пустых матриц, удаление элементов массива и значения получения, возвращенные функцией.
Создайте трехэлементный вектор:
Добавьте новый нижний ряд в матрицу:
Получите три выходных аргумента от функции:
Использование: присвоение Массива ячеек и содержимое
Описание: Используйте фигурные скобки, чтобы создать массив ячеек или получить доступ к содержимому конкретной ячейки в массиве ячеек.
Чтобы создать массив ячеек, заключите все элементы массива в фигурных скобках:
Индексируйте к определенному элементу массива ячеек путем включения всех индексов в фигурные скобки:
Описание: знак процента обычно используется, чтобы указать на неисполняемый текст в теле программы. Этот текст обычно используется, чтобы включать комментарии в ваш код.
Некоторые функции также интерпретируют знак процента как спецификатор преобразования.
Два знака процента, %% , служите разделителем ячейки как описано в Секциях кода.
Добавьте комментарий в блок кода:
Используйте спецификатор преобразования с sprintf :
Имя: фигурная скобка Процента
Использование: Блокируйте комментарии
Описание: % < и %>символы заключают блок комментариев, которые расширяют вне одной линии.
Примечание
За исключением пробельных символов, % < и %>операторы должны казаться одними на линиях, которые сразу предшествуют и следуют за блоком текста справки. Не включайте никакой другой текст на этих линиях.
Заключите любые многострочные комментарии с процентом, сопровождаемым открытием или закрывающей фигурной скобкой:
Использование: команда Операционной системы
Описание: восклицательный знак предшествует командам операционной системы, которые вы хотите выполнить из MATLAB.
Не доступный в MATLAB Online™ .
Восклицательный знак инициирует функцию Escape интерпретатора. Такая функция должна быть выполнена непосредственно операционной системой:
Использование: Метакласс для класса MATLAB
Описание: вопросительный знак получает meta.class объект для конкретного имени класса. ? оператор работает только с именем класса, не объектом.
Получите объект meta.class для класса inputParser :
Использование: конструктор Символьного массива
Описание: Используйте одинарные кавычки, чтобы создать векторы символов, которые имеют класс char .
Использование: Представьте конструктора в виде строки
Описание: Используйте двойные кавычки, чтобы создать строковые скаляры, которые имеют класс string .
Создайте строковый скаляр:
Описание: Используйте пробел, чтобы разделить элементы строки в конструкторе Array или значения, возвращенные функцией. В этих контекстах пробел и запятая эквивалентны.
Отдельные элементы строки, чтобы создать массив:
Отдельные выходные аргументы в вызовах функции:
Описание: Используйте символ новой строки, чтобы разделить строки в операторе конструкции массивов. В том контексте символ новой строки и точка с запятой эквивалентны.
Отдельные строки в команде создания массивов:
Описание: Используйте символ тильды, чтобы представлять логический НЕ или подавить определенные аргументы ввода или вывода.
Вычислите логическое НЕ матрицы:
Определите где элементы A не равны тем из B :
Возвратите только третье выходное значение union :
Описание: Используйте знак «равно», чтобы присвоить значения переменной. Синтаксис B = A хранит элементы A в переменной B .
Примечание
= символ для присвоения, тогда как == символ для сравнения элементов в двух массивах. Смотрите eq для получения дополнительной информации.
Создайте матричный A . Присвойте значения в A к новой переменной, B . Наконец, присвойте новое значение первому элементу в B .
Имя: Открывающая угловая скобка и амперсанд
Использование: Задайте суперклассы
Описание: Задайте один или несколько суперклассов в определении класса
Задайте класс, который выводит из одного суперкласса:
Задайте класс, который выводит из нескольких суперклассов:
Имя: Точечный вопросительный знак
Использование: Задайте поля структуры значения имени
При использовании валидации аргумента функции можно задать поля структуры значения имени как имена всех writeable свойств класса.
Задайте имена полей propArgs структура как writeable свойства matlab.graphics.primitive.Line класс.
Строка и символьное форматирование
Некоторые специальные символы могут только использоваться в тексте вектора символов или строки. Можно использовать эти специальные символы, чтобы вставить новые строки или возвраты каретки, задать пути к папкам и т.д.
Используйте специальные символы в этой таблице, чтобы задать путь к папке с помощью вектора символов или строки.
Имя: наклонная черта и обратная косая черта
Использование: Путь к файлу или разделение пути к папке
Описание: В дополнение к их использованию в качестве математических операторов наклонная черта и символы обратной косой черты разделяют элементы пути или папки. В основанных на Microsoft ® Windows ® системах обе наклонных черты и обратная косая черта оказывают то же влияние. В основанных на Open Group UNIX ® системах необходимо использовать наклонную черту только.
В системе Windows можно использовать или обратную косую черту или наклонную черту:
В системе UNIX используйте только наклонную черту вправо:
Описание: Две точки по очереди относятся к родительскому элементу текущей папки. Используйте этот символ, чтобы задать пути к папкам относительно текущей папки.
Повыситься два уровня в дереве папки и вниз в test папка, используйте:
Использование: Подстановочный символ
Описание: В дополнение к тому, чтобы быть символом для умножения матриц, звездочка * используется в качестве подстановочного символа.
Подстановочные знаки обычно используются в операциях файла, которые действуют на несколько файлов или папок. MATLAB совпадает со всеми символами на имя точно за исключением подстановочного символа * , который может совпадать с любым или большим количеством символов.
Найдите все файлы с именами, которые запускаются с january_ и имейте .mat расширение файла:
Использование: индикатор папки Класса
Описание: @ знак указывает на имя папки класса.
Обратитесь к папке класса:
Использование: индикатор директории Пакета
Описание: + знак указывает на имя папки пакета.
Папки пакета всегда начинаются с + символ:
Существуют определенные специальные символы, которые вы не можете ввести как обычный текст. Вместо этого необходимо использовать уникальные последовательности символов, чтобы представлять их. Используйте символы в этой таблице к строкам формата и векторам символов самостоятельно или в сочетании с функциями форматирования как compose sprintf , и error . Для получения дополнительной информации см. Форматирующий текст.
Одна обратная косая черта
Шестнадцатеричный номер, N
Похожие темы
Документация MATLAB
Поддержка
© 1994-2020 The MathWorks, Inc.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
Источник статьи: http://docs.exponenta.ru/matlab/matlab_prog/matlab-operators-and-special-characters.html