Показать сообщение отдельно
Старый 13.02.2012, 09:42   #1
tvf
Senior Member
 
Регистрация: Dec 2011
Сообщения: 755
Благодарил(а): 1 раз(а)
Поблагодарили: 10 раз(а) в 10 сообщениях
По умолчанию Вопросы по элементу Тренд

Хотелось бы сразу заметить, что трнед функция полезная, а иногда и незаменимая, особенно для проверки настройки ПИД-регулятора. Но тем не менее, есть претензии к этому элементу.
1. Нелинейность проеобразования входных данных в нормализованные единицы. Эта нелинейность обусловлена формулой интерполяции (относится к данным типа int и long) и ошибками округления. Первые без перевода в формат типа real вообще не подвержены коррекциию Ошибки округления решаемы. Даже с учетом отсуствия в функциии арифметического округления для контроллеров Pixel, эту проблему можно решить прибавкой к величине на входе 0,5 и отбрасывании дробной части. Для отрицательных величин чуть сложнее, но не представляет особых сложностей. Для SMH 2G не столь критично, для Pixel более критично. Решить проблему можно преобразованием через формат данных типа real с арифметическим округлением. В Pixel арифметическое округление отсуствует, но её можно сгенерировать прибавкой 0,5 и отбрасыванием дробной части, для положительных величин, и прибавкой -0,5 и отбрасыванием дробной части для отрицательных величин. Для данных типа int и Long преобразование в Real и далее по описанному пути.
2. Несовпадение разметки по оси Y и реального разрешения тренда. Пусть реальное разрешение тренда задается разметкой по оси Y, а не размером элемента типа Trend-2(3)pixel, в зависимости от формата меток.
3.Горизонтальные руллеры пишутся поверх графика, затирая часть графика по этим ординатам, хотелось бы наоборот, что бы график писался поверх руллеров. Пусть лучше не видно руллеров, чем графика.
Для этого надо, что бы функция типа Line имела параметр "Прозрачность".
4. Формализованное значение соотвествует разрешению графика, что делает функцию увеличения практически бесполезной. Увеличение тренда не приводит к появлению новых точек, а только к увеличению расстояния между точками, что врядли оправдывает увеличение. Хотелось бы, что бы в нормализованном состоянии каждая точка тренда хранила не координаты тренда при масштабе 100%, а координаты*N. Тогда увеличение приводило бы к увеличению точек графика. Для иллюстрации можно привести пример. Температуры от 0 до 30*С. График для Pixel 30 точек максимум. Нормализованное значение от 0 до 30. Разрешение нормализованного значения 1*С. Если хранить нормализованное значение от 0 до 300, то разрешение будет от 0,1*С, тогда функция увеличения будет полезной.
На данный момент приходится специально готовить данные, и при увеличенни затирать старый график.
tvf вне форума   Ответить с цитированием