すみません、私のミスです...
上記のリンクで提供されているソース コードは正しくないことが判明しました。少なくとも、私がテストした python コードと変換した C++ コードは常に正しい答えを生成するわけではありません。(上記のリンクの例では、結果は正しいです:) -- )
mtx
Python コードをテストするには、単純にを次のように置き換えます。
[30,10,20,0],[60,20,40,0]
返される結果は次のようになります。
[1,0,0,0],[0,1,2,0]
それにもかかわらず、私はこれから抜け出す方法を持っています。ちょうど今回、rref
関数の matalb ソース コードを C++ に変換しました。matlab を実行し、type rref
コマンドを使用して のソース コードを取得できますrref
。
非常に大きな値または非常に小さな値を使用している場合はlong double
、c++ でデータ型を使用するようにしてください。そうしないと、結果が切り捨てられ、matlab の結果と一致しなくなります。
私は ns2 で大規模なシミュレーションを行ってきましたが、観察された結果はすべて健全です。これがあなたと問題に遭遇した他の人に役立つことを願っています...