Инструмент стохастического моделирования методом Монте-Карло. Используется для моделей с нечеткой логикой, для вероятностных вычислений на графах.
Класс ‘MonteCarlo’ #
Методы #
AddInput #
Описание
Добавляет заданное вероятностное значение, например, распределение вероятности значения узла графа.
AddInput ( AttribDbl Attrib , PrmXML String , [Args Dictionary = null ] ) : MonteCarlo.MonteCarloInput
Возвращаемое значение
Тип: MonteCarlo.MonteCarloInput
Объект заданного вероятностного значения.
Параметры
AttribDbl | Attrib | Атрибут. Например, атрибут узла графа.
|
PrmXML | String | Строка параметров в виде <prm name1='value1' name2='value2' ... nameN='valueN'/> Параметры: vbExpression - выражение на языке VBScript, которое возвращает случайную величину. |
Args | Dictionary | Необязательный параметр. Значение по умолчанию null . Именованный список Dictionary аргументов, который будет передан вызываемым скриптам. Список пар 'ИмяОбъекта'-'ЭкземплярОбъекта'.
|
'Создаем инструмент стохастичесого моделирования set mc = ag.app.NewEngine("MonteCarlo") 'Определяем узлы графа, значения которых будут изменяться Set node1 = g1.Item("f4888b43f5c74221bc0a3bff0dca6462") 'узел [Отказ второго контура контроля давления] Set node2 = g1.Item("97db804a44fb4c38acd2d78ea0e36f8c") 'узел [Отказ датчика давления газа] 'Указываем распределения значений в изменяемых узлах set inp1 = mc.AddInput(node1.Attrib("Self"), "<prm vbExpression='ag.rnd.Triangular(0.5e-2, 1e-2, 1.5e-2)' />") set inp2 = mc.AddInput(node2.Attrib("Self"), "<prm vbExpression='ag.rnd.Triangular(0.5e-2, 1e-2, 1.5e-2)' />")
AddOutput #
Описание
Добавляет искомое вероятностное значение, например, распределение вероятности значения узла графа.
AddOutput ( AttribDbl Attrib , [PrmXML String = '' ], [Args Dictionary = null ] ) : MonteCarlo.MonteCarloOutput
Возвращаемое значение
Тип: MonteCarlo.MonteCarloOutput
Объект искомого вероятностного значения.
Параметры
AttribDbl | Attrib | Атрибут. Например, атрибут узла графа.
|
PrmXML | String | Необязательный параметр. Значение по умолчанию '' . Строка параметров в виде <prm name1='value1' name2='value2' ... nameN='valueN'/> Параметры: comment - комментарий. |
Args | Dictionary | Необязательный параметр. Значение по умолчанию null . Именованный список Dictionary аргументов, который будет передан вызываемым скриптам. Список пар 'ИмяОбъекта'-'ЭкземплярОбъекта'.
|
'Создаем инструмент стохастичесого моделирования set mc = ag.app.NewEngine("MonteCarlo") 'Определяем переменную, в которой находится результат вычислений - случайная величиной с искомым распределением set out1 = mc.AddOutput(g1.Attrib("Result"))
ClearInputs #
Описание
Очищает список заданных вероятностных значений.
ClearInputs
'Создаем инструмент стохастичесого моделирования set mc = ag.app.NewEngine("MonteCarlo") mc.ClearInputs
ClearOutputs #
Описание
Очищает список искомых вероятностных значений.
ClearOutputs
'Создаем инструмент стохастичесого моделирования set mc = ag.app.NewEngine("MonteCarlo") mc.ClearOutputs
Run #
Описание
Выполняет заданное количество итераций стохастического моделирования.
Run ( TagId String , TagLabel String , PrmXML String , Args Dictionary )
Параметры
TagId | String | Идентификатор тега (узла графа). Строка длинной не более 32 символов. Идентификато содержит цифры от 0 до 9 и латинские буквы 'a', 'b', 'c', 'd', 'e' и 'f'. В идентификаторе, определенном пользователем, должен присутствовать хотя бы один буквенный символ. Например, 'fa0234'. Идентификатор должн быть уникальным. Тег, в котором сохранен скрипт для расчета модели. Например, скрипт для расчета атрибутов узлов графовой модели. |
TagLabel | String | Название тега на текущем языке, например, 'Тег1'. Тег, в котором сохранен скрипт для расчета модели. См. описание параметра TagId. Если задан TagId то TagLabel игнорируется. |
PrmXML | String | Строка параметров в виде <prm name1='value1' name2='value2' ... nameN='valueN'/> Параметры: iterations - целое положительное число, количество выполняемых итераций. progressWritingSkip - целое положительное число, количество итераций, которые будут пропускаться при записи лога. Значение по умолчанию 100. |
Args | Dictionary | Именованный список Dictionary аргументов, который будет передан вызываемым скриптам. Список пар 'ИмяОбъекта'-'ЭкземплярОбъекта'.
|
'Создаем инструмент стохастичесого моделирования
set mc = ag.app.NewEngine("MonteCarlo")
'Определяем узлы графа, значения которых будут изменяться
Set node1 = g1.Item("f4888b43f5c74221bc0a3bff0dca6462") 'узел [Отказ второго контура контроля давления]
Set node2 = g1.Item("97db804a44fb4c38acd2d78ea0e36f8c") 'узел [Отказ датчика давления газа]
'Указываем распределения значений в изменяемых узлах
set inp1 = mc.AddInput(node1.Attrib("Self"), "<prm vbExpression='ag.rnd.Triangular(0.5e-2, 1e-2, 1.5e-2)' />")
set inp2 = mc.AddInput(node2.Attrib("Self"), "<prm vbExpression='ag.rnd.Triangular(0.5e-2, 1e-2, 1.5e-2)' />")
'Определяем переменную, в которой находится результат вычислений - случайная величиной с искомым распределением
set out1 = mc.AddOutput(g1.Attrib("Result"))
'Задаем количество итераций стохастического моделирования
SeriesLength = 1000
'Создаем именованный массив параметров и помещаем в него параметр - граф g1
Set Args = ag.App.NewObject("Dictionary", Array("g1", g1))
'Запускаем инструмент стохастичесого моделирования
mc.Run "saeca38b6b2824a27b4238f1f012d55f2s", "", "<prm iterations='" & SeriesLength & "' />", Args
Класс ‘MonteCarloInput’ #
Свойства #
Series #
Описание
Ряд значений, полученных в результате стохастического моделирования.
Series : Series
Значение свойства (ReadOnly)
Тип: Series
Ряд значений.
Dim Arr() Arr = inp1.Series.ArrDbl
Класс ‘MonteCarloOutput’ #
Свойства #
Series #
Описание
Ряд значений, полученных в результате стохастического моделирования.
Series : Series
Значение свойства (ReadOnly)
Тип: Series
Ряд значений.
Dim Arr() Arr = inp1.Series.ArrDbl