2017-11-13 13 views
-1

私はクラスを作成しましたが、係数やエラーのような初期変数があります。私の方法では、何かを計算するためのforループがあります。実行ごとに、エラーという名前の番号が得られます。そして、それぞれのランで、私はエラーがあり、また係数番号を持っています。私がしたいことは、最初の実行時に、エラーと係数セットを得ることができるということです。 2回目の実行では、以前のエラーと前のエラーとを比較し、小さい場合はエラーを小さなエラーに更新し、係数も更新します。さもなければ、前の誤差と係数を保つ。forループの結果をPythonで比較する方法

class getMinError(): 
def __init__(self): 
    self.error = 0 
    self.ce1 = 0 
    self.ce2 = 0 

def process(self): 
    for i in range(any number): 
     run to get error, ce1,and ce2 
     save the first run's result to self.error, self.ce1,and self.ce2 

または、初期変数に更新せずに保存してください。

次のループで比較し、エラーが以前のものよりも小さい場合にのみ が更新されます。

+0

一時的な値を使用して、現在の実行の誤差と係数を保持し、以前の値と比較することができます。 –

+0

リストでタプル(誤差、係数)を保持または使用するための一時変数を使用し、リスト内の以前に追加されたタプルと比較するためにタプル[0]、タプル[1]を使用してください –

+0

あなたは一時変数の使用についてもっと教えてください。私はそれを試みましたが、それがループ内にあるので、新しいvarを作成すると、最初の実行のエラー値は保存できますが、2回目の実行では、実行によって更新されます。 first_error = errorのように、次のループでfirst_errorを使用したいと思います。たとえばfirst_error <エラーの場合と比較しますが、ここではfirst_errorがエラーに更新され、比較できません。 –

答えて

0

私はあなたが役に立つことを願っています。この

class getMinError(): 
def __init__(self): 
    self.error = 0 
    self.ce1 = 0 
    self.ce2 = 0 
run to get error, ce1,and ce2 

def process(self): 
    for i in range(2:n): 
     run to get error, ce1,and ce2 
     if error<self.error : 
      self.error=error 
      self.ce1=ce1 
      self.ce2=ce2 

を試すことができると思います。

+0

ポイントはエラーが常に0より大きいため、エラー

+0

あなたはその行をコメントするのを忘れた –

+0

fisrt実行の結果を保存してから、2でループを開始してからyoure ruleを適用します –

1

最初に実行した結果を次のものと比較するために保存する必要があります。 次に、各繰り返しで、現在の実行のエラーをsmallestError(まだ見つかっていない最小のエラー)に格納されている数値と比較します。 smallestErrorよりも小さいエラーが見つかった場合は、co-efficienetsとerrorの更新を行い、最近見つかったエラーにsmallestErrorを変更します。 ほしいと思っています:)

class getMinError(): 
def __init__(self): 
    self.error = 0 
    self.ce1 = 0 
    self.ce2 = 0 

//store the error of first run 
run to get error, ce1,and ce2 
smallestError = error 

def process(self): 
    for i in range(2:n): 
     run to get error, ce1,and ce2 
     if smallestError > error : 
      self.error=error 
      self.ce1=ce1 
      self.ce2=ce2 
      smallestError = error 
関連する問題