How to solve this issue?Help me out?

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

classdef CEntity
properties
RandNumb
end
methods
function obj = CEntity
obj.RandNumb= InitArray12()
end
end
end
function v=InitArray12()
v=randi(100)
end
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
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

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 Argument Definitions in Centro assistenza 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