How to solve this issue?Help me out?

1 visualizzazione (ultimi 30 giorni)
classdef CEntity
properties
RandNumb
end
methods
function obj = CEntity
InitArray12()
end
end
end
function InitArray12()
obj.RandNumb=randi(100)
end
How to send value which is calculated in the "InitArray12" function to "RandNumb" which is there in the properties
  3 Commenti
Nath
Nath il 8 Mar 2013
Modificato: Nath il 8 Mar 2013
The function InitArray12 is outside the classdef so it doesnt know the instance. Change it to return your values, and assign them in the constructor
Cedric
Cedric il 8 Mar 2013
Are you sure that you want InitArray outside of your class definition? If so, Nath answered above; otherwise, you'll want to do something like:
classdef CEntity
properties
RandNumb
end
methods
function obj = CEntity()
obj = obj.InitArray12() ;
end
function obj = InitArray12(obj)
obj.RandNumb = randi(100) ;
end
end
end

Accedi per commentare.

Risposta accettata

per isakson
per isakson il 8 Mar 2013
Or this way
>> ce = CEntity()
ce =
CEntity
Properties:
RandNumb: 92
Methods
>>
where
classdef CEntity < handle
properties
RandNumb
end
methods
function obj = CEntity
InitArray12();
end
function InitArray12( obj )
obj.RandNumb = randi( 100 );
end
end
end
Read the entry "Value or Handle Class — Which to Use" in the on-line help

Più risposte (0)

Categorie

Scopri di più su Construct and Work with Object Arrays in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by