नेटलोगो प्रयोग सेटअप


9

मैं ब्रेटो में एक मॉडल पर काम कर रहा हूं और मुझे यह समझने में समस्या हो रही है कि "प्रयोग" कैसे स्थापित किया जाए। मेरे मॉडल में, मेरे पास एक मैट्रिक्स है जिसमें वे सभी मान हैं जिनकी मुझे दिलचस्पी है (कुल में 6) और मैट्रिक्स को अपडेट किया जाता है जब भी कोई शर्त पूरी होती है (हर बार एक्स कछुए मारे जाते हैं) मूल रूप से एक स्नैपशॉट कैप्चर करना उस बिंदु पर मॉडल। मैट्रिक्स में पिछले मान साफ़ कर दिए गए हैं, इसलिए मैट्रिक्स एक 1x6 है, 10000x6 मैट्रिक्स नहीं है जिसमें प्रत्येक स्नैपशॉट के लिए केवल एक लाइन अपडेट की जा रही है।

मैं क्या करना चाहूंगा अपने मॉडल को कई सौ बार चलाने के लिए एक प्रयोग स्थापित करना है, हर बार इस मैट्रिक्स को इकट्ठा करना स्नैपशॉट के पहले एक्स नंबर के लिए या जब तक वाई टिक नहीं हुआ है। लेकिन मुझे प्रयोग सेटअप में ऐसा करने का कोई तरीका नहीं दिख रहा है?

क्या ऐसा करना संभव है, या मुझे 100x6 (100 स्नैपशॉट) बनाने होंगे और फिर बस उस मैट्रिक्स को किसी भी तरह सीएसटी पर निर्यात करना होगा?

मैंने एंगेजमेंट्स में एक प्रयोग कभी नहीं किया है, इसलिए यह करना आसान हो सकता है या पूरी तरह से असंभव हो सकता है।


मैंने एक उत्तर दिया व्यवहार का उपयोग करते हुए क्योंकि मुझे लगता है कि यह सबसे आसान होगा। लेकिन सीएसवी फ़ाइल बनाने और प्रत्येक स्नैपशॉट को जोड़ते समय इसे बनाने के साथ कोई समस्या नहीं है। यही है, आपको 100x6 मैट्रिक्स और निर्यात करने की आवश्यकता नहीं है। इस दृष्टिकोण की अनुशंसा नहीं करने का कारण यह है कि आप यह भी कहते हैं कि आप कई सौ अलग-अलग रन चाहते हैं, और यह आपको प्रत्येक रन के लिए एक अलग सीएसवी फ़ाइल देगा।
जेएनबी

जवाबों:


3

यदि मैं आपके प्रश्न को सही ढंग से समझता हूं, तो आप चाहते हैं कि रन के दौरान विशिष्ट टिक्स पर 6 मान रिपोर्ट किए जाएं। उन टिकों को एक निश्चित संख्या के टिक्स की बजाय एक शर्त को पूरा करके चुना जाता है। नेटलोगो का एक प्रयोग प्रबंधन उपकरण है जिसे बिहेवियरस्पेस कहा जाता है। यह आपके कई सौ रन स्थापित करने के लिए सीधा है (संभावित रूप से स्लाइडर्स आदि पर किसी भी इनपुट के लिए विभिन्न मूल्यों के साथ)। यह कुछ टिक्स पर केवल आउटपुट के लिए इतना सीधा नहीं है।

बिहेवियरस्पेस डायलॉग बॉक्स में हर टिक के लिए या अंत में एक चेकमार्क होता है। यदि आपने इसे हर टिक पर सेट किया है, तो आप अपने छह नंबर हर टिक को स्वचालित रूप से निर्यात कर सकते हैं। आपके मामले में, ऐसा करने की कोशिश करना आसान है और कभी-कभी केवल आउटपुट के बजाय। आप सातवें रिपोर्टर को जोड़ सकते हैं जो कि इस टिक को रीसेट किया जा रहा है या नहीं, इसके लिए यह सही / गलत है। फिर आपको पोस्ट-प्रोसेसिंग में जो करना है, वह उन पंक्तियों का चयन करना है, जहां वह सातवां रिपोर्टर सत्य है।

यदि आप वास्तव में एन स्नैपशॉट के लिए मॉडल को चलाना चाहते हैं, तो आपको एक वैश्विक चर सेट करने की आवश्यकता होगी जो प्रत्येक स्नैपशॉट बिंदु को बढ़ाया जाता है। आपकी व्यवहार सेटिंग तब रोक स्थिति के लिए उस काउंटर का उपयोग करेगी।


2

मुझे यकीन नहीं है कि मैं आपके प्रश्न को समझ सकता हूं, लेकिन आमतौर पर आपके पास सेटअप फ़ंक्शन और रन फ़ंक्शन होगा, सही? इसलिए मैं अनुमान लगा रहा हूं कि नीचे दी गई कोड संरचना आप की तरह होनी चाहिए। मैंने थोड़ी देर में नेटलॉगो का उपयोग नहीं किया है इसलिए सटीक मैट्रिक्स कोड आपको स्वयं पता लगाना होगा।

globals your-1by6-matrix your-100by6-matrix

to setup
  ;reset your experiment
end

to run
  ;run your experiment
end

to run100times
  repeat 100[
    setup
    run
    ;save your 1by6matrix into your 100by6matrix
  ]
  ;use your 100by6matrix to plot or export
end
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.