Invalid default value for property error in class properties
18 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Greeting
I made a class and run dthe code in .m file
classdef myclass
properties (Constant)
a=physconst('LightSpeed');
b=a/2
end
end
it occurs error and says
Invalid default value for property 'b' in 'myclass':
Unrecognized function or variable 'a'.
physconst("LightSpeed") is a function in addon which name is 'Phased Array System Toolbox'
and its version is 4.3
a=physconst('LightSpeed')
b=a/2
I put thosdde two lines in command window
and it works fine...
so I have removed constant and tried to initialize them with class constructor
classdef myclass
properties
a;
b;
end
methods
function obj=myclass(obj)
a=physconst('LightSpeed');
b=a/2;
end
end
end
but the same error occured
I want to initialize my class property value with addon function but it have bring out error
How to deal with this error?
0 commentaires
Réponse acceptée
per isakson
le 24 Avr 2020
Modifié(e) : per isakson
le 24 Avr 2020
In the properties block one must refer to a as MyClass.a when Constant.
>> mc = MyClass
mc =
MyClass with properties:
a: 299792458
b: 149896229
>> which physconst -all
C:\Program Files\MATLAB\R2018b\toolbox\shared\siglib\physconst.m
>>
where
classdef MyClass
properties (Constant)
a = physconst('LightSpeed');
b = MyClass.a/2;
end
end
In your second class definition the constructor
function obj=myclass(obj)
a=physconst('LightSpeed');
b=a/2;
end
shall be
function obj=myclass()
obj.a = physconst('LightSpeed');
obj.b = obj.a /2;
end
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Software Development Tools dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!