Calling an object's method that changes its property not doing what I want.
    10 ビュー (過去 30 日間)
  
       古いコメントを表示
    
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 件のコメント
採用された回答
  Chirag Gupta
    
 2011 年 12 月 16 日
        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
その他の回答 (1 件)
  Evan
 2011 年 12 月 16 日
        2 件のコメント
  Chirag Gupta
    
 2011 年 12 月 16 日
				http://www.mathworks.com/matlabcentral/answers/12056-matlab-oop-question
参考
カテゴリ
				Help Center および File Exchange で Handle Classes についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

