NetLogo - как поместить в модель сбалансированные химические уравнения?

Мне было интересно, можно ли поместить в модель сбалансированные химические уравнения - и если да, то как включить символы состояния в существующую модель NetLogo. Я не видел примеров в библиотеке моделей, поэтому не был уверен, возможно ли это.

Я хотел, чтобы модель позволяла пользователю вводить сбалансированное уравнение химического равновесия, или модель предоставляет такие уравнения, чтобы пользователи могли выбирать из них, если они не хотят вводить свои собственные.

Любая помощь будет принята с благодарностью, спасибо.

Например:

этан + кислород -> углекислый газ + пар

C2H6 + O2 --> CO2 + H2O


person user286190    schedule 06.03.2010    source источник


Ответы (3)


Я знаю, что это старый вопрос, но он затрагивает некоторую работу, которую я делал в последнее время.

Вы не говорите, что вам нужно делать со сбалансированными уравнениями после их ввода. Так что это затрудняет ответ на ваш вопрос.

В общем, с NetLogo вы можете:

  • попросите пользователя ввести данные в виде текстовой строки с помощью USER-INPUT
  • создать парсер для анализа ввода
  • работать с результатами этого проанализированного ввода
  • поместите средство выбора в интерфейс, который представляет пользователю предустановленные входные данные, которые синтаксический анализатор поймет

Вам решать, как создать этот парсер.

Например, вы можете разделить входную строку на части (возможно, сначала разделить на ->, чтобы получить входную и выходную части уравнения), а затем проанализировать части.

person TurtleZero    schedule 19.01.2012

Последнее, что я проверил, NetLogo действительно не может обрабатывать символические манипуляции, не говоря уже о самих манипуляциях. Если вы действительно хотите увидеть это в Netlogo, вам придется реализовать это вручную.

person monksy    schedule 07.03.2010
comment
Я думаю, что было бы проще использовать REPAST для такого рода задач [если вы хотите, чтобы он был основан на агентах] - person monksy; 07.03.2010

Если есть ограниченное количество уравнений, которые пользователь может ввести, вы можете просто использовать раскрывающийся список (раскрывающаяся кнопка), который включает все уравнения. Затем ваш код может просто установить разные параметры на основе уравнения, введенного пользователем в раскрывающемся списке.

person Jose M Vidal    schedule 07.03.2010