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

2 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

Steven Lord
Steven Lord am 3 Mär. 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?
  7 Kommentare

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Type Identification finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by