Calling an object's method that changes its property not doing what I want.
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello
An object has property MNL_beta and method train(input, output) that I want the object to update its MNL_beta property. What is actually happening is :
>> p1
p1 =
predictor_bundle
Properties:
MNL_beta: []
Methods
>> p1.train(input, output)
ans =
predictor_bundle
Properties:
MNL_beta: [3x1 double]
Methods
>> p1
p1 =
predictor_bundle
Properties:
MNL_beta: []
Methods
What has happened? The p1's value has not changed at all?!?
>> p1 = p1.train(input, output)
p1 =
predictor_bundle
Properties:
MNL_beta: [3x1 double]
Methods
>> p1
p1 =
predictor_bundle
Properties:
MNL_beta: [3x1 double]
Methods
But using the second syntax, it's done what I wanted. How do I accomplish the result of the second method, while using the syntax of the first method?
Thank you
0 commentaires
Réponse acceptée
Chirag Gupta
le 16 Déc 2011
This would stem from the difference between Value classes and handle classes. Its explained here: http://www.mathworks.com/help/techdoc/matlab_oop/brfylwk-1.html
Plus de réponses (1)
Evan
le 16 Déc 2011
2 commentaires
Chirag Gupta
le 16 Déc 2011
http://www.mathworks.com/matlabcentral/answers/12056-matlab-oop-question
Voir également
Catégories
En savoir plus sur Handle Classes dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!