Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2012, 18:17   #1
Hell2000
 
Регистрация: 16.10.2012
Сообщений: 8
По умолчанию Delphi. Компоненты Chart.

Доброго времени суток.
Имеется поле отображения графиков Chart исходного и обработанного сигналов, кнопка начала фильтрации и поле ввода интервала усреднения.

Построил график, задал точки, ввел строку Edit в которой необходимо ввести число интервала усреднения, теперь не могу понять, как использовать координаты графика, которые я задал в коде. Ибо среднее арифметическое надо считать по Y и тому самому интервалу, который задает пользователь.
И основная проблема в том, что не знаю, как связать исходный график и обработанный.
Изображения
Тип файла: jpg Фильтр.jpg (279.2 Кб, 139 просмотров)

Последний раз редактировалось Hell2000; 27.10.2012 в 18:22.
Hell2000 вне форума Ответить с цитированием
Старый 27.10.2012, 18:42   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Скриншот ни о чем не говорит.
Цитата:
кнопка начала фильтрации
Критерий какой?
Тему раскрой подробнее.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.10.2012, 13:04   #3
Hell2000
 
Регистрация: 16.10.2012
Сообщений: 8
По умолчанию

Функционал:
Пользователь должен иметь возможность загрузить информацию об исходном сигнале (набор точек) из файла, после чего применить к сигналу сглаживающий фильтр (среднее арифметическое по указанному интервалу).

Интерфейс же, должен иметь поле для отображения графиков исходного и обработанного сигналов (Chart), кнопку начала фильтрации и поле для ввода интервала усреднения.
Hell2000 вне форума Ответить с цитированием
Старый 28.10.2012, 13:22   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Примерно понял. Предлагаю такое:
Код:
var a,b:array of integer;j,k,s,n,i:integer;
begin
//Это кол-во срезаемых элементов
 n:=20;
// Это колво исходных элементов
 SetLength(a,100);
 SetLength(b,Length(a) div n);
// Допустим считываем их откуда-то
 for i:=low(a) to High(a) do a[i]:=100-Random(200);
//Вормируем исходный грид
 for i:=low(a) to High(a) do Series1.AddY(a[i]);

// Теперь сжимаем по условию, и формируем второй грид
 k:=Low(b); s:=0;
 for i:=low(a) to High(a) do begin
  if (i<>0)and((i mod n)=0) then begin
    b[k]:=s div n;s:=0;inc(k);end
  else s:=s+a[i];
 end;
 for i:=low(b) to High(b) do Series2.AddY(b[i]);

end;
Подходит?
Ну на контролы ты уж сам раскидай
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.10.2012, 14:32   #5
Hell2000
 
Регистрация: 16.10.2012
Сообщений: 8
По умолчанию

Так, первую часть я понял: формируем кривые исходного графика.
Не могу понять зачем в переменных указывается J и что такое S.
Так, еще проблема в том, что не могу связать число, которое вводится в Edit в качестве интервала для усреднения.
Hell2000 вне форума Ответить с цитированием
Старый 28.10.2012, 14:58   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
зачем в переменных указывается J
Ну затупил я наверно, ну с кем не бывает
Цитата:
что такое S.
Что-то типа среднего арифметического. Поскольку я не в курсе как усреднение считается.
Цитата:
не могу связать число, которое вводится в Edit в качестве интервала для усреднения.
Давай наверное для деревни поясняй что такое усреднение.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.10.2012, 15:00   #7
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

.....тырк.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 30.10.2012, 22:35   #8
Hell2000
 
Регистрация: 16.10.2012
Сообщений: 8
По умолчанию

Виталий, усреднение получается путём суммирования высоты Y точки и деления этой суммы на кол-во, соответствующее тому, сколько игриков сложили Допустим ввели 3, значит получается: (Y1+Y2+Y3)/3 - это получается точка, так сказать средняя. Так вот благодаря им график более пологим получается. Вот эти полученные точки мне и надо ввести в Серию2.
Нарисовал график, там разным цветом указаны высоты, которые суммировали и какой примерно график получается.
Фух, надеюсь как-то что-то нормально объяснил
Изображения
Тип файла: jpg усреднение.jpg (396.0 Кб, 140 просмотров)
Hell2000 вне форума Ответить с цитированием
Старый 30.10.2012, 22:42   #9
Hell2000
 
Регистрация: 16.10.2012
Сообщений: 8
По умолчанию

raxp, спасибо, однако не понял в полиноме логарифмической регрессии, что сие означает a,b,c,d,e,f - это новые точки, которые мы получаем в процессе сглаживания, чтоль?
Hell2000 вне форума Ответить с цитированием
Старый 31.10.2012, 11:09   #10
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...формулы смотрите в любом математическом справочнике.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу Chart компоненты. Erizar Компоненты Delphi 4 12.02.2011 18:21
chart (delphi) grom333 Помощь студентам 1 24.04.2009 15:09
Помогите с Chart в delphi! aks Помощь студентам 3 18.04.2009 12:38
Chart (Delphi). В чем ошибка? Chudo4258 Помощь студентам 2 27.03.2009 05:28
Проблема с Chart на Delphi 6 ( Georgios Помощь студентам 6 19.01.2009 14:54