当前位置: 首页>>代码示例>>C#>>正文


C# DObject.set方法代码示例

本文整理汇总了C#中DObject.set方法的典型用法代码示例。如果您正苦于以下问题:C# DObject.set方法的具体用法?C# DObject.set怎么用?C# DObject.set使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DObject的用法示例。


在下文中一共展示了DObject.set方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SLAU

 /// <summary>
 /// Решение системы линейных алгебраических уравнений
 /// </summary>
 public DObject SLAU()
 {
     if (sx != sy + 1) return null;
     DObject ret = new DObject(sy, 1);
     for (int i = 0; i < sy; i++)
     {
         int k = i;
         while (get(i, i) == 0)
         {
             if (!swapLineInner(i, k++)) return null;
         }
         multLineInner(i, 1/get(i,i));
         for (int j = 0; j < sy; j++)
         {
             if (i == j) continue;
             addLineInner(j, i, -get(i, j));
         }
     }
     for (int i = 0; i < sx; i++) ret.set(i, 0, get(sx-1, i));
     return ret;
 }
开发者ID:YaStark,项目名称:ShazamO,代码行数:24,代码来源:DObject.cs

示例2: Transpon

 /// <summary>
 /// Транспонирование
 /// </summary>
 public DObject Transpon()
 {
     DObject ret = new DObject(sy, sx);
     for (int i = 0; i < sx; i++)
     {
         for (int j = 0; j < sy; j++)
         {
             ret.set(j, i, get(i, j));
         }
     }
     return ret;
 }
开发者ID:YaStark,项目名称:ShazamO,代码行数:15,代码来源:DObject.cs

示例3: Normalize

 /*** Приведение матрицы вида {X,Y,Z} к виду {X/Z, Y/Z, 1} ***/
 public bool Normalize()
 {
     try
     {
         DObject ret = new DObject(this);
         for (int i = 0; i < sy; i++)
         {
             double n = get(sx - 1, i);
             if (n == 1) continue;
             else ret.set(sx - 1, i, 1);
             for (int j = 0; j < sx - 1; j++) ret.set(j, i, get(j, i) / n);
         }
         clone(ret);
         return true;
     }
     catch
     {
         return false;
     }
 }
开发者ID:YaStark,项目名称:ShazamO,代码行数:21,代码来源:DObject.cs

示例4: Mult

 /*** Умножение на матрицу dobj ***/
 public DObject Mult(DObject dobj)
 {
     if ((sx == 0) || (sx != dobj.sy)) return null;
     DObject ret = new DObject(dobj.sx, sy);
     for (int i = 0; i < dobj.sx; i++)
     {
         for (int j = 0; j < sy; j++)
         {
             double r = 0;
             for (int k = 0; k < sx; k++)
             {
                 r += get(k, j) * dobj.get(i, k);
             }
             ret.set(i, j, r);
         }
     }
     return ret;
 }
开发者ID:YaStark,项目名称:ShazamO,代码行数:19,代码来源:DObject.cs

示例5: Invert

 /// <summary>
 /// Получение обратной матрицы
 /// </summary>
 public DObject Invert()
 {
     if (sx != sy) return null;
     DObject ret = new DObject(sx, sy);
     for (int i = 0; i < sx; i++)
     {
         DObject dmx = new DObject(sx + 1, sy);
         for (int i0 = 0; i0 < sy; i0++)
         {
             for (int j0 = 0; j0 < sx; j0++) dmx.set(j0, i0, get(j0, i0));
             dmx.set(sx, i0, (i == i0 ? 1 : 0));
         }
         DObject res = dmx.SLAU();
         for (int j = 0; j < sy; j++) ret.set(i, j, res.get(j, 0));
     }
     return ret;
 }
开发者ID:YaStark,项目名称:ShazamO,代码行数:20,代码来源:DObject.cs

示例6: fread

 /*** Создание объекта из файла ***/
 public bool fread(string path)
 {
     // Считали файл, убрали пробелы, разбили на массив построчно
     System.IO.StreamReader fs = new System.IO.StreamReader(path);
     string content = fs.ReadToEnd().Replace(".", ",");
     while (content != content.Replace("  ", " ")) content = content.Replace("  ", " ");
     while (content != content.Replace("\t", " ")) content = content.Replace("\t", " ");
     string[] strs = content.Split("\r\n".ToCharArray(), System.StringSplitOptions.RemoveEmptyEntries);
     fs.Close();
         // Создали возвращаемый объект, заполнили поля размера по х и у
     DObject ret = new DObject();
     ret.sy = strs.Length;
     ret.sx = 0;
         // создали матрицу для хранения значений массива в строках
     string[][] ss = new string[ret.sy][];
     int i = 0;
     System.Array.ForEach<string>(strs, delegate(string str)
     {
         ss[i] = str.Split(" ".ToCharArray(), System.StringSplitOptions.RemoveEmptyEntries);
         if (ret.sx < ss[i].Length) ret.sx = ss[i].Length;
         i++;
     });
         //Заполнили ret.matrix и вернули true
     ret = new DObject(ret.sx, ret.sy);
     for (i = 0; i < ret.sy; i++)
     {
         for (int j = 0; j < ret.sx; j++)
         {
             ret.set(j, i, double.Parse(ss[i][j]));
         }
     }
     clone(ret);
     return true;
 }
开发者ID:YaStark,项目名称:ShazamO,代码行数:35,代码来源:DObject.cs

示例7: Spline

        /// <summary>
        /// Increase sample rate of input array in Acceleration times using 3-Spline
        /// </summary>
        public static float[] Spline(float[] Data, int Offset, int Length, int Acceleration)
        {
            //PointF[] gpts = points.ToArray();
            int n = Length, ndec = n - 1;
            DObject d = new DObject(3 * n - 2, 3 * ndec);

            // Заполнение первого условия, количество точек - 2*(n-1)
            for (int i = 0; i < ndec; i++)
            {
                int i2 = i << 1, i3 = i2 + i;
                float _x = Offset + i;

                d.set(i3, i2, _x * _x);
                d.set(i3 + 1, i2, _x);
                d.set(i3 + 2, i2, 1);
                d.set(3 * ndec, i2, Data[(int)_x]);

                _x++;
                i2++;

                d.set(i3, i2, _x * _x);
                d.set(i3 + 1, i2, _x);
                d.set(i3 + 2, i2, 1);
                d.set(3 * ndec, i2, Data[(int)_x]);
            }

            // Второе условие, количество точек - n-2
            // 2a1x1 + b1 = 2a2x1 + b2
            // 2a2x2 + b2 = 2a3x2 + b3
            //          ...
            for (int i = 0, i3 = 0, delta = 2 * ndec;
                i < n - 2;
                i++, i3 += 3, delta++)
            {
                float _x = (Offset + i + 1) * 2;

                d.set(i3, delta, _x);
                d.set(i3 + 1, delta, 1);
                d.set(i3 + 3, delta, -_x);
                d.set(i3 + 4, delta, -1);
            }

            // Третье условие
            int del = 3 * n - 4;
            d.set(0, del, 2 * Offset);
            d.set(1, del, -1);
            DObject coeff = new DObject(d).SLAU();
            if (coeff == null)
            {
                del = 6 * n - 9;
                d.set(0, del, (n << 1) - 2);
                d.set(1, del + 1, -1);
                coeff = new DObject(d).SLAU();
            }
            if (coeff == null) return null;

            float[] ret = new float[ndec * Acceleration];
            int k = 0;
            float dAcc = 1.0F / (Acceleration - 1);

            for (int i = 0; i < n - 1; i++)
            {
                ret[k++] = Data[Offset + i];
                int i3 = 3 * i;
                //ret.Add(gpts[i].toPoint());
                double _a = coeff.get(i3, 0);
                double _b = coeff.get(i3 + 1, 0);
                double _c = coeff.get(i3 + 2, 0);

                for (int j = 1; j < Acceleration - 1; j++)
                {
                    //double _x = i + j * 3;
                    //int _x = i * Acceleration + j;
                    double _x = Offset + i + j * dAcc;
                    ret[k++] = (float)((_a * _x + _b) * _x + _c);
                }
            }
            ret[k] = Data[Offset + ndec];

            return ret;
        }
开发者ID:YaStark,项目名称:ShazamO,代码行数:84,代码来源:Recognition.cs


注:本文中的DObject.set方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。