Интеграция vensim в anylogic, но с ошибкой опреатора
введите описание изображения здесь я новичок в anylogic и java. При интеграции моей модели динамики системы из vensim я продолжаю получать ошибку оператора в одной из моих логических переменных, которая суммирует другие переменные, а затем проверяет, был ли нарушен порог: код Vensim; IF THEN ELSE( (Гидростатичность водосбора + штормовой нагон + нарастание волны +(прилив +0,93))>1,86, (Гидростатичность водосбора + штормовой нагон + нарастание волны +(прилив +0,93)),1,86) Что должно переводиться в любую логику; (Catchment_hydrostaticity+Storm_surge+Wave_run_up+Tide+0,93) > 1,86? (Catchment_hydrostaticity+Storm_surge+Wave_run_up+Tide+0.93): 1.86 Однако я получаю сообщение об ошибке синтаксиса: "Оператор + не определен для типа (ов) аргумента double, TableFunction". Теперь я новичок в Java и попробовал несколько вариантов, но безуспешно. У кого-нибудь есть идеи, почему я не могу добавить эти переменные вместе? Единицы все одинаковые. Любая помощь с благодарностью.
1 ответ
Кажется, что одна из переменных, которую вы пытаетесь суммировать, является объектом "TableFunction". Для этого вам нужно вызвать его с аргументом (значением оси x), чтобы получить из него суммируемое значение (значение оси y, соответствующее вашему аргументу оси x). Это вы сможете суммировать.
Обратитесь к справке по объектам TableFunction, чтобы узнать больше. Или убедитесь, что у вас нет табличных функций и превратите все ваши переменные в чистые двойные переменные:-)
надеюсь, что это толкает вас в правильном направлении