Instantiating Object Arrays with superclass call

Asked by Bolivar on 27 Jun 2013 at 18:18
Latest activity Commented on by Bolivar about 12 hours ago

Hi, I've wrote a baseStation class matlab class, which constructor is given as following:

function obj = baseStation(btscoord,btsid,attachedcell,aa,tx,sirmin,rxmax,rxmin,txmax,txmin) 
            nargin
           if  nargin <3   
               aa=0;
               tx=0;
               sirmin=0;
               rxmax=0;
               rxmin=0;txmax=0;txmin=0;
           end
            %call the superconstructor   
            obj = obj@btsRadio(aa,tx,sirmin,rxmax,rxmin,txmax,txmin);
            %initiate class variable
                  obj.btsID = btsid;
                  obj.btsCoord = btscoord;
                  obj.attachedCell = attachedcell;
                  obj.btsInfo = importdata('btsInfo.mat'); 
          end

when i try to call it in a nested for-loop, the second loop doesn't execute and an error occur : not enougth imput argument. The subclass baseStation seems not to receive arguments from last loop. I actually want to create an array object. Do someone tell me what I'm doing wrong?

thanks for your help

Bolivar

0 Comments

Bolivar

Products

1 Answer

Answer by Muthu Annamalai on 27 Jun 2013 at 19:06
Edited by Muthu Annamalai on 27 Jun 2013 at 19:06

Will you be posting the exact error message? That would help solve your problem.

I suspect you are running into problems with subscripting the object. Try instead, to create the first object as, a(1) = baseStation(args{:}) a(2) = baseStation(args{:})

should work and build what you are looking for.

4 Comments

Bolivar on 27 Jun 2013 at 21:25

I got to solve the problem. I just had to allow for no inputs arguments for both the constructor. then i could assign properties values for each instance. It's little bit combersome to assign the same value for each but i think i will be alright with it for the time being. Thanks for spending your time on that.

Sean de Wolski on 27 Jun 2013 at 21:28

@Bolivar: What about using repmat()?

Bolivar about 12 hours ago

repmat just make copies of the given object. That's mean the resulting array all have the same handle(a change in one object's Property brings change in all the other) which isn't actually what i'm expecting then all object in the array should be unique. nevertheless thanks

Muthu Annamalai

Contact us