Ну, скажем так - алгоритм там правильный и реализация без ошибок. Нужно только учитывать ограничения метода.
Этот код оценивает тренд упрощенным методом МНК для уравнения без второго члена:
y = a* x
Понятно, что одни наборы данных описываются этим уравнением хорошо, а другие хуже. Поэтому тренд, который найден по этой формуле - может сильно расходится с оценкой по классическому линейному уравнению:
y = a*x + b
зато метод очень быстрый, легко приводится к целочисленному виду и требует раза в 4 меньше вычислений, чем классический МНК
Подскажите почему не работает усреднение? В чем ошибка?
потому что этот код - не усреднение, а взвешенное среднее. В этой формуле averageFactor должен быть меньше единицы, например 0.1. Чем меньше averageFactor - тем плавнее будет менятся величина, но тем медленее она будет реагировать на изменение измеряемого сигнала
поправка - нет, все верно, в этом коде фактор больше единицы - не заметил деления, у меня на экране строчка 10 перенеслась на следующую
Код верный, только повторяю, что это не устреднение.
Если пишете "не работает" - напишите конкретнее, в чем это заключается. Добавьте в код вывод в сериал измеряемых и вычисляемых значений (строчки 7 и 10) и прогоните серию из 30-50 измерений
Вас спрашивали как описано pressure_tonn ? - вместо того чтоб описать переменную, вы добавили еще одну - pressure_tonn_f - опять без описания. Этот код не будет компилироваться
Ребята, оказываете ли вы платные консультации? Я готов заплатить. А то вижу, что мои вопросы заставляют нервничать, возможно финансовая компенсация поможет сгладить ситуацию и перевести разговор в конструктивное русло
Да ладно, вы просто делайте что говорят. А два нулика после запятой у вас появляются, потому переменная типа флоат. Поэтому от вас и добивались, как она описана. Среднее вы считаете не вполне верно, не надо смешивать целые и флоаты. Подробнее не буду, с телефона много набивать
Ребята, оказываете ли вы платные консультации? Я готов заплатить. А то вижу, что мои вопросы заставляют нервничать, возможно финансовая компенсация поможет сгладить ситуацию и перевести разговор в конструктивное русло
Мне нужно было убрать скачки, сейчас все работает, только приходится ждать время пока данные начнет показывать, есть эффект накопления, приходится выжидать время и потом все показывает нормально.
Можно ли этот период накопления не выводить на дисплей? например сделать так чтобы сначала производились вычисления и только спустя определенное количество измерений результат начинал попадать на дисплей?
И еще один вопрос, как можно ограничить количество символов после запятой простым способом?
Нужно чтобы было 1 число после запятой, сейчас от 2 до 3 символов.
Данный вид усреднения работает только на действительных числах.
Во как. Уже до действительных добрались, фантастика.
Извини что потревожил твою психику использовав термин из области математики а не программирования. Предлагаю тебе читать вместо термина действительные числа термин тип float. Может быть тогда не будет фантастики?
Мне нужно было убрать скачки, сейчас все работает, только приходится ждать время пока данные начнет показывать, есть эффект накопления, приходится выжидать время и потом все показывает нормально.
Можно ли этот период накопления не выводить на дисплей? например сделать так чтобы сначала производились вычисления и только спустя определенное количество измерений результат начинал попадать на дисплей?
И еще один вопрос, как можно ограничить количество символов после запятой простым способом?
Нужно чтобы было 1 число после запятой, сейчас от 2 до 3 символов.
Дык давай сделаем, чо? Алгоритм есть? Формулы?
Ну, скажем так - алгоритм там правильный и реализация без ошибок. Нужно только учитывать ограничения метода.
Этот код оценивает тренд упрощенным методом МНК для уравнения без второго члена:
y = a* x
Понятно, что одни наборы данных описываются этим уравнением хорошо, а другие хуже. Поэтому тренд, который найден по этой формуле - может сильно расходится с оценкой по классическому линейному уравнению:
y = a*x + b
зато метод очень быстрый, легко приводится к целочисленному виду и требует раза в 4 меньше вычислений, чем классический МНК
А если взять массив "первый вошёл последний вылетел" , поделить его на пополам и брать среднее от двух половин - не проще ли так будет???
Добрый день! Подскажите почему не работает усреднение? В чем ошибка?
Добрый день! Подскажите почему не работает усреднение? В чем ошибка?
не увидел объявление -
Подскажите почему не работает усреднение? В чем ошибка?
потому что этот код - не усреднение, а взвешенное среднее. В этой формуле averageFactor должен быть меньше единицы, например 0.1. Чем меньше averageFactor - тем плавнее будет менятся величина, но тем медленее она будет реагировать на изменение измеряемого сигнала
поправка - нет, все верно, в этом коде фактор больше единицы - не заметил деления, у меня на экране строчка 10 перенеслась на следующую
Код верный, только повторяю, что это не устреднение.
Если пишете "не работает" - напишите конкретнее, в чем это заключается. Добавьте в код вывод в сериал измеряемых и вычисляемых значений (строчки 7 и 10) и прогоните серию из 30-50 измерений
Благодарю всех за ответы! Нашел ошибку
Могли бы в еще подсказать почему после усреднения у результата появляется два нуля после точки.
Пример:
Данные у чистом виде/Усредненные данные
238/238.00
235/238.00 и т.д.
Заранее прошу извинения за тупые вопросы
вы так и не сказали, как описано
Не смог отредактировать свое сообщение, высылаю код с добавлением вывода на монитор
Degalo - вы русский язык хорошо понимаете?
Вас спрашивали как описано pressure_tonn ? - вместо того чтоб описать переменную, вы добавили еще одну - pressure_tonn_f - опять без описания. Этот код не будет компилироваться
Я не понимаю вашего вопроса. Сформулируйте его иначе
а нахрена ты читаешь целое в цикле и присваиваешь его float? Усредняй тоже в целых, а потом присваивай
Ребята, оказываете ли вы платные консультации? Я готов заплатить. А то вижу, что мои вопросы заставляют нервничать, возможно финансовая компенсация поможет сгладить ситуацию и перевести разговор в конструктивное русло
Да ладно, вы просто делайте что говорят. А два нулика после запятой у вас появляются, потому переменная типа флоат. Поэтому от вас и добивались, как она описана. Среднее вы считаете не вполне верно, не надо смешивать целые и флоаты. Подробнее не буду, с телефона много набивать
Добрый день! Подскажите почему не работает усреднение? В чем ошибка?
Данный вид усреднения работает только на действительных числах. Попытка применить его на целых не даст необходимого результата. Только приближение.
Ребята, оказываете ли вы платные консультации? Я готов заплатить. А то вижу, что мои вопросы заставляют нервничать, возможно финансовая компенсация поможет сгладить ситуацию и перевести разговор в конструктивное русло
ещё бы не оказывать...
Данный вид усреднения работает только на действительных числах.
Во как. Уже до действительных добрались, фантастика.
Мне нужно было убрать скачки, сейчас все работает, только приходится ждать время пока данные начнет показывать, есть эффект накопления, приходится выжидать время и потом все показывает нормально.
Можно ли этот период накопления не выводить на дисплей? например сделать так чтобы сначала производились вычисления и только спустя определенное количество измерений результат начинал попадать на дисплей?
И еще один вопрос, как можно ограничить количество символов после запятой простым способом?
Нужно чтобы было 1 число после запятой, сейчас от 2 до 3 символов.
Данный вид усреднения работает только на действительных числах.
Во как. Уже до действительных добрались, фантастика.
Извини что потревожил твою психику использовав термин из области математики а не программирования. Предлагаю тебе читать вместо термина действительные числа термин тип float. Может быть тогда не будет фантастики?
Мне нужно было убрать скачки, сейчас все работает, только приходится ждать время пока данные начнет показывать, есть эффект накопления, приходится выжидать время и потом все показывает нормально.
Можно ли этот период накопления не выводить на дисплей? например сделать так чтобы сначала производились вычисления и только спустя определенное количество измерений результат начинал попадать на дисплей?
И еще один вопрос, как можно ограничить количество символов после запятой простым способом?
Нужно чтобы было 1 число после запятой, сейчас от 2 до 3 символов.
это уже платно...
Вот пример скользящего среднего на целых числах. В своих проектах так делаю.
Можете позвонить мне или написать
Можете позвонить мне или написать
Куда? Нужно вычислить тебя по IP ? :)
ICQ 642168784
И что вы все пропали? Мне уже мошенники несколько раз позвонили, а вы ни разу.
И что вы все пропали? Мне уже мошенники несколько раз позвонили, а вы ни разу.
Про других не скажу, а я не вполне понял, зачем вам звонить? - потому и не звоню
Если вы хотите заказать разработку - создайте тему в разделе "Ищу исполнителя"