function [m_rot]=rot_s(arg,axis)
%Вычисление единичной матрицы поворота на угол ARG
%относительно оси AXIS
%
%    |  Cos(ARG) -Sin(ARG) 0 |
%    |  Sin(ARG)  Cos(ARG) 0 |, относительно Z
%    |     0         0     1 |
%
%  Вызов: [m_rot]=rot_s(arg,axis)
%
%        arg   - величина угла поворота в градусах;
%        axis  - название оси ('x','y','z');
%
%        m_rot - выходна? матрица (3*3)
%

if nargin~=2
     error ('Несоответствие количества аргументов')
end
%
m_rot=zeros(3);     % Инициализаци? нулевой матрицы
%
s=sin(d2r(arg));
c=cos(d2r(arg));
%
if axis=='x'
     m_rot(1,1)=1;
     m_rot(2,2)=c;
     m_rot(2,3)=-s;
     m_rot(3,2)=s;
     m_rot(3,3)=c;
elseif axis=='y'
     m_rot(1,1)=c;
     m_rot(1,3)=s;
     m_rot(2,2)=1;
     m_rot(3,1)=-s;
     m_rot(3,3)=c;
elseif axis=='z'
     m_rot(1,1)=c;
     m_rot(1,2)=-s;
     m_rot(2,1)=s;
     m_rot(2,2)=c;
     m_rot(3,3)=1;
else
     error ('Ошибка второго аргумента')
end
