возведение в степень
A, t скаляр, вектор или матрица кодированных целых чисел, десятичных или комплексных чисел, полиномов или дробно-рациональных выражений.
b скаляр, вектор или матрица кодированных целых чисел, десятичных или комплексных чисел.
Если операндом являются кодированные целые числа, то другие числа могут быть только кодированными целыми числами или вещественными числами.
Если A является полиномами или дробно-рациональными выражениями, то b может быть только одиночным десятичным (положительным или отрицательным) числом.
Описание
.^ поэлементное возведение в степень
Если A или b скаляр, то он сначала реплицируется до размера другого с помощью A*ones(b) или b*ones(A) . В противном случае A и b должны быть одинакового размера.
Затем для каждого элемента с индексом i вычисляется t(i) = A(i)^b(i) .
^ матричное возведение в степень
- A скаляр, а b вектор;
- A вектор, а b скаляр.
- если A скаляр, а b квадратная матрица, то A^b является матрицей expm(log(A) * b) ;
- если A квадратная матрица, а b скаляр, то A^b является матрицей A в степени b .
Примечания
- Для квадратных матриц A , A^p вычисляется через последовательное перемножение матриц, если p является положительным числом, а иначе — через диагонализацию (см. примечания №2 и №3 ниже).
- Если A квадратная и эрмитова матрица, а p нецелый скаляр, то A^p вычисляется как: A ^ p = u * diag ( diag ( s ) .^ p ) * u ‘ (для вещественной матрицы A во внимание принимается только вещественная часть ответа). u и s определяются как [ u , s ] = schur ( A ) .
- Если A не является эрмитовой матрицей, а p является нецелым скаляром, то A^p вычисляется как: A ^ p = v * diag ( diag ( d ) .^ p ) * inv ( v ) (для вещественной матрицы A во внимание принимается только вещественная часть ответа). d и v определяются как [ d , v ] = bdiag ( A + 0 * %i ) .
- Если A и p вещественные или комплексные числа, то A^p является главным значением, определяемым как A ^ p = exp ( p * log ( A ) ) (или A ^ p = exp ( p * ( log ( abs ( A ) ) + %i * atan ( imag ( A ) / real ( A ) ) ) ) ).
- Если A является квадратной матрице, а p вещественным или комплексным числом, то A.^p является главным значением вычисленным как: A .^ p = exp ( p * log ( A ) ) (то же самое, что и в случае 4 выше).
- операторы ** и ^ являются синонимами.
Возведение в степень в Scilab является оператором с ассоциативностью справа, в отличие от Matlab® и Octave. Например 2^3^4 в Scilab равно 2^(3^4) , а в Matlab® и Octave равно (2^3)^4 .
Примеры
A = [1 2 ; 3 4]; A ^ 2.5, A .^ 2.5 (1:10) ^ 2 (1:10) .^ 2 A ^ %i A .^ %i exp(%i*log(A)) s = poly(0,'s') s ^ (1:10)
Смотрите также
- exp — поэлементная показательная функция
- expm — квадратная матрица экспоненциальной функции
- крышечка — (^) возведение в степень
- inv — matrix inverse
История
| Версия | Описание |
| 6.0.0 | С десятичным или комплексным числами scalar ^ squareMat теперь даёт expm(log(scalar)*squareMat) вместо scalar .^ squareMat . |
02 Основы работы в MATLAB
2- Основы работы в Matlab 2.1. Работа в командном окне, арифметические операции, форматы чисел, константы в Матлаб 2.2. Стандартные функции в MATLAB, специальные функции пользователя 2.3. Векторы, поэлементные и матричные операции, вычисление сложных функции от данного вектора, 2.4. Матрицы как двумерные массивы, обработка матриц и операции с матрицами
2.1 — Работа в командном окне, арифметические операции, форматы чисел, константы в Матлаб Основные арифметические операторы, сложение, вычитание, умножение, деление, возведение в степень + — * / ^ Следующие операции можно выполнять в командном окне: >> x = 2+7 x = 9 >> x = 3*15 x = 45 >> x = 4^4 x = 64 >> x = 100/8 x= 12.5 >> x = (17 — 9) * 6 / 6 x = 8
Форматы чисел;
| format short | 1.3333 | 0.0000 |
| format short e | 1.3333E+000 | 1.2345E-6 |
| format long | 1.333333333333338 | 0.000001234500000 |
| format long e | 1.333333333333338 E+000 | 1.234500000000000E-006 |
| format bank | 1.33 | 0.00 |
| >> x=pi | >> format long e |
| x = | >> x |
| 3.1416 | x = |
| >> format long | 3.141592653589793e+000 |
| >> x | >> format bank |
| x = | >> x |
| 3.141592653589793 | x = |
| 3.14 | |
| >> format short e | |
| >> x | |
| x = | |
| 3.1416e+000 |
Константы и переменные в Matlab >> pi ans = 3.1416 (какой формат ?) >> e = exp (1) e = 2.7183e+000 (Какой формат ?) Здесь exp( ) встроенная функция, вычисляет экспоненты. eps − ε = 2.2204e-016 (самое малое число, которое отличает двух чисел друг от друга) ans − результат последней операции без знака присвивания i, j − мнимая единица ( −1 ) inf − машинный символ бесконечности NaN − неопределенный результат (0/0, ∞/ ∞, 1 ∞ , и т.д.) Знак процента % используется при вводе комментарий в любом месте в листинге кода, в начале операции или между строками. 4
2.2. Стандартные функции в MATLAB, специальные функции пользователя
| Тригонометрические | Описание функции | |
| Функции | ||
| sin(x) / sind(x) | синус числа х (радиан) / синус числа х (градус) | |
| cos(x) / cosd(x) | косинус числа х (радиан) / косинус числа х (градус) | |
| tan(x) / tand(x) | тангенс числа х (радиан) / тангенс числа х (градус) | |
| cot(x) / cotd(x) | котангенс числа х (радиан) | / котангенс числа х (градус) |
| sec(x) / secd(x) | секанс числа х (радиан) / | секанс числа х (градус) |
| csc(x) / cscd(x) | косеканс числа х (радиан) / косеканс числа х (градус) | |
| asin(x) / asind(x) | арксинус чилса х (радиан) / арксинус чилса х (градус) | |
| acos(x) / acosd(x) | арккосинус числа х (радиан) / арккосинус числа х (градус) | |
| atan(x) / atand(x) | арктангенс числа х (радиан) / арктангенс числа х (градус) | |
| acot(x) / acotd(x) | арккотангенс числа х (радиан) / арккотангенс числа х | |
| (градус) | ||
| asec(x) / asecd(x) | арксеканс числа х (радиан) | / арксеканс числа х (градус) |
| acsc(x) / acscd(x) | арккосеканс числа х (радиан) / арккосеканс числа х | |
| (градус) | ||
| Гиперболические Функции | Описание функции |
| sinh(x) | гиперболический синус числа х |
| cosh(x) | гиперболический косинус числа х |
| tanh(x) | гиперболический тангенс числа х |
| coth(x) | гиперболический котангенс числа х |
| sech(x) | гиперболический секанс числа х |
| csch(x) | гиперболический косеканс числа х |
| Экспоненциальные | Описание функции |
| Функции | |
| exp(x) | Экспонента числа х |
| log(x) | Натуральный логарифм числа х |
| Целочисленные | Описание функции |
| Функции | |
| fix(x) | Округление числа х до ближайжего целого в сторону нуля |
| floor(x) | Округление числа х до ближайжего целого в сторону -∞ |
| ceil(x) | Округление числа х до ближайжего целого в сторону +∞ |
| round(x) | Обычное округление числа х до ближайжего целого |
| rem(x,y) | Вычисление остатка от деления x на y |
| sign(x) | Сигнум-функция числа х |
| Другие Функции | Описание функции | |
| sqrt(x) | (square root of x) | Корень квадратной из числа х |
| abs(x) | (absolute of x) | Модуль числа х |
| log10(x) | Десятичный логарифм от числа х | |
| log2(x) | Логарифм по основанию два от числа х | |
| pow2(x) | Возведение двойки в степень х | |
| gcd(x) | (greatest common | Наибольший общий делитель чисел x и y |
| divisor) | ||
| lcm(x) | (least common | Наименьшее общее кратное чисел x и y |
| multiple) | ||
| rats(x) | Представление числа х в виде рациональной дроби | |
| factorial(x) | Вычисление факториала от х | |
| primes(x) | Генерация простых чисел, не превосходящих | |
| аргумента x | ||
| reallog(x) | ln(x) натуральный логарифм от х | |
| realsqrt(x) | корень квадратный | |
степень.^
C = A .^ B возводит каждый элемент A к соответствующей степени в B .
C = power( A , B ) альтернативный путь состоит в том, чтобы выполнить A.^B , но редко используется. Это позволяет выполнить перегрузку оператора для классов.
Примеры
Квадрат каждый элемент вектора
Создайте вектор, A и квадрат каждый элемент.
A = 1:5; C = A.^2
C = 1×5 1 4 9 16 25
Нахождение инверсии каждого элемента матрицы
Создайте матрицу, A , и возьмите инверсию каждого элемента.
A = [1 2 3; 4 5 6; 7 8 9]; C = A.^-1
C = 3×3 1.0000 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111
Инверсия элементов не равна инверсии матрицы, которая является вместо этого записанным A^-1 или inv(A) .
Нахождение корней номера
Вычислите корни -1 к степени 1/3 .
A = -1; B = 1/3; C = A.^B
C = 0.5000 + 0.8660i
Для отрицательного основного A и нецелого числа B , если abs(B) является меньше, чем 1 , функция power , возвращает комплексные корни A .
Используйте функцию nthroot , чтобы получить действительные корни.
C = nthroot(A,3)
C = -1
Входные параметры
A Основа
скаляр | вектор | матрица | многомерный массив
Основа, заданная как скаляр, вектор, матрица или многомерный массив. Входные параметры A и B должны или быть одного размера или иметь размеры, которые совместимы (например, A является M -by- N матрица, и B является скаляром или 1 -by- N вектор — строка). Для получения дополнительной информации см. «Совместимые размеры массивов для основных операций».
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Поддержка комплексного числа: Да
B Экспонента
скаляр | вектор | матрица | многомерный массив
Экспонента, заданная как скаляр, вектор, матрица или многомерный массив. Входные параметры A и B должны или быть одного размера или иметь размеры, которые совместимы (например, A является M -by- N матрица, и B является скаляром или 1 -by- N вектор — строка). Для получения дополнительной информации см. «Совместимые размеры массивов для основных операций».
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Поддержка комплексного числа: Да
Больше о
Соответствие IEEE
Для действительных входных параметров power имеет несколько поведений, которые отличаются от рекомендуемых в Стандарте IEEE ® -754.
Расширенные возможности
«Высокие» массивы
Осуществление вычислений с массивами, которые содержат больше строк, чем помещается в памяти.
Генерация кода 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 .
- Генерация кода не поддерживает входные параметры разреженной матрицы для этой функции.
Массивы графического процессора
Ускорьте код путем работы графического процессора (GPU) с помощью Parallel Computing Toolbox™.
Указания и ограничения по применению:
- 64-битные целые числа не поддержаны.
Для получения дополнительной информации смотрите функции MATLAB Выполнения на графическом процессоре (Parallel Computing Toolbox).
Распределенные массивы
Большие массивы раздела через объединенную память о вашем кластере с помощью Parallel Computing Toolbox™.
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Выполнения с Распределенными Массивами (Parallel Computing Toolbox).
Смотрите также
Темы
- Массив по сравнению Матричные операции
- Приоритет операторов
- Операторы MATLAB и специальные символы
Представлено до R2006a
Документация MATLAB
Поддержка
- MATLAB Answers
- Помощь в установке
- Отчеты об ошибках
- Требования к продукту
- Загрузка программного обеспечения
© 1994-2019 The MathWorks, Inc.
- Условия использования
- Патенты
- Торговые марки
- Список благодарностей
Для просмотра документации необходимо авторизоваться на сайте
Войти
Памятка переводчика
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
power , .^
C = A .^ B возводит каждый элемент A к соответствующим степеням в B . Размеры A и B должен быть то же самое или быть совместимым.
Если размеры A и B совместимы, затем эти два массива неявно расширяются, чтобы совпадать друг с другом. Например, если один из A или B скаляр, затем скаляр объединен с каждым элементом другого массива. Кроме того, векторы с различными ориентациями (один вектор-строка и один вектор-столбец) неявно расширяются, чтобы сформировать матрицу.
C = power( A , B ) альтернативный путь состоит в том, чтобы выполнить A.^B , но редко используется. Это позволяет выполнить перегрузку оператора для классов.
Примеры
Квадрат каждый элемент вектора
Создайте вектор, A , и квадрат каждый элемент.
A = 1:5; C = A.^2
C = 1×5 1 4 9 16 25
Нахождение инверсии каждого элемента матрицы
Создайте матрицу, A , и возьмите инверсию каждого элемента.
A = [1 2 3; 4 5 6; 7 8 9]; C = A.^-1
C = 3×3 1.0000 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111
Инверсия элементов не равна инверсии матрицы, которая является вместо этого записанным A^-1 или inv(A) .
Вектор-строка к степени вектор-столбца
Создайте вектор 1 на 2 строки и вектор-столбец 3 на 1 и возведите вектор-строку в степень из вектор-столбца.
a = [2 3]; b = (1:3)'; a.^b
ans = 3×2 2 3 4 9 8 27
Результатом является 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 = -1; B = 1/3; C = A.^B
C = 0.5000 + 0.8660i
Для отрицательного основного A и нецелое число B , power функция возвращает комплексные результаты.
Используйте nthroot функция, чтобы получить действительные корни.
C = nthroot(A,3)
C = -1
Входные параметры
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, ранее возвращенный для несовпадающих размеров, особенно в a 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 .
- Генерация кода не поддерживает входные параметры разреженной матрицы для этой функции.
Генерация HDL-кода
Сгенерируйте Verilog и код VHDL для FPGA и проекты ASIC с помощью HDL Coder™.
Оба входных параметров должны быть скаляром, и входом экспоненты, k , должно быть целое число.
Основанная на потоке среда
Запустите код в фоновом режиме с помощью MATLAB® backgroundPool или ускорьте код с Parallel Computing Toolbox™ ThreadPool .
Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
Массивы графического процессора
Ускорьте код путем работы графического процессора (GPU) с помощью Parallel Computing Toolbox™.
Указания и ограничения по применению:
- 64-битные целые числа не поддерживаются.
Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox) .
Распределенные массивы
Большие массивы раздела через объединенную память о вашем кластере с помощью Parallel Computing Toolbox™.
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox) .
Смотрите также
Темы
- Массив по сравнению Матричные операции
- Приоритет операторов
- Операторы MATLAB и специальные символы
Представлено до R2006a
Открытый пример
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Документация MATLAB
Поддержка
- MATLAB Answers
- Помощь в установке
- Отчеты об ошибках
- Требования к продукту
- Загрузка программного обеспечения
© 1994-2021 The MathWorks, Inc.
- Условия использования
- Патенты
- Торговые марки
- Список благодарностей
Для просмотра документации необходимо авторизоваться на сайте
Войти
Памятка переводчика
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.