1

これが私のコードのセクション(大きなセクション)です。 http://pastebin.com/KCZNkYNB

私が行っていることは、設計上、計算している距離が1cm最小になるまで、このシーケンスを繰り返すことです。それまで次のエポックに進みたくないので、リストに.insertを使用する必要があると思いました。現在のインデックスでデータを上書きする必要があります。

私が得ているエラーは次のとおりです。


Traceback (most recent call last):
  File "receiver2.py", line 342, in <module>
    main()
  File "receiver2.py", line 244, in main
    N.insert(k, ( dec.sqrt( (dec(satellite_output.x[k]) - dec(x_veh_coords[epoch]))**2 + (dec(satellite_output.y[k]) - d
ec(y_veh_coords[epoch]))**2 + (dec(satellite_output.z[k]) - dec(z_veh_coords[epoch]))**2 ) ) )
IndexError: list index out of range

このエラーは、pastebinファイルの行番号54に対応しています。

私が理解していないのは、挿入時にインデックスが範囲外にあることです。完全なペーストビン出力:http: //pastebin.com/qKhRjn2Q その出力の下部に、最後の「k」インデックスが7で、エポック1に到達し、インデックス8にインクリメントされたが、インデックスで圧縮されていることがわかります。範囲外です。なぜそうなるのか、私は非常に混乱しています。.insert部分を賞賛し、.appendのコメントを解除するかのように、挿入しようとしているすべてのデータが存在することを保証します。これは正常に機能します。残念ながら、appendは、ジャコビアンを正しく計算するために必要なデータを「隠している」ことに気づきました。

十分な情報を提供できたと思います。あなたが提供できるどんな助けにも感謝します!

4

2 に答える 2

1

エラー行には6つのインデックス操作があります(例satellite_output.x[k])。それらの1つは、挿入操作ではなく、おそらく障害を引き起こしています。

エラーメッセージは、実際よりも役に立ちません。

于 2012-10-30T18:17:53.330 に答える
0

私はそれを理解しました。:D

私がする必要があるのは、距離が探している精度に最小化されたときに、次のエポックでその新しい近似デカルト座標を使用するようにx、y、zvech座標を設定する必要があることを確認することでした。

私はすべての応答に感謝します、とても些細なことのためにあなたの時間を少し無駄にして申し訳ありません。

于 2012-10-30T18:49:36.700 に答える