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