Ниже приведен пример использования операции GetMs для расчёта уравнения. В запросе передаются: экземпляр открытого контейнера моделирования, шаблон расчёта уравнения и параметры выполнения операции. В ответе приходит экземпляр модели, содержащей уравнение с результатами расчёта.
Для выполнения примера уравнение должно рассчитываться методом «Подбор вида зависимости».
{ "GetMs" : { "tMs" : { "id" : "JNLCLHMGDNMBFOAELPKIJBHANNONPCBEIJFLOLMEADGBMGDH!M!S!CEOONGIMGDNMBFOAELALNGGIOBDBEJFMELJOJAOPDLFDOADIF" }, "tArg" : { "pattern" : { "obInst" : "true", "item" : { "key" : "89669", "problem" : { "metamodel" : { "calculationChain" : "Get", "calcChainPattern" : { "modelPattern" : { "transform" : { "outputs" : "Get", "formulaCount" : "true", "formulas" : { "method" : { "series" : "true" } }, "displayId" : "true", "equationsFormula" : { "method" : "" }, "series" : "Get", "kind" : "true", "displaySettings" : "true", "additionalAttributes" : "true", "calculationType" : "true", "calculationDirection" : "true", "transformVariable" : { "slices" : "Get", "transformSlice" : { "selection" : "Get" } } }, "stochastic" : "true", "calculationPeriod" : "true", "useModelPeriod" : "true", "useExistingData" : "true", "treatNullsAsZeros" : "true", "autoName" : "true", "generatedName" : "true", "period" : "true", "isExclusive" : "true", "useAutoPeriod" : "true" }, "entryKeys" : { "l" : "4" } } } } } }, "execParams" : { "k" : "0", "modelKeys" : { "l" : "4" }, "scenarioKeys" : "", "execMethod" : "true", "execSummaryStatistics" : "true", "execCoefficients" : "true", "execEvaluateSeries" : "true", "execStatCoefficients" : "true", "execGenerateName" : "true" } } } }
{ "GetMsResult" : { "id" : { "id" : "JNLCLHMGDNMBFOAELPKIJBHANNONPCBEIJFLOLMEADGBMGDH!M!S!CEOONGIMGDNMBFOAELALNGGIOBDBEJFMELJOJAOPDLFDOADIF" }, "meta" : { "obInst" : { "obDesc" : { "@fullUrl" : "http:\/\/v-shp-development.dev.fs.fsight.world\/", "@isShortcut" : "0", "@isLink" : "0", "@ver" : "4", "@hf" : "0", "i" : "MODELSPACE", "n" : "Контейнер моделирования", "k" : "1581", "c" : "5121", "p" : "1580", "h" : "0", "hasPrv" : "0", "ic" : "0", "isPermanent" : "1", "isTemp" : "0" } }, "dirty" : "0", "item" : { "k" : "89669", "id" : "MODEL_NEW", "n" : "MODEL_NEW", "vis" : "1", "type" : "Problem", "problemMd" : { "metamodel" : { "k" : "89670", "calculationChain" : { "its" : { "Item" : { "k" : "4", "id" : "OBJ4", "n" : "MyOutputVavable|A[t] = Trend(MyInputVavable[t]), (От родителя)-(От родителя)", "vis" : "1", "type" : "Model", "excluded" : "0", "graphMeta" : "", "model" : { "transform" : { "outputs" : { "its" : { "Item" : { "k" : "1", "id" : "VARIABLES_89670", "n" : "Variables", "vis" : "1", "slices" : { "its" : { "Item" : { "k" : "0", "id" : "MyOutputVavable|A", "n" : "MyOutputVavable|A", "vis" : "1", "variableKey" : "1", "stubKey" : "89671", "selections" : { "its" : { "Item" : { "id" : { "id" : "89683" }, "variant" : "2" } } }, "aggregator" : "None", "parametrizedDimensions" : { "its" : { "Item" : { "dimension" : "0", "parameter" : "0" } } }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0" }, "level" : "Year" } } }, "variableStubKey" : "89671", "parameterID" : "", "kind" : "Stub", "attributeId" : "", "attributeType" : "Series" } } }, "formulaCount" : "1", "formulas" : { "its" : { "it" : [ { "k" : "0", "kind" : "CurveEstimation", "method" : { "curveEstimation" : { "criterion" : "R2", "dependenceForm" : "Linear", "dependenceFormIncluded" : { "it" : [ "Linear", "Polynomial", "Logarithmic" ] }, "polynomOrder" : "4", "seasonalComponent" : { "mode" : "Additive", "cycle" : "4" }, "missingData" : { "specifiedVector" : "", "method" : "Casewise", "methodParameter" : "5", "specifiedValue" : "0", "specifiedTerm" : { "k" : "4294967295" } }, "confidenceLevel" : "0.96", "bestDependenceForm" : "Polynomial", "value" : "0", "explained" : { "slice" : { "k" : "0", "id" : "MyOutputVavable|A", "n" : "MyOutputVavable|A", "vis" : "1", "variableKey" : "1", "stubKey" : "89671", "selections" : { "its" : { "Item" : { "id" : { "id" : "89683" }, "variant" : "2" } } }, "aggregator" : "None", "parametrizedDimensions" : { "its" : { "Item" : { "dimension" : "0", "parameter" : "0" } } }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0" }, "level" : "Year" }, "lag" : "", "key" : "0", "termToText" : "{MyOutputVavable|A[t]}", "termToInnerText" : "@_1:0[]", "termInfo" : { "k" : "4294967295", "lag" : "0", "inversion" : { "type" : "None", "lag" : "PrecidingValue", "previousLag" : "-1", "seasonality" : "None", "dependence" : "Linear", "K" : "3" }, "slice" : { "k" : "0", "id" : "MyOutputVavable|A", "n" : "MyOutputVavable|A", "vis" : "1", "variableKey" : "1", "stubKey" : "89671", "selections" : { "its" : { "Item" : { "id" : { "id" : "89683" }, "variant" : "2" } } }, "aggregator" : "None", "parametrizedDimensions" : { "its" : { "Item" : { "dimension" : "0", "parameter" : "0" } } }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0" }, "level" : "Year" }, "date" : "1899-12-30" }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0" }, "included" : "0" }, "dependenceForms" : { "its" : { "Item" : [ { "dependenceForm" : "Linear", "expression" : "A1*t + A0", "statCoefficients" : { "intercept" : { "mode" : "AutoEstimate", "estimate" : "-0.4928571428571348", "standardError" : "0.2910409353847357", "tStatistic" : "-1.693428940522103", "probability" : "0.1018820994993999" }, "coefficients" : { "estimate" : { "d" : "1.598351648351648" }, "standardError" : { "d" : "0.01498937077595134" }, "tStatistic" : { "d" : "106.6323378240808" }, "probability" : { "d" : "0" } } }, "criterionValue" : "0.9981691131922996", "summaryStatistics" : { "stR2" : "0.9981691131922996", "stAdjR2" : "0.9980928262419788", "stR2_2" : "0.9981691131922996", "stAdjR2_2" : "0.9980928262419788", "stSE" : "0.5350176585813732", "stSSR" : "6.869853479853474", "stLogL" : "-19.59000298921173", "stDW" : "3.366608997117618", "stDWLowerBound" : "5.226173552036746e-05", "stDWUpperBound" : "6.112166540301281e-06", "stSD" : "12.25104077211402", "stAIC" : "1.660769460708595", "stSC" : "1.757546117479478", "stFstat_2" : "13084.40184060549", "stProbFstat_2" : "0", "stFstat" : "13084.40184060549", "stProbFstat" : "0", "stME" : "-3.552713678800501e-15", "stMAE" : "0.31025641025641", "stMSE" : "0.2642251338405183", "stMaxAE" : "1.933150183150188", "stSqMSE" : "0.5140283395305343", "stVE" : "0.2642251338405183", "stSEE" : "0.5140283395305344", "stMD" : "21.1", "stHQcriterion" : "1.688637636217742", "stAvgLogL" : "NaN", "stMcFaddenRsquared" : "NaN", "stRestrLogL" : "NaN", "stLRstatistic" : "NaN", "stLRprobability" : "NaN", "stIncludedObservations" : "26", "stJstat" : "NaN", "stProbJstat" : "NaN", "stNumOfIter" : "-1", "stJBStat" : "46.45284363973704", "stProbJBStat" : "8.182632349473806e-11" }, "errors" : "" }, { "dependenceForm" : "Polynomial", "expression" : "An*t^n + ... + A2*t^2 + A1*t + A0", "statCoefficients" : { "intercept" : { "mode" : "AutoEstimate", "estimate" : "-0.465181344869594", "standardError" : "0.7871206378330464", "tStatistic" : "-0.590991167694757", "probability" : "0.5594417347097805" }, "coefficients" : { "estimate" : { "d" : [ "1.582420928890241", "0.001388551345301276", "-4.994188660429374e-06", "-1.199216706196811e-06" ] }, "standardError" : { "d" : [ "0.392724727858397", "0.05749696262512111", "0.003169750766421726", "5.829715944935267e-05" ] }, "tStatistic" : { "d" : [ "4.029338660489969", "0.02414999474588944", "-0.001575577712082147", "-0.02057075709218157" ] }, "probability" : { "d" : [ "0.0007867132522725306", "0.9809986801874817", "0.9987602020207836", "0.9838143840419024" ] } } }, "criterionValue" : "0.9981742366165919", "summaryStatistics" : { "stR2" : "0.9981742366165919", "stAdjR2" : "0.9978264721626093", "stR2_2" : "0.9981742366165919", "stAdjR2_2" : "0.9978264721626093", "stSE" : "0.5711571115361268", "stSSR" : "6.850629367224124", "stLogL" : "-19.55357371328806", "stDW" : "3.374546243247101", "stDWLowerBound" : "0.000686446402999863", "stDWUpperBound" : "3.749894734120952e-09", "stSD" : "12.25104077211402", "stAIC" : "1.888736439483697", "stSC" : "2.130678081410905", "stFstat_2" : "2870.259525336149", "stProbFstat_2" : "0", "stFstat" : "2870.259525336149", "stProbFstat" : "0", "stME" : "-1.084602493287653e-15", "stMAE" : "0.3119376087872172", "stMSE" : "0.2634857448932355", "stMaxAE" : "1.920839385280324", "stSqMSE" : "0.5133086253836336", "stVE" : "0.2634857448932355", "stSEE" : "0.5133086253836336", "stMD" : "21.1", "stHQcriterion" : "1.958406878256565", "stAvgLogL" : "NaN", "stMcFaddenRsquared" : "NaN", "stRestrLogL" : "NaN", "stLRstatistic" : "NaN", "stLRprobability" : "NaN", "stIncludedObservations" : "26", "stJstat" : "NaN", "stProbJstat" : "NaN", "stNumOfIter" : "-1", "stJBStat" : "44.27599282059314", "stProbJBStat" : "2.429910717083317e-10" }, "errors" : "" }, { "dependenceForm" : "Logarithmic", "expression" : "A1*ln(t) + A0", "statCoefficients" : { "intercept" : { "mode" : "AutoEstimate", "estimate" : "-9.757959888305843", "standardError" : "3.272527297090876", "tStatistic" : "-2.981781052515655", "probability" : "0.006007865777448607" }, "coefficients" : { "estimate" : { "d" : "13.5959840407783" }, "standardError" : { "d" : "1.206750999298278" }, "tStatistic" : { "d" : "11.26660267833573" }, "probability" : { "d" : "1.035826979745025e-11" } } }, "criterionValue" : "0.8590172900274078", "summaryStatistics" : { "stR2" : "0.8590172900274078", "stAdjR2" : "0.8531430104452165", "stR2_2" : "0.8590172900274078", "stAdjR2_2" : "0.8531430104452165", "stSE" : "4.694834592219236", "stSSR" : "528.9953243591607", "stLogL" : "-76.05988158036546", "stDW" : "0.2565964910183629", "stDWLowerBound" : "1.273053136754938e-09", "stDWUpperBound" : "2.323162006230125e-11", "stSD" : "12.25104077211402", "stAIC" : "6.004606275412727", "stSC" : "6.10138293218361", "stFstat_2" : "146.2336407398165", "stProbFstat_2" : "1.065614263495718e-11", "stFstat" : "146.2336407398165", "stProbFstat" : "1.065614263495718e-11", "stME" : "-3.962642180200559e-15", "stMAE" : "3.81749483888947", "stMSE" : "20.34597401381387", "stMaxAE" : "10.75795988830584", "stSqMSE" : "4.510651174033953", "stVE" : "20.34597401381387", "stSEE" : "4.510651174033953", "stMD" : "21.1", "stHQcriterion" : "6.032474450921874", "stAvgLogL" : "NaN", "stMcFaddenRsquared" : "NaN", "stRestrLogL" : "NaN", "stLRstatistic" : "NaN", "stLRprobability" : "NaN", "stIncludedObservations" : "26", "stJstat" : "NaN", "stProbJstat" : "NaN", "stNumOfIter" : "-1", "stJBStat" : "1.964796154276888", "stProbJBStat" : "0.374412152187965" }, "errors" : "" } ] } } }, "summaryStatistics" : { "stR2" : "0.9981742366165919", "stAdjR2" : "0.9978264721626093", "stR2_2" : "0.9981742366165919", "stAdjR2_2" : "0.9978264721626093", "stSE" : "0.5711571115361268", "stSSR" : "6.850629367224124", "stLogL" : "-19.55357371328806", "stDW" : "3.374546243247101", "stDWLowerBound" : "0.000686446402999863", "stDWUpperBound" : "3.749894734120952e-09", "stSD" : "12.25104077211402", "stAIC" : "1.888736439483697", "stSC" : "2.130678081410905", "stFstat_2" : "2870.259525336149", "stProbFstat_2" : "0", "stFstat" : "2870.259525336149", "stProbFstat" : "0", "stME" : "-1.084602493287653e-15", "stMAE" : "0.3119376087872172", "stMSE" : "0.2634857448932355", "stMaxAE" : "1.920839385280324", "stSqMSE" : "0.5133086253836336", "stVE" : "0.2634857448932355", "stSEE" : "0.5133086253836336", "stMD" : "21.1", "stHQcriterion" : "1.958406878256565", "stAvgLogL" : "NaN", "stMcFaddenRsquared" : "NaN", "stRestrLogL" : "NaN", "stLRstatistic" : "NaN", "stLRprobability" : "NaN", "stIncludedObservations" : "26", "stJstat" : "NaN", "stProbJstat" : "NaN", "stNumOfIter" : "-1", "stJBStat" : "44.27599282059314", "stProbJBStat" : "2.429910717083317e-10" }, "name" : "An*t^n + ... + A2*t^2 + A1*t + A0", "series" : { "input" : { "k" : "4294967295", "lag" : "0", "inversion" : { "type" : "None", "lag" : "PrecidingValue", "previousLag" : "-1", "seasonality" : "None", "dependence" : "Linear", "K" : "3" }, "slice" : { "k" : "0", "id" : "1", "n" : "MyInputVavable", "vis" : "1", "variableKey" : "2", "stubKey" : "89671", "selections" : { "its" : { "Item" : { "id" : { "id" : "89683" }, "variant" : "1" } } }, "aggregator" : "None", "parametrizedDimensions" : { "its" : { "Item" : { "dimension" : "0", "parameter" : "0" } } }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0" }, "level" : "Year" }, "date" : "1899-12-30" }, "addFactor" : { "k" : "4294967295" } }, "evaluateSeries" : { "its" : { "Item" : { "scenarioKey" : "4294967295", "fact" : { "d" : [ "1", "4", "2", "7", "7.5", "9.1", "10.7", "12.3", "13.9", "15.5", "17.1", "18.7", "20.3", "21.9", "23.5", "25.1", "26.7", "28.3", "29.9", "31.5", "33.1", "34.7", "36.3", "37.9", "39.5", "41.1", "NaN", "NaN", "NaN" ] }, "modelling" : { "d" : [ "1.118621941960582", "2.913186226971609", "3.920839385280324", "6.083655743685077", "7.480263299190218", "9.284729796956913", "10.30170480827827", "12.47314753514884", "13.87757084976917", "15.68892737249664", "16.71175154982057", "18.8878874589317", "20.2957328472268", "22.10912521025945", "23.13248386971516", "25.30753777798089", "26.71256955764962", "28.52130157947111", "29.53803804032711", "31.70439276780075", "33.09853325968123", "34.89406676191454", "35.89518234657857", "38.04337871645274", "39.4167082445224", "41.18866305192973", "NaN", "NaN", "NaN" ] }, "residuals" : { "d" : [ "-0.1186219419605818", "1.086813773028391", "-1.920839385280324", "0.9163442563149227", "0.01973670080978174", "-0.1847297969569137", "0.398295191721731", "-0.1731475351488356", "0.02242915023083114", "-0.1889273724966447", "0.3882484501794323", "-0.187887458931705", "0.004267152773199001", "-0.2091252102594545", "0.3675161302848373", "-0.2075377779808925", "-0.01256955764961987", "-0.2213015794711097", "0.3619619596728931", "-0.2043927678007549", "0.0014667403187687", "-0.1940667619145344", "0.404817653421425", "-0.1433787164527374", "0.08329175547759604", "-0.08866305192972845", "NaN", "NaN", "NaN" ] }, "input" : { "d" : [ "3", "7", "2", "6", "4", "1", "5", "3.42857143", "3.28571429", "3.14285714", "3", "2.85714286", "2.71428571", "2.57142857", "2.42857143", "2.28571429", "2.14285714", "2", "1.85714286", "1.71428571", "1.57142857", "1.42857143", "1.28571429", "1.14285714", "1", "0.85714286", "0.71428571", "0.57142857", "NaN", "NaN", "NaN" ] }, "factors" : { "its" : "" } } }, "dates" : { "it" : [ "1990A1", "1991A1", "1992A1", "1993A1", "1994A1", "1995A1", "1996A1", "1997A1", "1998A1", "1999A1", "2000A1", "2001A1", "2002A1", "2003A1", "2004A1", "2005A1", "2006A1", "2007A1", "2008A1", "2009A1", "2010A1", "2011A1", "2012A1", "2013A1", "2014A1", "2015A1", "2016A1", "2017A1", "2018A1", "2019A1", "2020A1" ] } }, "inversionInfo" : { "type" : "None", "lag" : "PrecidingValue", "previousLag" : "-1", "seasonality" : "None", "dependence" : "Linear", "K" : "3" }, "doUseR" : "0", "supportsR" : "0" }, "calendarLevel" : "Year", "outputSliceKey" : "0" } ] } }, "displayId" : "0", "series" : { "its" : "" }, "kind" : "Simple", "displaySettings" : { "displayTermsAs" : "Derive" }, "additionalAttributes" : "", "calculationType" : "Serie", "calculationDirection" : "Forward" }, "stochastic" : "0", "calculationPeriod" : "Forecast", "useModelPeriod" : "1", "useExistingData" : "0", "treatNullsAsZeros" : "0", "autoName" : "1", "period" : { "identificationStartDate" : "1990-01-01", "identificationEndDate" : "2018-04-24", "forecastStartDate" : "2018-04-25", "forecastEndDate" : "2020-01-01", "identificationStartDateParamID" : "", "identificationEndDateParamID" : "", "forecastStartDateParamID" : "", "forecastEndDateParamID" : "", "autoPeriod" : "28672", "identificationStartOffset" : "0", "identificationEndOffset" : "0", "forecastEndOffset" : "0", "isIdentStartCorrect" : "1", "isIdentEndCorrect" : "1", "isForecastEndCorrect" : "1" }, "isExclusive" : "1", "useAutoPeriod" : "1", "generatedName" : "MyOutputVavable|A[t] = An*t^n + ... + A2*t^2 + A1*t + A0", "warnings" : "", "readOnly" : "0" } } } }, "visualController" : { "userRPath" : "", "isRExist" : "0" }, "suppressEmptyFilter" : { "suppressEmpty" : "0", "suppressEmptyArea" : "SerieBounds" }, "readOnly" : "0", "variableTestUseR" : "0", "calculateIdentOnFact" : "0" }, "useScenarios" : "0", "readOnly" : "0" } } } } }
Функция GetMsCurveEstimation рассчитывает указанное уравнение. Входные параметры:
ms. Экземпляр открытого контейнера моделирования;
modelKey. Ключ модели, содержащей уравнение;
eqKey. Ключ уравнения.
В результате выполнения функция возвращает модель, содержащую рассчитанное уравнение. Результаты расчёта выводятся в окно консоли. Для вывода результатов используются вспомогательные процедуры: PrintStat, PrintCoef, PrintSeries, описанные в разделе «Расчёт уравнения».
Для выполнения примера уравнение должно рассчитываться методом «Подбор вида зависимости».
public static MsCalculationChainEntry GetMsCurveEstimation(MsId ms, ulong modelKey, ulong eqKey) { var getMsOp = new GetMs(); // Задаем параметры выполнения операции getMsOp.tMs = ms; getMsOp.tArg = new GetMsArg() { // Задаем шаблон извлечения данных pattern = new MsMdPattern() { item = new MsItemPattern() { // Указываем ключ рассчитываемого уравнения key = modelKey, problem = new MsProblemPattern() { metamodel = new MsMetaModelPattern() { calculationChain = ListOperation.Get, calcChainPattern = new MsCalculationChainPattern() { entryKeys = new long[] { (long)eqKey }, modelPattern = new MsModelPattern() { autoName = true, calculationPeriod = true, generatedName = true, isExclusive = true, period = true, stochastic = true, treatNullsAsZeros = true, useAutoPeriod = true, useExistingData = true, useModelPeriod = true, transform = new MsFormulaTransformPattern() { additionalAttributes = true, calculationDirection = true, calculationType = true, displayId = true, displaySettings = true, formulaCount = true, outputs = ListOperation.Get, series = ListOperation.Get, kind = true, formulas = new TsFormulaPattern() { method = new TsMethodPattern() { series = true } }, equationsFormula = new TsFormulaPattern() { method = new TsMethodPattern() { } }, transformVariable = new MsFormulaTransformVariablePattern() { slices = ListOperation.Get, transformSlice = new MsFormulaTransformSlicePattern() { selection = ListOperation.Get } } } } } } } } }, // Задаем параметры расчёта уравнения execParams = new MsMdExecParams() { k = 0, execMethod = true, execEvaluateSeries = true, execGenerateName = true, execSummaryStatistics = true, execCoefficients = true, execStatCoefficients = true, scenarioKeys = new long[] { }, modelKeys = new long[] { (long)eqKey } } }; // Создаем прокси-объект для выполнения операции var somClient = new SomPortTypeClient(); GetMsResult getMsResult = somClient.GetMs(getMsOp); MsMetaModel meta = getMsResult.meta.item.problemMd.metamodel; MsCalculationChainEntry chainEntry = meta.calculationChain.its.GetValue(0) as MsCalculationChainEntry; // Выводим ошибки и предупреждения MsModel eq = chainEntry.model; if (eq.warnings.Length != 0) { Console.WriteLine("-- Предупреждения --"); Console.WriteLine("".PadRight(3) + printArray(eq.warnings)); } if (eq.error == null) //Проверяем, возникли ли ошибки при расчёте уравнения { // Уравнение рассчитано без ошибок // Получаем результаты расчёта TsFormula formula = eq.transform.formulas.its.GetValue(0) as TsFormula; TsCurveEstimationMethod curve = formula.method.curveEstimation; // Выводим лучшую форму зависимости Console.WriteLine("Лучшая форма зависимости: "+curve.bestDependenceForm.Value); // Выводим данные о формах зависимости MsDependenceForms depForms = curve.dependenceForms; foreach (MsDependenceForm form in depForms.its) { Console.WriteLine("Исследуемая форма зависимости: "+ form.dependenceForm.ToString()); if (form.errors == "") { Console.WriteLine("Значение критерия: ".PadRight(3) + form.criterionValue); Console.WriteLine("Уравнение: ".PadRight(3) + form.expression); // Получаем статистические характеристики и выводим в окно консоли StatSummaryStatistics stat = form.summaryStatistics; PrintStat(stat); // Поучаем значения коэффициентов и выводим в окно консоли StatModelCoefficients coef = form.statCoefficients; PrintCoef(coef); } else // Выводим ошибки, возникшие при подборе зависимости { Console.WriteLine("".PadRight(3)+form.errors);}; }; // Получаем рассчитанные значения и выводим в окно консоли MsEvaluateSeriesResult seriesRes = formula.method.evaluateSeries; printSeries(seriesRes); } else // При расчёте уравнения возникли ошибки { Console.WriteLine("-- Ошибки --"); Console.WriteLine(eq.error); } // Возвращаем модель, содержащую уравнение return chainEntry; }
См. также:
GetMs: Операция | Настройка параметров метода «Подбор вида зависимости»