Calling an object's method that changes its property not doing what I want.
    10 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
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 Kommentare
Akzeptierte Antwort
  Chirag Gupta
    
 am 16 Dez. 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
Weitere Antworten (1)
  Evan
 am 16 Dez. 2011
        2 Kommentare
  Chirag Gupta
    
 am 16 Dez. 2011
				http://www.mathworks.com/matlabcentral/answers/12056-matlab-oop-question
Siehe auch
Kategorien
				Mehr zu Handle Classes finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

