Еще об элементарных функциях

В данном разделе будут рассмотрены тригонометрические функции, использу­ющие входные значения в градусах, логарифмические функции, а также спе­циальные матричные операции.

Тригонометрические функции, такие как sin и cos, принимают на вход зна­чение в радианах. Их аналоги, предназначенные для работы с аргументами, вы­раженными в градусах, отличаются наличием буквы "d" в конце имени (напри­мер, sind, cosd). Математически пары таких функций связаны соотношениями вида sind x = sin180 . Однако ввиду особенностей компьютерной арифметики ре­зультаты выполнения функций для математически эквивалентных аргументов могут различаться. Например, следующий фрагмент демонстрирует вычисле­ние значений 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')]
ans =

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.
1024.             6.9314718     3.0103           10.

В первом столбце отображены исходные значения х, второй столбец содержит значения log(x), третий и четвертый, соответственно, значения log10(x) и log2(x).

Большинство функций являются поэлементными, т.е., получив на вход мат­рицу, воздействуют на каждый ее элемент независимо. Вместе с тем, некоторые функции имеют специальное значение в линейной алгебре. Так, например, мат­ричная экспонента определена как ex=k=01k!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

Сделать бесплатный сайт с uCoz