1

私はNetlogoにかなり慣れていないので、モデルのプロットを作成しようとしています。カメ(リンク数)/(カメ数)に関するリンクの平均をプロットしたいと思います。

このメッセージが表示されますが、モデルのセットアップをクリックすると

ゼロ除算。オブザーバーの実行中のエラー/プロットによって呼び出されました'Promedioconexixones paracadaagente'ペン'プロム。コネックス。」__CLEAR-ALL-AND-RESET-TICKSによって呼び出される更新コードプロシージャSETUPによって呼び出されるボタン'setup'によって呼び出される

セットアップでは最初に5匹のカメが作成されますが、セットアップ中には0匹のカメを数えるようです。しかし、セットアップが完了する前に何かをプロットしようとしているようです。これが起こっている理由のアイデア。コードを更新フィールドに配置し、セットアップフィールドには何も配置しません。

ありがとう!

4

2 に答える 2

2

気にしないでください。新しいNetlogoバージョンでは、セットアップの開始時に__CLEAR-ALL-AND-RESET-TICKSを使用する代わりに、セットアップの開始時にCLEAR-ALLを使用し、セットアップの終了時にRESET-TICKSを使用する必要があるようです。そうしないと、プロットが期待どおりに機能しません。

于 2013-02-05T17:17:31.627 に答える
2

Atiragが彼自身の質問に対して与えた答えは正しいですが、ここにNetLogo移行ガイドからのもう少しコンテキストがあります:

以前のNetLogoバージョンのモデルを変更せずに5.0で機能させるために、古いモデルを5.0で開くと、clear-all(またはca)の出現は自動的にに変更されます 。これはと__clear-all-and-reset-ticksの効果を組み合わせたものです。名前の2つのアンダースコアは、これが通常のプリミティブではなく、下位互換性のためにのみ存在することを示しています。clear-allreset-ticks

コードから削除__clear-all-and-reset-ticksし、に置き換えて、セットアップ手順の最後にclear-all配置する必要があります。reset-ticks

肝心なのは、の「reset-ticks」の部分が__clear-all-and-reset-ticks実際にプロットを更新しようとすることです(適切なreset-ticksプリミティブのように)。の先頭で呼び出すとsetup、プロットが更新されたときにカメは作成されず(count links) / (count turtles)、実際、ゼロによる除算がトリガーされます。

補足:__clear-all-and-reset-ticksセットアップ手順の最後に呼び出すことも、カメをクリアするため、役に立ちません。これは、あなたが望むものではありません。このプリミティブは、基本的にNetLogo>=5.0では使用しないでください。

于 2013-02-06T04:26:11.200 に答える