コード例 #1
0
ファイル: Matrix.cs プロジェクト: zhangz/Highlander.Net
        ///<summary>
        ///</summary>
        ///<param name="i"></param>
        ///<returns></returns>
        public SparseVector Column(int i)
        {
            var sp = new SparseVector(RowCount);

            for (int j = 0; j < RowCount; j++)
            {
                sp.AddValue(j, this[j, i]);
            }
            return(sp);
        }
コード例 #2
0
ファイル: Matrix.cs プロジェクト: zhangz/Highlander.Net
        ///<summary>
        ///</summary>
        ///<param name="i"></param>
        ///<returns></returns>
        public SparseVector Row(int i)
        {
            var sp = new SparseVector(ColumnCount);

            for (int j = 0; j < ColumnCount; j++)
            {
                sp.AddValue(j, this[i, j]);
            }
            return(sp);
        }
コード例 #3
0
        protected static SparseVector AdjacentDifference(SparseVector times)
        {
            int          n          = times.Length;
            SparseVector timeDelays = new SparseVector(n);
            double       t          = 0.0;

            for (int i = 0; i < n; i++)
            {
                double ti = times.Data[i];
                if (t > ti)
                {
                    throw new ArgumentException("TODO: Sample times are not in ascending order");
                }
                timeDelays.AddValue(i, ti - t);
                t = ti;
            }
            return(timeDelays);
        }