Возведение в степень, извлечение корня и логарифмирование¶
В этом примере показаны различные способы нахождения степени, корня, экспоненты и логарифма
Возведение в степень¶
Зададим квадратную матрицу $X$ целых чисел размерностью 3$\times$3.
X = [3 1 4
5 1 3
2 8 7];
Возведение матрицы в степень $Y=X^n$ равнозначно матричному умножению $X$ самой на себя $n-1$ раз.
X ^ 2
Поэлементное возведение матрицы в степень равнозначно поэлементному умножению матрицы самой на себя. Например: $Y =X^2= X \odot X$.
X .^ 2
Для возведения в степень с присваиванием можно использовать следующие выражения:
X ^= 2
X = [3 1 4
5 1 3
2 8 7];
X .^= 2
Также поддерживается возведение в отрицательную степень:
X = [3 1 4
5 1 3
2 8 7];
X ^ (-3)
Такая операция соответствует умножению обратной матрицы $X^{-1}$ самой на себя $n-1$ раз.
isequal(X^(-3), inv(X)^3)
Рассмотрим возведение в степень с показателем в виде рационального числа или числа с плавающей точкой:
Q = 2//3;
q = 2/3;
X ^ Q
isequal(X^Q, X^q)
Извлечение корня¶
Вычислить квадратный корень матрицы $Y = \sqrt{X}$ можно несколькими способами:
- при помощи функции
sqrt()
; - возведением в степень $\frac{1}{2}$;
- при помощи оператора квадратного корня
√
.
sqrt(X)
isequal(√X,sqrt(X))
Для каждого из способов извлечения квадратного корня существует его поэлементный аналог:
sqrt.(X)
isequal(.√X,sqrt.(X)) && isequal(X.^(0.5),sqrt.(X))
Для вычисления целочисленного квадратного корня можно воспользоваться функцией isqrt()
:
isqrt(26)
Вычислить кубический корень $y = \sqrt[3]{x}$ можно несколькими способами:
- при помощи функции
cbrt()
; - при помощи оператора кубического корня
∛
.
x = 1e3;
cbrt(x)
isequal(∛x,cbrt(x))
Вычисление кубического корня матриц и корней больших порядков $n$ возможно только посредством возведения в степень $\frac{1}{n}$.
Для операции ∛
и функции cbrt()
также доступно поэлементное вычисление матриц.
cbrt.(X)
isequal(.∛x,cbrt.(x))
Следует обратить внимание, что при вычислении корня чётного порядка отрицательного действительного числа будет сформирована ошибка. Для корректных вычислений в таком случае подкоренное выражение необходимо преобразовать в комплексное представление.
sqrt(complex(-1))
Экспонента и показательные функции¶
Вычисление экспоненты числа выполняется следующим образом:
exp(1)
Для точного вычисления $exp(a)-1$, при $a$ около нуля можно воспользоваться функцией expm1()
expm1(eps()/10)
Для сравнения, результат вычисления $a$ около нуля функцией exp()
:
exp(eps()/10)-1.0
Также существуют фунции вычисления степени по основаниям 2 и 10.
exp2(10)
exp10(7)
Для эффективного вычисления степени по выражению $x\cdot2^{n}$ используется функция ldexp(x,n)
, где x - число с плавающей точкой, n - целое число.
ldexp(2.0,10)
Логарифмирование¶
Для вычисления натурального логарифма используется функция log()
.
log(exp(1))
Также можно вычислить логарифм по основаниям 2 и 10:
log2(2048)
log10(1e-6)
Логарифм $x=log_a{b}$ по заданному основаниию $a$ рассчитывается при помощи функции log(a,b)
.
log(8,512)
Для точного вычисления натурального логарифма log(x+1)
для x около нуля используется функция:
log1p(eps()/10)
Для сравнения, стандартная функция log(1+x)
выдаст следующий результат:
log(1+eps()/2)
Вывод¶
В этом демонстрационном примере мы рассмотрели основные приемы использования операций и функций при вычислении степени, корня, экспоненты и логарифма. Дополнительную информацию по приведенным операциям и функциям можно получить в документации Engee Математические операции и элементарные функции.