MATLAB Answers

# Task: write matlab code for a class MinAngle which calculates the minimum angle between two bearings (bearing A and bearing B).

93 views (last 30 days)
Shikhar Singh on 3 Mar 2021
Commented: Shikhar Singh on 11 Mar 2021
The class shall store the two bearings as properties: angleA and angleB.
Both of these shall be stored as private properties.
The class shall implement a method InputA(angle, type) which sets the value of angleA.
The method shall have two input arguments: angle and type.
If type is ‘radians’ then the unit for angle is radians and the angle shall be stored in angleA.
If type is ‘degrees’ then the unit for angle is degrees and the angle shall be stored in angleA.
If type is any other value then an error should be given with the message ‘ERROR1’.
This is what I have so far:
classdef MinAngle < handle
properties (SetAccess = private)
angleA;
angleB;
end
methods
function InputA(obj,angle,type)
if (type = 'radians')
if(angle > 2*pi || angle < 0)
error('angle not within range')
end
angledeg = rad2deg(angle);
obj.angleA = angledeg;
elseif(type = 'degrees')
if(angle > 360 || angle < 0)
error('angle not within range')
end
obj.angleA = angle;
end
end
end
Need help after this as I am stuck.
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Accepted Answer

Steven Lord on 3 Mar 2021
The assignment operator in MATLAB is =. The element-wise comparison operator is ==. But you should use neither of those in your if statements.
if (type = 'radians')
Use text comparison functions instead, or perhaps use a switch / case statement.
Other than this, is there something else you are trying to do that has you stuck?
##### 5 CommentsShowHide 4 older comments
Shikhar Singh on 11 Mar 2021
Thanks for the help, doing that worked :)

Sign in to comment.

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!