Exemplo n.º 1
0
        public static TireDataMaxmin GetLimitData(List <TireData> list)
        {
            var maxmin = new TireDataMaxmin();

            maxmin.count = list.Count;
            foreach (var data in list)
            {
                for (int i = 0; i < TireData.Count(); ++i)
                {
                    if (maxmin.Max[(TireDataColumn)i] < data[(TireDataColumn)i])
                    {
                        maxmin.Max[(TireDataColumn)i] = data[(TireDataColumn)i];
                    }
                    if (maxmin.Min[(TireDataColumn)i] > data[(TireDataColumn)i])
                    {
                        maxmin.Min[(TireDataColumn)i] = data[(TireDataColumn)i];
                    }
                    maxmin.Mean[(TireDataColumn)i] += data[(TireDataColumn)i];
                }
            }
            for (int i = 0; i < TireData.Count(); ++i)
            {
                maxmin.Mean[(TireDataColumn)i] /= list.Count();
            }
            return(maxmin);
        }
Exemplo n.º 2
0
        public static TireData Resolution()
        {
            TireData data = new TireData();

            data.ET     = 0.02;
            data.V      = 0.05;
            data.N      = 1;
            data.SA     = 0.01;
            data.IA     = 0.01;
            data.RL     = 0.01;
            data.RE     = 0.1;
            data.P      = 0.1;
            data.FX     = 1;
            data.FY     = 1;
            data.FZ     = 1;
            data.MX     = 0.1;
            data.MZ     = 0.1;
            data.NFX    = 0.01;
            data.NFY    = 0.01;
            data.RST    = 0.1;
            data.TSTC   = 0.1;
            data.TSTI   = 0.1;
            data.TSTO   = 0.1;
            data.AMBTMP = 0.1;
            data.SR     = 0.01;
            data.SL     = 0.01;
            return(data);
        }
Exemplo n.º 3
0
        public TireData Copy()
        {
            var value = new TireData();

            _data.CopyTo(value._data, 0);
            return(value);
        }
Exemplo n.º 4
0
        public DatFileReader(string filename, int skip = 3)
        {
            DataList = new List <TireData>();
            using (var sr = new System.IO.StreamReader(filename))
            {
                uint count = 0;
                while (!sr.EndOfStream)
                {
                    //三行読み飛ばす
                    ++count;
                    var line = sr.ReadLine();
                    if (count <= skip)
                    {
                        continue;
                    }
                    var values = line.Split('\t');

                    if (values.Count() < 21)
                    {
                        throw new Exception("データがおかしい");
                    }

                    var data = new TireData();
                    data.ET     = double.Parse(values[0]);
                    data.V      = double.Parse(values[1]);
                    data.N      = double.Parse(values[2]);
                    data.SA     = double.Parse(values[3]);
                    data.IA     = double.Parse(values[4]);
                    data.RL     = double.Parse(values[5]);
                    data.RE     = double.Parse(values[6]);
                    data.P      = double.Parse(values[7]);
                    data.FX     = double.Parse(values[8]);
                    data.FY     = double.Parse(values[9]);
                    data.FZ     = -double.Parse(values[10]);
                    data.MX     = double.Parse(values[11]);
                    data.MZ     = double.Parse(values[12]);
                    data.NFX    = double.Parse(values[13]);
                    data.NFY    = double.Parse(values[14]);
                    data.RST    = double.Parse(values[15]);
                    data.TSTI   = double.Parse(values[16]);
                    data.TSTC   = double.Parse(values[17]);
                    data.TSTO   = double.Parse(values[18]);
                    data.AMBTMP = double.Parse(values[19]);
                    data.SR     = double.Parse(values[20]);
                    if (values.Count() > 21)
                    {
                        data.SL = double.Parse(values[21]);
                    }
                    else
                    {
                        var speed     = data.V / 3.6 / 100;
                        var rps       = data.N / 60;
                        var tireSpeed = Math.PI * data.RE * 2 * rps;
                        data.SL = (speed - tireSpeed) / speed;
                    }
                    DataList.Add(data);
                }
            }
        }
Exemplo n.º 5
0
 public TireDataMaxmin()
 {
     Max  = new TireData();
     Min  = new TireData();
     Mean = new TireData();
     for (int i = 0; i < TireData.Count(); ++i)
     {
         Max[(TireDataColumn)i]  = double.MinValue;
         Min[(TireDataColumn)i]  = double.MaxValue;
         Mean[(TireDataColumn)i] = 0;
     }
 }
Exemplo n.º 6
0
        public bool Evaluate(TireData data)
        {
            double value = data[Column];

            return(Evaluate(value));
        }