|
Еще об элементарных функцияхВ данном разделе будут рассмотрены тригонометрические функции, использующие входные значения в градусах, логарифмические функции, а также специальные матричные операции. Тригонометрические функции, такие как sin и cos, принимают на вход значение в радианах. Их аналоги, предназначенные для работы с аргументами, выраженными в градусах, отличаются наличием буквы "d" в конце имени (например, sind, cosd). Математически пары таких функций связаны соотношениями вида sind x = sinxπ180 . Однако ввиду особенностей компьютерной арифметики результаты выполнения функций для математически эквивалентных аргументов могут различаться. Например, следующий фрагмент демонстрирует вычисление значений sin π и sind 180: -->sin(%pi) ans = 1 .225D-16 -->sind(180) ans = 0. Тот факт, что вычисленное значение sin π не равно в точности 0, связан с ограниченной точностью представления действительных чисел в памяти компьютера. Действительно, количество разрядов в двоичном представлении числа π функции оказывается приближенным. В то же время число 180 представляется точно, поскольку является целым. Поэтому значение sind(180) вычисляется точно. Функция log вычисляет натуральный алгоритм числа - функцию, обратную экспоненте ехр= еx, где e называется основанием натурального логарифма или константой Эйлера. Для вычисления логарифма по основаниям 10 и 2 можно использовать функции log10 и log2 соответственно. В следующем примере мы вычислим значения log, log10 и log2 для набора заданных значений х: -->х =[ехр(1) ехр(2) 1 10 2^1 2^10] х = 2.7182818 7.3890561 1. 10. 2. 1024. -->[х' log(x') log10(x') log2(x')] 2.7182818 1. 0.4342945 1.442695 7.3890561 2. 0.8685890 2.8853901 1. 0. 0. 0. 10. 2.3025851 1. 3.3219281 2. 0.6931472 0.30103 1. В первом столбце отображены исходные значения х, второй столбец содержит значения log(x), третий и четвертый, соответственно, значения log10(x) и log2(x). Большинство функций являются поэлементными, т.е., получив на вход матрицу, воздействуют на каждый ее элемент независимо. Вместе с тем, некоторые функции имеют специальное значение в линейной алгебре. Так, например, матричная экспонента определена как ex=k=0∞1k!xk. Для расчета матричной экспоненты в Scilab применяется функция expm. Вполне очевидно, что применение обычной функции ехр дает совершенно иной результат. Имена функций, имеющих специальное значение применительно к матрицам, в Scilab оканчиваются буквой "m", например, expm, sinm и др. Следующий фрагмент демонстрирует воздействие функций sin и sinm на матрицу А размером 2 х 2, содержащую кратные π/2 значения: -->А = [%pi/2 %pi; 2*%pi 3*%pi/2] А = 1.5707963 3.1415927 6.2831853 4.712389
-->sin(А) ans = 1. 1.225D-16 - 2.449D-16 - 1. - -->sinm(А) ans = -0.3333333 0.6666667 1.3333333 0.3333333 |
|
© vse-o-scilab |