exponenta event banner

cordictanh

Гиперболическая касательная на основе CORDIC

Описание

пример

T = cordictanh(theta) возвращает гиперболическую касательную theta.

пример

T = cordictanh(theta, niters) возвращает гиперболическую касательную тета, выполняя niters итерации алгоритма CORDIC.

Примеры

свернуть все

Найти гиперболическую касательную fi объект theta использование реализации CORDIC с количеством итераций по умолчанию.

theta = fi(-2*pi:.1:2*pi-.1);
T_cordic = cordictanh(theta);

Постройте график гиперболической касательной theta с использованием tanh функция и ее аппроксимация CORDIC.

T = tanh(double(theta));
plot(theta, T_cordic);
hold on;
plot(theta, T);
legend('CORDIC approximation of tanh', 'tanh');
xlabel('theta');
ylabel('tanh(theta)');

Figure contains an axes. The axes contains 2 objects of type line. These objects represent CORDIC approximation of tanh, tanh.

Вычислить разницу между результатами cordictanh функции и tanh функция.

figure;
err = abs(T - double(T_cordic));
plot(theta, err);
xlabel('theta');
ylabel('error');

Figure contains an axes. The axes contains an object of type line.

Найти гиперболическую касательную fi объект theta используя реализацию CORDIC, укажите количество итераций, которые должно выполнять ядро CORDIC. Постройте график CORDIC аппроксимации гиперболической касательной тета с различными числами итераций.

theta = fi(-2*pi:.1:2*pi-.1);
for niters = 5:10:25
T_cordic = cordictanh(theta, niters);
plot(theta, T_cordic);
hold on;
end
xlabel('theta');
ylabel('tanh(theta)');
legend('5 iterations', '15 iterations', '25 iterations','Location','southeast');

Figure contains an axes. The axes contains 3 objects of type line. These objects represent 5 iterations, 15 iterations, 25 iterations.

Входные аргументы

свернуть все

Значения углов в радианах, заданные как скаляр, вектор, матрица или N-мерный массив.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

Число итераций, выполняемых алгоритмом CORDIC, указанное как положительный скаляр с целым числом. Если не указать nitersалгоритм использует значение по умолчанию. Для вводов с фиксированной точкой значение по умолчанию: niters на единицу меньше длины слова входного массива, theta. Для вводов с двойной точностью значение по умолчанию niters составляет 52. Для входов с одинарной точностью значением по умолчанию является 23.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

Выходные аргументы

свернуть все

T - аппроксимация гиперболической касательной на основе CORDIC theta. Если входным значением функции является плавающая точка, тип выходных данных совпадает с типом входных данных. Когда вход является фиксированной точкой, выход имеет ту же длину слова, что и вход, и длину дроби, равную WordLength2.

См. также

| | |

Представлен в R2017b