Найти перегиб графика - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет! Возникла проблема при написании кода, имеется файл .txt, в который записывается информация некое значение и время когда это было сделано, с момента запуска программы, соответственно получается формат записи таковой 1324 4356. Мне необходимо из всего файла найти максимальное значение показания и его время (ну тут я справился) и точку резкого спада и его время, показано на картинке. Пробовал исследовать каждые 5 точек и найти этот перепад, но ничего не вышло. Помогите пожалуйста с алгоритмом поиска. Заранее всем большое спасибо)

Решение задачи: «Найти перегиб графика»

textual
Листинг программы
            //ищем точку перегиба по шаблону
            var template = new float[] { -0.01f, -0.01f, -0.01f, -0.01f, -0.01f, -0.15f, -0.15f, -0.15f, -0.15f};
            var i = new Calculator() {Template = template}.FindBestResponse(data.Diff);
            data.FoundIndex2 = i + template.Length / 2;
 
            //ищем точку максимума по шаблону
            template = new float[] { 0.05f, 0.05f, 0.05f, 0.05f, 0.05f, -0.04f, -0.04f, -0.04f, -0.04f };
            i = new Calculator() { Template = template }.FindBestResponse(data.Diff);
            data.FoundIndex1 = i + template.Length / 2;
 
            lbResult.Text = string.Format("From:  {0}\r\nTo:  {1}", data.X[data.FoundIndex1], data.X[data.FoundIndex2]);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы