Saya sedang mengerjakan model di Netlogo dan saya mengalami masalah dalam memahami cara mengatur "percobaan". Dalam model saya, saya memiliki matriks yang memiliki semua nilai yang saya tertarik (total 6) dan matriks diperbarui setiap kali kondisi terpenuhi (setiap kali X turtles dimatikan) pada dasarnya menangkap snapshot dari model pada saat itu. Nilai-nilai sebelumnya dalam matriks dihapus, sehingga matriks adalah 1x6, bukan matriks 10.000x6 dengan hanya satu baris yang diperbarui untuk setiap foto.
Apa yang ingin saya lakukan adalah membuat percobaan untuk menjalankan model saya beberapa ratus kali, mengumpulkan matriks ini setiap kali untuk jumlah snapshot X pertama atau sampai kutu Y terjadi. Tetapi saya tidak dapat melihat cara untuk melakukan itu di pengaturan percobaan?
Apakah ini mungkin dilakukan, atau haruskah saya membuat 100x6 (100 foto) dan kemudian mengekspor matriks itu ke CSV?
Saya tidak pernah membuat percobaan di Netlogo, jadi ini mungkin sangat mudah dilakukan atau sama sekali tidak mungkin.
Jawaban:
Jika saya memahami pertanyaan Anda dengan benar, maka Anda ingin 6 nilai dilaporkan pada kutu tertentu selama proses. Kutu-kutu itu dipilih dengan memenuhi suatu kondisi daripada sejumlah kutu tertentu. NetLogo memiliki alat manajemen eksperimen yang disebut BehaviorSpace. Sangat mudah untuk mengatur beberapa ratus proses Anda (berpotensi dengan nilai yang berbeda untuk setiap input pada slider dll). Tidak mudah untuk hanya menampilkan kutu tertentu.
Kotak dialog BehaviorSpace memiliki tanda centang untuk setiap centang atau hanya pada akhir. Jika Anda mengaturnya ke setiap tick, maka Anda dapat mengekspor enam angka Anda setiap tick secara otomatis. Dalam kasus Anda, mungkin akan lebih mudah untuk melakukan itu daripada mencoba dan hanya menghasilkan sesekali. Anda bisa menambahkan reporter ketujuh yang benar / salah untuk apakah matriks sedang disetel ulang centang ini. Maka yang harus Anda lakukan dalam post-processing adalah memilih baris di mana reporter ketujuh itu benar.
Jika Anda ingin menjalankan model untuk snapshot N persis, maka Anda juga perlu mengatur variabel global yang bertambah setiap titik snapshot. Pengaturan BehaviorSpace Anda kemudian akan menggunakan penghitung itu untuk kondisi berhenti.
sumber
Saya tidak yakin saya mengerti pertanyaan Anda, tetapi biasanya Anda akan memiliki fungsi Pengaturan dan fungsi Jalankan, benar? Jadi saya menduga struktur kode di bawah ini harus jenis apa yang Anda cari. Saya belum menggunakan netlogo dalam beberapa saat jadi kode matriks yang tepat Anda harus mencari tahu sendiri.
sumber