public static void ApplyConfiguration(IPointTimeSeriesSimulation simulation, string sexpression) { var dataFrame = engine.Evaluate(sexpression).AsDataFrame(); SimpleHyperCube s = convert(dataFrame); s.ApplyConfiguration(simulation); }
public static void ApplyParameter(object system, string paramName, double value) { SimpleHyperCube hc = new SimpleHyperCube(new string[] { paramName }); hc.SetMinMaxValue(paramName, value, value, value); hc.ApplyConfiguration(system); }
private static SimpleHyperCube convert(DataFrame dataFrame) { dynamic df = dataFrame; object[] colnames = Enumerable.ToArray(SymbolicExpressionExtension.AsVector(df.names)); object[] tmp = Enumerable.ToArray(SymbolicExpressionExtension.AsVector(df.name)); var varnames = Array.ConvertAll(tmp, x => (string)x); SimpleHyperCube s = new SimpleHyperCube(varnames); var rows = dataFrame.GetRows(); foreach (var vn in varnames) { dynamic row = rows.First(x => ((string)((dynamic)x).name == vn)); s.SetMinMaxValue(vn, row.min, row.max, row.value); } return s; }