Я относительно новичок в Modelica (Dymola-environment), и я очень отчаялся / расстраиваюсь из-за того, что не могу решить такую простую проблему, как генерация случайных чисел в Modelica, и я надеюсь, что вы можете мне помочь.
Простая функция random
производит случайное число от 0 до 1 с входным начальным значением seedIn[3]
и создает выходное начальное число seedOut[3]
для следующего временного шага или события. Вызов (z,seedOut) = random(seedIn);
работает отлично.
Проблема в том, что я не могу найти способ в Modelica вычислить это назначение с течением времени, используя seedOut[3]
в качестве следующего seedIn[3]
, что очень расстраивает.
Моя простая программа выглядит так:
*model Randomgenerator
Real z;
Integer seedIn[3]( start={1,23,131},fixed=true), seedOut[3];
equation
(z,seedOut) = random(seedIn);
algorithm
seedIn := seedOut;
end Randomgenerator;*
Я испробовал почти все возможности с назначениями алгоритмов, начальными условиями и уравнениями, но ни один из них не работает. Я просто хочу использовать seedOut
на следующем временном шаге. Одна из проблем заключается в том, что при входе в раздел алгоритма не используются ни начальные условия, ни значения из раздела уравнений.
Noise
на impact.github.io - person matth   schedule 29.03.2016