예제 #1
0
        private void regresionClicked(object sender, EventArgs e)
        {
            string operatorType = "Linear Regression";
            Form   dlg1         = new AnalyzeForm();

            if (analyzeOption(dlg1))
            {
                List <double[]> xy = new List <double[]>();
                for (int i = 0; i < Data.columnChoosen.Length; i++)
                {
                    if (Data.columnChoosen[i] != -1)
                    {
                        int      column = Data.columnChoosen[i];
                        int      miss, dataSize;
                        double[] data;

                        createDataArr(column, out data, out miss, out dataSize);
                        Debug.WriteLine(miss);
                        xy.Add(data);
                    }
                }
                double r, rPar, a, aPar, b, bPar;
                long   time, timeSeq;

                FunctionClass.LinearRegression(
                    xy[0], xy[1],
                    0, xy[0].Length < xy[1].Length?xy[0].Length:xy[1].Length,
                    out r, out b, out a, out timeSeq);
                ParallelFunctionClass.LinearRegressionPar(
                    xy[0], xy[1],
                    0, xy[0].Length < xy[1].Length ? xy[0].Length : xy[1].Length,
                    out rPar, out bPar, out aPar, out time);
                Debug.WriteLine("regresi linear-nya {2} adalah: Y = {0}X + {1}", a, b, timeSeq);
                Debug.WriteLine("regresi linearPar-nya {2} adalah: Y = {0}X + {1}", aPar, bPar, time);
                results.Add("Y = " + a + "X + " + b);

                DialogResult dialog       = new DialogResult();
                Form         dialogResult = new ResultForm(operatorType);
                dialog = dialogResult.ShowDialog();
                results.Clear();
            }
            else
            {
                dlg1.Close();
            }
        }
예제 #2
0
        private void rangeClicked(object sender, EventArgs e)
        {
            string operatorType = "Range";
            Form   dlg1         = new AnalyzeForm();

            if (analyzeOption(dlg1))
            {
                for (int i = 0; i < Data.columnChoosen.Length; i++)
                {
                    if (Data.columnChoosen[i] != -1)
                    {
                        int      column = Data.columnChoosen[i];
                        double[] data;
                        int      miss, dataSize;
                        double   result, parRes, parRes1, parRes2;
                        long     timeSeq, timePar, timePar1, timePar2;

                        createDataArr(column, out data, out miss, out dataSize);
                        Debug.WriteLine(miss);

                        result  = FunctionClass.Range(data, miss, dataSize, out timeSeq);
                        parRes  = ParallelFunctionClass.RangeParTask1(data, miss, dataSize, out timePar);
                        parRes1 = ParallelFunctionClass.RangeParTask2(data, miss, dataSize, out timePar1);
                        Debug.WriteLine("range-nya adalah " + result + " waktu: " + timeSeq);
                        Debug.WriteLine("range_parallel (1): " + parRes + " waktu: " + timePar);
                        Debug.WriteLine("range_parallel (2): " + parRes1 + " waktu: " + timePar1);
                        results.Add(result.ToString());
                    }
                }
                DialogResult dialog       = new DialogResult();
                Form         dialogResult = new ResultForm(operatorType);
                dialog = dialogResult.ShowDialog();
                results.Clear();
            }
            else
            {
                dlg1.Close();
            }
        }