Как сделать матрицу случайных значений в NetLogo?
Есть ли способ легко сделать $n \cross m$ матрицу в NetLogo? Дополнительно возможно ли заполнить эту матрицу случайными значениями? Благодарю.
1 ответ
См. http://ccl.northwestern.edu/netlogo/docs/matrix.html для документов по расширению матрицы NetLogo.
Для создания матрицы есть несколько примитивов, которые делают это: matrix:make-constant
, matrix:make-identity
, matrix:from-row-list
, matrix:from-column-list
,
Для создания матрицы и заполнения ее случайными значениями, я бы предложил сначала определить эту процедуру:
to-report fill-matrix [n m generator]
report matrix:from-row-list n-values n [n-values m [runresult generator]]
end
Затем, чтобы сделать, скажем, матрицу 5 на 5, скажем, случайных целых чисел в диапазоне от 0 до 9, это:
fill-matrix 5 5 task [random 10]
Пример результата:
observer> show fill-matrix 5 5 task [random 10]
observer: {{matrix: [ [ 5 9 3 2 6 ][ 5 8 2 8 0 ][ 6 7 3 7 4 ][ 7 0 4 6 3 ][ 7 9 0 0 5 ] ]}}