public static Chart Construct(PDMData data) { double[] T = new double[data.TArray.Length]; for (int i = 0; i < data.TArray.Length; ++i) T[i] = (double)data.TArray[i]; Chart chart = Construct(new Signal(T, data.XArray)); chart.ChartAreas[0].AxisX.Title = "Period"; chart.ChartAreas[0].AxisY.Title = "PDM Value"; chart.Series[0].BorderWidth = 2; chart.Titles.Clear(); chart.Titles.Add("PDM result"); //chart.Titles[0].TextStyle = TextStyle.Default; return chart; }
public PDMData GetPDM(double[] array, int T1, int T2) { int[] T = new int[T2 - T1 + 1]; for (int i = 0; i < T2 - T1 + 1; ++i) T[i] = T1 + i; double[] X = new double[T2 - T1 + 1]; for (int i = 0; i < T2 - T1 + 1; ++i) X[i] = CountPDM(array, CountAbsVariance(array), T[i]); PDMData data = new PDMData(); data.T1 = T1; data.T2 = T2; data.TArray = T; data.XArray = X; return data; }