Class : Error while assigning variables in constructor

3 views (last 30 days)
I am getting error while assigning variables in classes :
% The antenna object from the phased array toolbox
ant = [];
% Frequency in Hz
fc = 0;
function myobj = ElemWithAxes(fc, ant)
% Constructor
% Inputs: fc is the carrier frequency in Hz and ant is
% an antenna compatible with the phased array toolbox. It must
% support the ant.pattern() method.
% TODO: Assign fc and ant to the class variables
myobj.fc = fc;
myobj.ant = ant;
I get the following :
Not enough input arguments.
Error in ElemWithAxes (line 40)
myobj.fc = fc;
Where does the problem lie ?

Answers (1)

per isakson
per isakson on 25 Feb 2022
Edited: per isakson on 25 Feb 2022
How did you call the constructor?
I added a few line to make your code a syntactically correct class. And tested the constructor.
ewa = ElemWithAxes(1,2)
ewa =
ElemWithAxes with properties: ant: 2 fc: 1
ewa = ElemWithAxes()
Not enough input arguments.

Error in ElemWithAxes (line 17)
myobj.fc = fc;
Did you call the constructor without input argument values?




Community Treasure Hunt

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

Start Hunting!