- Timestamp:
- 11/15/16 20:23:12 (8 years ago)
- Location:
- trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Converters
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Converters/Convert.cs
r14390 r14391 48 48 return LinearModelToTreeConverter.CreateTree(variableNames, coefficients, @const); 49 49 } 50 public static ISymbolicExpressionTree CreateLinearModel(string[] variableNames, int[] lags, double[] coefficients, 51 double @const = 0) { 52 return LinearModelToTreeConverter.CreateTree(variableNames, coefficients, @const); 53 } 50 54 } 51 55 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Converters/LinearModelToTreeConverter.cs
r14390 r14391 28 28 public static ISymbolicExpressionTree CreateTree(string[] variableNames, double[] coefficients, 29 29 double @const = 0) { 30 return CreateTree(variableNames, new int[variableNames.Length], coefficients, @const); 31 } 32 33 public static ISymbolicExpressionTree CreateTree(string[] variableNames, int[] lags, double[] coefficients, 34 double @const = 0) { 30 35 if (variableNames.Length == 0 || 31 variableNames.Length != coefficients.Length) 32 throw new ArgumentException("The length of the variable names and coefficients vectors must match"); 36 variableNames.Length != coefficients.Length || 37 variableNames.Length != lags.Length) 38 throw new ArgumentException("The length of the variable names, lags, and coefficients vectors must match"); 39 33 40 ISymbolicExpressionTree tree = new SymbolicExpressionTree(new ProgramRootSymbol().CreateTreeNode()); 34 41 ISymbolicExpressionTreeNode startNode = new StartSymbol().CreateTreeNode(); … … 38 45 39 46 for (int i = 0; i < variableNames.Length; i++) { 40 VariableTreeNode vNode = (VariableTreeNode)new Variable().CreateTreeNode(); 41 vNode.VariableName = variableNames[i]; 42 vNode.Weight = coefficients[i]; 43 addition.AddSubtree(vNode); 47 if (lags[i] == 0) { 48 VariableTreeNode vNode = (VariableTreeNode)new Variable().CreateTreeNode(); 49 vNode.VariableName = variableNames[i]; 50 vNode.Weight = coefficients[i]; 51 addition.AddSubtree(vNode); 52 } else { 53 LaggedVariableTreeNode vNode = (LaggedVariableTreeNode)new LaggedVariable().CreateTreeNode(); 54 vNode.VariableName = variableNames[i]; 55 vNode.Weight = coefficients[i]; 56 vNode.Lag = lags[i]; 57 addition.AddSubtree(vNode); 58 } 44 59 } 45 60
Note: See TracChangeset
for help on using the changeset viewer.