MATLAB Examples

Get Angle and radian between two points

Contents

%devloper Er.Abbas Manthiri S
%Email-abbasmanthiribe@gmail.com
%Matlab 2014a

demo start

clc
clear all
close all
%Line length
linelength=20;
tim=0.0001;
%Point O
x1=0;
y1=0;

%Angles
angle=0:359;
rad=angle*pi/180;

Calculating Point P

x2= x1 + linelength * cosd(angle');
y2= y1 + linelength * sind(angle');

Plotting point P

hfig=figure('name','Angle plot','numbertitle','off');
plot(x1,y1)
hold on
for i=1:length(y2)
p=[x1,y1;x2(i),y2(i)];
plot(p(:,1),p(:,2),'-*b')
hold on
title(strcat('Train Angle Degree--',num2str(angle(i))))
pause(tim)
if i==100
    snapnow
end
end
% saveas(hfig,'Train Angle Degree.jpg')

Calculate angle

point_O=[x1,y1];
point_P=[x2,y2];
angle1=getAngle(point_O,point_P);

find P test

x3= x1 + linelength * cosd(angle1);
y3= y1 + linelength * sind(angle1);

Plot test values

for i=1:length(y2)
p=[x1,y1;x3(i),y3(i)];
plot(p(:,1),p(:,2),'-*r')
hold on
title(strcat('Test Angle Degree--',num2str(angle(i))))
pause(tim)
if i==100
    snapnow
end
end
% saveas(hfig,'Test Angle Degree.jpg')

Display and comparison

disp('Train   Test')
temp=[angle' angle1];
disp(temp)
com=find(uint8(angle)==uint8(angle1'));
Train   Test
         0         0
    1.0000    1.0000
    2.0000    2.0000
    3.0000    3.0000
    4.0000    4.0000
    5.0000    5.0000
    6.0000    6.0000
    7.0000    7.0000
    8.0000    8.0000
    9.0000    9.0000
   10.0000   10.0000
   11.0000   11.0000
   12.0000   12.0000
   13.0000   13.0000
   14.0000   14.0000
   15.0000   15.0000
   16.0000   16.0000
   17.0000   17.0000
   18.0000   18.0000
   19.0000   19.0000
   20.0000   20.0000
   21.0000   21.0000
   22.0000   22.0000
   23.0000   23.0000
   24.0000   24.0000
   25.0000   25.0000
   26.0000   26.0000
   27.0000   27.0000
   28.0000   28.0000
   29.0000   29.0000
   30.0000   30.0000
   31.0000   31.0000
   32.0000   32.0000
   33.0000   33.0000
   34.0000   34.0000
   35.0000   35.0000
   36.0000   36.0000
   37.0000   37.0000
   38.0000   38.0000
   39.0000   39.0000
   40.0000   40.0000
   41.0000   41.0000
   42.0000   42.0000
   43.0000   43.0000
   44.0000   44.0000
   45.0000   45.0000
   46.0000   46.0000
   47.0000   47.0000
   48.0000   48.0000
   49.0000   49.0000
   50.0000   50.0000
   51.0000   51.0000
   52.0000   52.0000
   53.0000   53.0000
   54.0000   54.0000
   55.0000   55.0000
   56.0000   56.0000
   57.0000   57.0000
   58.0000   58.0000
   59.0000   59.0000
   60.0000   60.0000
   61.0000   61.0000
   62.0000   62.0000
   63.0000   63.0000
   64.0000   64.0000
   65.0000   65.0000
   66.0000   66.0000
   67.0000   67.0000
   68.0000   68.0000
   69.0000   69.0000
   70.0000   70.0000
   71.0000   71.0000
   72.0000   72.0000
   73.0000   73.0000
   74.0000   74.0000
   75.0000   75.0000
   76.0000   76.0000
   77.0000   77.0000
   78.0000   78.0000
   79.0000   79.0000
   80.0000   80.0000
   81.0000   81.0000
   82.0000   82.0000
   83.0000   83.0000
   84.0000   84.0000
   85.0000   85.0000
   86.0000   86.0000
   87.0000   87.0000
   88.0000   88.0000
   89.0000   89.0000
   90.0000   90.0000
   91.0000   91.0000
   92.0000   92.0000
   93.0000   93.0000
   94.0000   94.0000
   95.0000   95.0000
   96.0000   96.0000
   97.0000   97.0000
   98.0000   98.0000
   99.0000   99.0000
  100.0000  100.0000
  101.0000  101.0000
  102.0000  102.0000
  103.0000  103.0000
  104.0000  104.0000
  105.0000  105.0000
  106.0000  106.0000
  107.0000  107.0000
  108.0000  108.0000
  109.0000  109.0000
  110.0000  110.0000
  111.0000  111.0000
  112.0000  112.0000
  113.0000  113.0000
  114.0000  114.0000
  115.0000  115.0000
  116.0000  116.0000
  117.0000  117.0000
  118.0000  118.0000
  119.0000  119.0000
  120.0000  120.0000
  121.0000  121.0000
  122.0000  122.0000
  123.0000  123.0000
  124.0000  124.0000
  125.0000  125.0000
  126.0000  126.0000
  127.0000  127.0000
  128.0000  128.0000
  129.0000  129.0000
  130.0000  130.0000
  131.0000  131.0000
  132.0000  132.0000
  133.0000  133.0000
  134.0000  134.0000
  135.0000  135.0000
  136.0000  136.0000
  137.0000  137.0000
  138.0000  138.0000
  139.0000  139.0000
  140.0000  140.0000
  141.0000  141.0000
  142.0000  142.0000
  143.0000  143.0000
  144.0000  144.0000
  145.0000  145.0000
  146.0000  146.0000
  147.0000  147.0000
  148.0000  148.0000
  149.0000  149.0000
  150.0000  150.0000
  151.0000  151.0000
  152.0000  152.0000
  153.0000  153.0000
  154.0000  154.0000
  155.0000  155.0000
  156.0000  156.0000
  157.0000  157.0000
  158.0000  158.0000
  159.0000  159.0000
  160.0000  160.0000
  161.0000  161.0000
  162.0000  162.0000
  163.0000  163.0000
  164.0000  164.0000
  165.0000  165.0000
  166.0000  166.0000
  167.0000  167.0000
  168.0000  168.0000
  169.0000  169.0000
  170.0000  170.0000
  171.0000  171.0000
  172.0000  172.0000
  173.0000  173.0000
  174.0000  174.0000
  175.0000  175.0000
  176.0000  176.0000
  177.0000  177.0000
  178.0000  178.0000
  179.0000  179.0000
  180.0000  180.0000
  181.0000  181.0000
  182.0000  182.0000
  183.0000  183.0000
  184.0000  184.0000
  185.0000  185.0000
  186.0000  186.0000
  187.0000  187.0000
  188.0000  188.0000
  189.0000  189.0000
  190.0000  190.0000
  191.0000  191.0000
  192.0000  192.0000
  193.0000  193.0000
  194.0000  194.0000
  195.0000  195.0000
  196.0000  196.0000
  197.0000  197.0000
  198.0000  198.0000
  199.0000  199.0000
  200.0000  200.0000
  201.0000  201.0000
  202.0000  202.0000
  203.0000  203.0000
  204.0000  204.0000
  205.0000  205.0000
  206.0000  206.0000
  207.0000  207.0000
  208.0000  208.0000
  209.0000  209.0000
  210.0000  210.0000
  211.0000  211.0000
  212.0000  212.0000
  213.0000  213.0000
  214.0000  214.0000
  215.0000  215.0000
  216.0000  216.0000
  217.0000  217.0000
  218.0000  218.0000
  219.0000  219.0000
  220.0000  220.0000
  221.0000  221.0000
  222.0000  222.0000
  223.0000  223.0000
  224.0000  224.0000
  225.0000  225.0000
  226.0000  226.0000
  227.0000  227.0000
  228.0000  228.0000
  229.0000  229.0000
  230.0000  230.0000
  231.0000  231.0000
  232.0000  232.0000
  233.0000  233.0000
  234.0000  234.0000
  235.0000  235.0000
  236.0000  236.0000
  237.0000  237.0000
  238.0000  238.0000
  239.0000  239.0000
  240.0000  240.0000
  241.0000  241.0000
  242.0000  242.0000
  243.0000  243.0000
  244.0000  244.0000
  245.0000  245.0000
  246.0000  246.0000
  247.0000  247.0000
  248.0000  248.0000
  249.0000  249.0000
  250.0000  250.0000
  251.0000  251.0000
  252.0000  252.0000
  253.0000  253.0000
  254.0000  254.0000
  255.0000  255.0000
  256.0000  256.0000
  257.0000  257.0000
  258.0000  258.0000
  259.0000  259.0000
  260.0000  260.0000
  261.0000  261.0000
  262.0000  262.0000
  263.0000  263.0000
  264.0000  264.0000
  265.0000  265.0000
  266.0000  266.0000
  267.0000  267.0000
  268.0000  268.0000
  269.0000  269.0000
  270.0000  270.0000
  271.0000  271.0000
  272.0000  272.0000
  273.0000  273.0000
  274.0000  274.0000
  275.0000  275.0000
  276.0000  276.0000
  277.0000  277.0000
  278.0000  278.0000
  279.0000  279.0000
  280.0000  280.0000
  281.0000  281.0000
  282.0000  282.0000
  283.0000  283.0000
  284.0000  284.0000
  285.0000  285.0000
  286.0000  286.0000
  287.0000  287.0000
  288.0000  288.0000
  289.0000  289.0000
  290.0000  290.0000
  291.0000  291.0000
  292.0000  292.0000
  293.0000  293.0000
  294.0000  294.0000
  295.0000  295.0000
  296.0000  296.0000
  297.0000  297.0000
  298.0000  298.0000
  299.0000  299.0000
  300.0000  300.0000
  301.0000  301.0000
  302.0000  302.0000
  303.0000  303.0000
  304.0000  304.0000
  305.0000  305.0000
  306.0000  306.0000
  307.0000  307.0000
  308.0000  308.0000
  309.0000  309.0000
  310.0000  310.0000
  311.0000  311.0000
  312.0000  312.0000
  313.0000  313.0000
  314.0000  314.0000
  315.0000  315.0000
  316.0000  316.0000
  317.0000  317.0000
  318.0000  318.0000
  319.0000  319.0000
  320.0000  320.0000
  321.0000  321.0000
  322.0000  322.0000
  323.0000  323.0000
  324.0000  324.0000
  325.0000  325.0000
  326.0000  326.0000
  327.0000  327.0000
  328.0000  328.0000
  329.0000  329.0000
  330.0000  330.0000
  331.0000  331.0000
  332.0000  332.0000
  333.0000  333.0000
  334.0000  334.0000
  335.0000  335.0000
  336.0000  336.0000
  337.0000  337.0000
  338.0000  338.0000
  339.0000  339.0000
  340.0000  340.0000
  341.0000  341.0000
  342.0000  342.0000
  343.0000  343.0000
  344.0000  344.0000
  345.0000  345.0000
  346.0000  346.0000
  347.0000  347.0000
  348.0000  348.0000
  349.0000  349.0000
  350.0000  350.0000
  351.0000  351.0000
  352.0000  352.0000
  353.0000  353.0000
  354.0000  354.0000
  355.0000  355.0000
  356.0000  356.0000
  357.0000  357.0000
  358.0000  358.0000
  359.0000  359.0000

Accuracy Calculation

accuracy=length(com)*100/360;
fprintf('\n Accuracy is %.2f %% \n',accuracy)
 Accuracy is 100.00 %