/// <summary>Evaluates 1st and 2nd statistical moments of the predesignated response.</summary> public void Evaluate() { SystemRealizer.Realize(0); double[] systemResponse = SystemResponseEvaluator.Evaluate(0); int systemResponseDimension = systemResponse.Length; MeanValueResponse = new double[systemResponseDimension]; StandardDeviationResponse = new double[systemResponseDimension]; for (int i = 0; i < systemResponse.Length; i++) { MeanValueResponse[i] += systemResponse[i]; } for (int i = 1; i < NoOfIterations; i++) { SystemRealizer.Realize(i); systemResponse = SystemResponseEvaluator.Evaluate(i); for (int j = 0; j < systemResponse.Length; j++) { MeanValueResponse[j] += systemResponse[j]; } } for (int i = 0; i < systemResponse.Length; i++) { MeanValueResponse[i] = MeanValueResponse[i] / NoOfIterations; StandardDeviationResponse[i] = (systemResponse[i] - MeanValueResponse[i]) * (systemResponse[i] - MeanValueResponse[i]); StandardDeviationResponse[i] = Math.Sqrt(StandardDeviationResponse[i] / NoOfIterations); } }
/// <summary>Evaluates 1st and 2nd statistical moments of the predesignated response.</summary> public void Evaluate() { SystemRealizer.Realize(0); int systemResponseDimension = SystemResponseEvaluator.Evaluate(0).Length; var systemResponse = new double[systemResponseDimension]; MonteCarloMeanValue = new double[systemResponseDimension]; MonteCarloStandardDeviation = new double[systemResponseDimension]; systemResponse = SystemResponseEvaluator.Evaluate(0); for (int i = 0; i < systemResponse.Length; i++) { MonteCarloMeanValue[i] += systemResponse[i]; } for (int i = 1; i < NoOfIterations; i++) { SystemRealizer.Realize(i); systemResponse = SystemResponseEvaluator.Evaluate(i); for (int j = 0; j < systemResponse.Length; j++) { MonteCarloMeanValue[j] += systemResponse[j]; } } for (int i = 0; i < systemResponse.Length; i++) { MonteCarloMeanValue[i] = MonteCarloMeanValue[i] / NoOfIterations; MonteCarloStandardDeviation[i] = (systemResponse[i] - MonteCarloMeanValue[i]) * (systemResponse[i] - MonteCarloMeanValue[i]); MonteCarloStandardDeviation[i] = Math.Sqrt(MonteCarloStandardDeviation[i] / NoOfIterations); } }