AddPoints() 공개 메소드

Adds points given by a matrix. Vector ? x Values will be generated Matrix ? Investigates which dimension is bigger and takes the larger one as values, the lighter one as series. In a matrix the first series is always excluded and represents the x values.
public AddPoints ( MatrixValue m ) : void
m MatrixValue The matrix with the (multiple) series.
리턴 void
예제 #1
0
        public Plot2DValue Function(MatrixValue m, MatrixValue n)
        {
            var plot = new Plot2DValue();

            plot.AddPoints(m, n);
            return(plot);
        }
예제 #2
0
        Plot2DValue Plot(IFunction f, double minx, double maxx, double precision)
        {
            var cp = new Plot2DValue();
            var N  = (int)((maxx - minx) / precision) + 1;
            var M  = new MatrixValue(N, 2);
            var x  = new ScalarValue(minx);

            for (var i = 0; i < N; i++)
            {
                var row = i + 1;
                var y   = f.Perform(Context, x);
                M[row, 1] = x.Clone();

                if (y is ScalarValue)
                {
                    M[row, 2] = (ScalarValue)y;
                }
                else if (y is MatrixValue)
                {
                    var Y = (MatrixValue)y;

                    for (var j = 1; j <= Y.Length; j++)
                    {
                        M[row, j + 1] = Y[j];
                    }
                }

                x.Re += precision;
            }

            cp.AddPoints(M);
            return(cp);
        }
예제 #3
0
        Plot2DValue Plot(IFunction f, Double minx, Double maxx, Double precision)
        {
            var cp = new Plot2DValue();
            var N = (Int32)((maxx - minx) / precision) + 1;
            var M = new MatrixValue(N, 2);
            var x = new ScalarValue(minx);

            for (var i = 0; i < N; i++)
            {
                var row = i + 1;
                var y = f.Perform(Context, x);
                M[row, 1] = x.Clone();

                if (y is ScalarValue)
                {
                    M[row, 2] = (ScalarValue)y;
                }
                else if (y is MatrixValue)
                {
                    var Y = (MatrixValue)y;

                    for (var j = 1; j <= Y.Length; j++)
                    {
                        M[row, j + 1] = Y[j];
                    }
                }

                x.Re += precision;
            }

            cp.AddPoints(M);
            return cp;
        }
예제 #4
0
        public Plot2DValue Function(MatrixValue m)
        {
            var plot = new Plot2DValue();

            plot.AddPoints(m);
            plot.IsLogX = true;
            return(plot);
        }
예제 #5
0
        public Plot2DValue Function(MatrixValue m, MatrixValue n, ArgumentsValue l)
        {
            var plot = new Plot2DValue();
            var values = new MatrixValue[l.Length];

            for (var i = 0; i != l.Length; i++)
            {
                if (l.Values[i] is MatrixValue)
                {
                    values[i] = (MatrixValue)l.Values[i];
                }
                else
                {
                    throw new YAMPOperationInvalidException("plot", l.Values[i]);
                }
            }

            plot.AddPoints(m, n, values);
            return plot;
        }
예제 #6
0
        public Plot2DValue Function(MatrixValue m, MatrixValue n, ArgumentsValue l)
        {
            var plot   = new Plot2DValue();
            var values = new MatrixValue[l.Length];

            for (var i = 0; i != l.Length; i++)
            {
                if (l.Values[i] is MatrixValue)
                {
                    values[i] = (MatrixValue)l.Values[i];
                }
                else
                {
                    throw new YAMPOperationInvalidException("plot", l.Values[i]);
                }
            }

            plot.AddPoints(m, n, values);
            return(plot);
        }
예제 #7
0
 public Plot2DValue Function(MatrixValue m, MatrixValue n)
 {
     var plot = new Plot2DValue();
     plot.AddPoints(m, n);
     return plot;
 }