private List <double> GenerateVGridFreqListLogarithmic(FreqListType t) { var result = new List <double>(); var itemInDecade = new double[] { 1, 2, 5 }; if (t == FreqListType.ForLine) { itemInDecade = new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; } var freqStartEnd = FreqStartEnd(); double freq = freqStartEnd.Item1; do { foreach (var item in itemInDecade) { var f = freq; f *= item; if (freqStartEnd.Item2 < f) { break; } result.Add(f); } freq *= 10; } while (freq <= freqStartEnd.Item2); return(result); }
/// <summary> /// グリッド縦棒の周波数のリストを生成。 /// </summary> /// <returns></returns> private List <double> GenerateVerticalGridFreqList(FreqListType t) { switch ((FreqScaleType)comboBoxFreqScale.SelectedIndex) { case FreqScaleType.Linear: return(GenerateVGridFreqListLinear(t)); case FreqScaleType.Logarithmic: return(GenerateVGridFreqListLogarithmic(t)); } System.Diagnostics.Debug.Assert(false); return(null); }
private List <double> GenerateVGridFreqListLinear(FreqListType t) { var result = new List <double>(); double count = 10; double interval = FreqStartEnd().Item2 / count; double freq = 0; for (int i = 0; i < count; ++i) { result.Add(freq); freq += interval; } return(result); }