Author: jcouteau Date: 2009-03-31 10:13:28 +0000 (Tue, 31 Mar 2009) New Revision: 93 Modified: trunk/sensitivity/SensitivityCalculatorROptimumLHS.java trunk/sensitivity/SensitivityCalculatorRRandomLHS.java Log: Fixed bug of continuous matrix and equations. Modified: trunk/sensitivity/SensitivityCalculatorROptimumLHS.java =================================================================== --- trunk/sensitivity/SensitivityCalculatorROptimumLHS.java 2009-03-31 09:33:54 UTC (rev 92) +++ trunk/sensitivity/SensitivityCalculatorROptimumLHS.java 2009-03-31 10:13:28 UTC (rev 93) @@ -129,25 +129,68 @@ thisExperiment.setScenarios(thisExperimentScenarios); } - //Create the factors vectors + //Create the factors vectors for (int j = 0; j < factornumber; j++) { - String vector = "factor" + j + "<-c("; - for (int i = 0; i < param_simulationNumber; i++) { - if (i < (param_simulationNumber - 1)) { - vector = vector - + thisExperimentScenarios.get(i).getFactors() - .get(j).getValue() + ","; - } else { - vector = vector - + thisExperimentScenarios.get(i).getFactors() - .get(j).getValue(); + Factor<? extends Serializable> factor = thisExperimentScenarios + .get(0).getFactors().get(j); + if (factor + .getDomain() instanceof EquationContinuousDomain) { + + String vector = "factor" + j + "<-c("; + for (int i = 0; i < param_simulationNumber; i++) { + if (i < (param_simulationNumber - 1)) { + vector = vector + + ((EquationContinuousDomain<?>)thisExperimentScenarios + .get(i).getFactors().get(j).getDomain()).getValue() + + ","; + } else { + vector = vector + + ((EquationContinuousDomain<?>)thisExperimentScenarios + .get(i).getFactors().get(j).getDomain()).getValue(); + } + } + vector = vector + ")"; + engine.voidEval(vector); + log.info("Message sent to R : " + vector); + } else if (factor.getDomain() instanceof MatrixContinuousDomain) { + String vector = "factor" + j + "<-c("; + for (int i = 0; i < param_simulationNumber; i++) { + if (i < (param_simulationNumber - 1)) { + vector = vector + + ((MatrixContinuousDomain<?>) thisExperimentScenarios + .get(i).getFactors().get(j) + .getDomain()).getValue() + ","; + } else { + vector = vector + + ((MatrixContinuousDomain<?>) thisExperimentScenarios + .get(i).getFactors().get(j) + .getDomain()).getValue(); + } + } + vector = vector + ")"; + engine.voidEval(vector); + log.info("Message sent to R : " + vector); + } else { + String vector = "factor" + j + "<-c("; + for (int i = 0; i < param_simulationNumber; i++) { + if (i < (param_simulationNumber - 1)) { + vector = vector + + thisExperimentScenarios.get(i) + .getFactors().get(j).getValue() + + ","; + } else { + vector = vector + + thisExperimentScenarios.get(i) + .getFactors().get(j).getValue(); + } + + } + vector = vector + ")"; + engine.voidEval(vector); + log.info("Message sent to R : " + vector); } - vector = vector + ")"; - engine.voidEval(vector); - log.info("Message sent to R : " + vector); - } //Create the data data.frame from the factors Modified: trunk/sensitivity/SensitivityCalculatorRRandomLHS.java =================================================================== --- trunk/sensitivity/SensitivityCalculatorRRandomLHS.java 2009-03-31 09:33:54 UTC (rev 92) +++ trunk/sensitivity/SensitivityCalculatorRRandomLHS.java 2009-03-31 10:13:28 UTC (rev 93) @@ -126,23 +126,66 @@ //Create the factors vectors for (int j = 0; j < factornumber; j++) { - String vector = "factor" + j + "<-c("; - for (int i = 0; i < param_simulationNumber; i++) { - if (i < (param_simulationNumber - 1)) { - vector = vector - + thisExperimentScenarios.get(i).getFactors() - .get(j).getValue() + ","; - } else { - vector = vector - + thisExperimentScenarios.get(i).getFactors() - .get(j).getValue(); + Factor<? extends Serializable> factor = thisExperimentScenarios + .get(0).getFactors().get(j); + if (factor + .getDomain() instanceof EquationContinuousDomain) { + + String vector = "factor" + j + "<-c("; + for (int i = 0; i < param_simulationNumber; i++) { + if (i < (param_simulationNumber - 1)) { + vector = vector + + ((EquationContinuousDomain<?>)thisExperimentScenarios + .get(i).getFactors().get(j).getDomain()).getValue() + + ","; + } else { + vector = vector + + ((EquationContinuousDomain<?>)thisExperimentScenarios + .get(i).getFactors().get(j).getDomain()).getValue(); + } + } + vector = vector + ")"; + engine.voidEval(vector); + log.info("Message sent to R : " + vector); + } else if (factor.getDomain() instanceof MatrixContinuousDomain) { + String vector = "factor" + j + "<-c("; + for (int i = 0; i < param_simulationNumber; i++) { + if (i < (param_simulationNumber - 1)) { + vector = vector + + ((MatrixContinuousDomain<?>) thisExperimentScenarios + .get(i).getFactors().get(j) + .getDomain()).getValue() + ","; + } else { + vector = vector + + ((MatrixContinuousDomain<?>) thisExperimentScenarios + .get(i).getFactors().get(j) + .getDomain()).getValue(); + } + } + vector = vector + ")"; + engine.voidEval(vector); + log.info("Message sent to R : " + vector); + } else { + String vector = "factor" + j + "<-c("; + for (int i = 0; i < param_simulationNumber; i++) { + if (i < (param_simulationNumber - 1)) { + vector = vector + + thisExperimentScenarios.get(i) + .getFactors().get(j).getValue() + + ","; + } else { + vector = vector + + thisExperimentScenarios.get(i) + .getFactors().get(j).getValue(); + } + + } + vector = vector + ")"; + engine.voidEval(vector); + log.info("Message sent to R : " + vector); } - vector = vector + ")"; - engine.voidEval(vector); - log.info("Message sent to R : " + vector); - } //Create the data data.frame from the factors