[identity profile] siron-nsk.livejournal.com posting in [community profile] engineering_ru
Я понимаю, что это скорее к математикам, но там сообщество закрытое и полуживое.

Бортовой компьютер автомобиля непрерывно вычисляет средний расход топлива, пока его не обнулишь. Значение может считаться много лет, если не сбрасывать и не скидывать клемму с аккума.



Как это вообще возможно, если для вычисления текущего среднего значения нам нужен ВЕСЬ ряд чисел? Или это не так? Что это за формула такая?
Варианты "ряд на самом деле не бесконечен" или "компьютер реально хранит весь ряд" имеют очевидное объяснение, поэтому пропустим их.
Page 1 of 2 << [1] [2] >>

Date: 2018-06-06 01:23 pm (UTC)
From: [identity profile] gen-shtab.livejournal.com
Почему это "много лет", когда у ВАГа, например, лишь за последние 100 часов?

Date: 2018-06-06 01:23 pm (UTC)
From: [identity profile] tayamarn.livejournal.com
Достаточно хранить общий километраж и общее количество сожранного топлива; числа, конечно, выходят немалые, но это решаемо, да и с увеличением можно их начинать хранить со всё снижающейся точностью, по большому счету.

Date: 2018-06-06 01:25 pm (UTC)
From: [identity profile] vladimir-akinin.livejournal.com
Отведи под эти числа 8 байт, и не парься с тем, что они выходят большими.

(no subject)

From: [identity profile] dr-trans.livejournal.com - Date: 2018-06-06 01:30 pm (UTC) - Expand

(no subject)

From: [identity profile] eednew.livejournal.com - Date: 2018-06-06 02:10 pm (UTC) - Expand

(no subject)

From: [identity profile] dr-trans.livejournal.com - Date: 2018-06-06 02:24 pm (UTC) - Expand

(no subject)

From: [personal profile] crower - Date: 2018-06-06 03:18 pm (UTC) - Expand

(no subject)

From: [identity profile] aso.livejournal.com - Date: 2018-06-06 06:34 pm (UTC) - Expand

(no subject)

From: [identity profile] irnis-fb.livejournal.com - Date: 2018-06-07 09:24 am (UTC) - Expand

(no subject)

From: [identity profile] wormball.livejournal.com - Date: 2018-06-07 10:11 am (UTC) - Expand

(no subject)

From: [identity profile] irnis-fb.livejournal.com - Date: 2018-06-07 10:30 am (UTC) - Expand

(no subject)

From: [identity profile] wormball.livejournal.com - Date: 2018-06-07 10:55 am (UTC) - Expand

(no subject)

From: [identity profile] irnis-fb.livejournal.com - Date: 2018-06-08 09:44 am (UTC) - Expand
(deleted comment)

Date: 2018-06-06 01:53 pm (UTC)
From: [identity profile] ne-kit-kat.livejournal.com
а при заправке, по-вашему, машина до каких долей знает солько ей залили?

(no subject)

From: [identity profile] kaafree.livejournal.com - Date: 2018-06-06 01:57 pm (UTC) - Expand

(no subject)

From: [identity profile] yasmax.livejournal.com - Date: 2018-06-06 03:17 pm (UTC) - Expand

(no subject)

From: [identity profile] yasmax.livejournal.com - Date: 2018-06-06 03:20 pm (UTC) - Expand

(no subject)

From: [identity profile] red-alert22.livejournal.com - Date: 2018-06-06 04:50 pm (UTC) - Expand
(deleted comment)

Date: 2018-06-06 01:31 pm (UTC)
From: [identity profile] dr-trans.livejournal.com
ага, они еще будут туда Котельниковава всталвять, щас, оно им надо... просто 2 счетчика -- км и л
(deleted comment)

(no subject)

From: [identity profile] dr-trans.livejournal.com - Date: 2018-06-06 01:45 pm (UTC) - Expand

(no subject)

From: [identity profile] dr-trans.livejournal.com - Date: 2018-06-06 01:49 pm (UTC) - Expand

(no subject)

From: [identity profile] dr-trans.livejournal.com - Date: 2018-06-06 02:27 pm (UTC) - Expand

(no subject)

From: [identity profile] kspshnik.livejournal.com - Date: 2018-06-06 02:19 pm (UTC) - Expand

(no subject)

From: [identity profile] relikt-74.livejournal.com - Date: 2018-06-06 02:52 pm (UTC) - Expand

Date: 2018-06-06 01:33 pm (UTC)
From: [identity profile] sullen-ru.livejournal.com
3.402823466e+38
float в С++, на котором скорее всего все написано. Хватит для варианта "два тупых счетчика".

вопрос точности или не поднимался разработчиком, или как написали выше, не критичен с увеличением пробега.

можно еще баловаться среднесуточными, или средним на 100 или 1000 км, храня их зачем то в целых.
а потом их уже усреднять. была бы задача поставлена:)

Date: 2018-06-06 06:41 pm (UTC)
From: [identity profile] aso.livejournal.com
float в С++, на котором скорее всего все написано. Хватит для варианта "два тупых счетчика".

В таком эмбеде до сих пор местами сидят ещё на какой-нибудь Атмеге8, кокая там float, Вы что?
Да и не подходит fload для такой задачи - он тупо не сможет суммировать мелкие числа с крупными.
Только всякие long long long unsigned здесь пойдут.

(no subject)

From: [identity profile] zelenyj-at-lj.livejournal.com - Date: 2018-06-06 09:24 pm (UTC) - Expand

(no subject)

From: [identity profile] klaip.livejournal.com - Date: 2018-06-07 03:46 pm (UTC) - Expand

(no subject)

From: [identity profile] zelenyj-at-lj.livejournal.com - Date: 2018-06-07 08:31 pm (UTC) - Expand

(no subject)

From: [identity profile] alex-avr2.livejournal.com - Date: 2018-06-06 10:17 pm (UTC) - Expand

(no subject)

From: [identity profile] aso.livejournal.com - Date: 2018-06-07 05:32 pm (UTC) - Expand

(no subject)

From: [identity profile] alex-avr2.livejournal.com - Date: 2018-06-07 08:21 pm (UTC) - Expand

(no subject)

From: [identity profile] aso.livejournal.com - Date: 2018-06-08 04:08 pm (UTC) - Expand

(no subject)

From: [identity profile] alex-avr2.livejournal.com - Date: 2018-06-08 04:55 pm (UTC) - Expand

(no subject)

From: [identity profile] aso.livejournal.com - Date: 2018-06-08 05:54 pm (UTC) - Expand

Date: 2018-06-06 01:35 pm (UTC)
From: [identity profile] ahitech.livejournal.com
Средний расход за N+1 километр равен расходу за N километров, умноженному на N, плюс изменению в баке за последний километр (он же "суммарная прокачка топливного насоса за время с последнего апдейта"), и всё это разделить на N+1. Все числа несерьёзные, формата double хватит на всю жизнь машины.

Так же можно считать и менее серьёзными квантами, хоть по 10 метров.
Edited Date: 2018-06-06 01:37 pm (UTC)

Date: 2018-06-06 06:43 pm (UTC)
From: [identity profile] aso.livejournal.com
Ещё один эксперт с флоатом на атмеге.
И счётчикаме на нём...

(no subject)

From: [identity profile] ahitech.livejournal.com - Date: 2018-06-06 07:07 pm (UTC) - Expand

(no subject)

From: [identity profile] aso.livejournal.com - Date: 2018-06-07 06:18 pm (UTC) - Expand

(no subject)

From: [identity profile] ahitech.livejournal.com - Date: 2018-06-07 07:34 pm (UTC) - Expand

(no subject)

From: [identity profile] aso.livejournal.com - Date: 2018-06-08 05:47 pm (UTC) - Expand

(no subject)

From: [identity profile] juray.livejournal.com - Date: 2018-06-09 11:58 am (UTC) - Expand

(no subject)

From: [identity profile] ahitech.livejournal.com - Date: 2018-06-10 08:59 am (UTC) - Expand

Date: 2018-06-06 01:39 pm (UTC)
From: [identity profile] v-kleschev.livejournal.com
> Значение может считаться много лет

И где это значение можно использовать с пользой?

Date: 2018-06-06 01:45 pm (UTC)
From: [identity profile] oppositus.livejournal.com
Посмотреть, на сколько километров хватит бензина, и не пора ли уже заправляться.

(no subject)

From: [identity profile] ivanrak.livejournal.com - Date: 2018-06-07 08:24 am (UTC) - Expand

(no subject)

From: [identity profile] yasmax.livejournal.com - Date: 2018-06-06 03:22 pm (UTC) - Expand

Date: 2018-06-06 01:44 pm (UTC)
From: [identity profile] oppositus.livejournal.com
Весь ряд чисел не нужен.

    // Returns the new average after including x
    static float getAvg(float prev_avg, float x, int n)
    {
        return (prev_avg * n + x) / (n + 1);
    }

Реально, конечно, 2 счетчика - километраж и расход.

(no subject)

From: [identity profile] oppositus.livejournal.com - Date: 2018-06-06 02:32 pm (UTC) - Expand

(no subject)

From: [identity profile] netnet-dada.livejournal.com - Date: 2018-06-27 04:53 pm (UTC) - Expand

(no subject)

From: [identity profile] relikt-74.livejournal.com - Date: 2018-06-06 02:58 pm (UTC) - Expand

(no subject)

From: [identity profile] relikt-74.livejournal.com - Date: 2018-06-06 04:11 pm (UTC) - Expand

(no subject)

From: [identity profile] dlagno.livejournal.com - Date: 2018-06-06 03:57 pm (UTC) - Expand

(no subject)

From: [identity profile] boud.livejournal.com - Date: 2018-06-06 07:00 pm (UTC) - Expand

(no subject)

From: [identity profile] kspshnik.livejournal.com - Date: 2018-06-06 02:20 pm (UTC) - Expand

(no subject)

From: [identity profile] kspshnik.livejournal.com - Date: 2018-06-06 09:27 pm (UTC) - Expand

(no subject)

From: [identity profile] ikaktys.livejournal.com - Date: 2018-06-07 11:29 am (UTC) - Expand

Date: 2018-06-06 01:48 pm (UTC)
From: [identity profile] sasha-kolpakov.livejournal.com
Можно еще плавающее среднее сделать, типа:
floating_avg = floating_avg_prev * k + current_avg * (1-k)

(no subject)

From: [identity profile] miutu.livejournal.com - Date: 2018-06-06 02:53 pm (UTC) - Expand

(no subject)

From: [identity profile] sasha-kolpakov.livejournal.com - Date: 2018-06-06 06:02 pm (UTC) - Expand

Date: 2018-06-06 02:16 pm (UTC)
From: [identity profile] sacred truth (from livejournal.com)
средний расход за поездку более полезен, а не за все время.

Date: 2018-06-06 02:42 pm (UTC)
From: [identity profile] cae32.livejournal.com
От производителя зависит. Видел, как на свежезалитом баке расход поднимался до небес типа 30-40 литров, а потом потихоньку падал до разумного.

Date: 2018-06-06 02:52 pm (UTC)
From: [identity profile] nusut.livejournal.com
Не нужен весь ряд чисел. Нужно предыдущее среднее S1 и объём выборки N.
Тогда при получении нового значения V новое среднее S2 = (S1*N + V)/(N + 1)

(no subject)

From: [identity profile] nusut.livejournal.com - Date: 2018-06-06 03:19 pm (UTC) - Expand

Date: 2018-06-06 02:54 pm (UTC)
From: [identity profile] http://users.livejournal.com/_blib/
вообще то легко считается для следующего члена на базе предыдущего

https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm

Date: 2018-06-06 02:56 pm (UTC)
From: [identity profile] troodny.livejournal.com
Я просто оставлю это здесь.

https://en.wikipedia.org/wiki/RRDtool

Date: 2018-06-06 02:57 pm (UTC)
From: [identity profile] aschnurrbart.livejournal.com
а зачем вам цифры, которые даёт бортовой компьютер?
я заправляюсь до полного бака, езжу, снова заправляюсь до полного бака, прямо на чеке записываю километраж, дома вношу в экселевскую таблицу.

ps. я бы заглянул в инструкцию, наверняка в ней стоит за какой период компьютер расчитывает это самое среднее.

Date: 2018-06-06 03:14 pm (UTC)
From: [identity profile] vanderdecken-lj.livejournal.com
Горе от ума....
Средний расход считается из полного, который комп считает суммируя мгновенный расход, ради расчёта которого комп в авто и появился. Комп не считает расход по изменению объёма топлива в баке, который оценивается весьма и весьма приблизительно

Date: 2018-06-06 03:15 pm (UTC)
From: [identity profile] iultinrom.livejournal.com
Это шуточный вопрос???
Интересно, если обнулить и проехать 50 км, то как он, бортовой, ага, компьютер посчитает расход за 100 км? Магия

Date: 2018-06-06 04:19 pm (UTC)
From: [identity profile] iv-an-ru.livejournal.com
"Плотность населения Ватикана --- два папы римских на квадратный километр"

(no subject)

From: [identity profile] sasha-kolpakov.livejournal.com - Date: 2018-06-06 06:04 pm (UTC) - Expand

Date: 2018-06-06 03:47 pm (UTC)
From: [identity profile] nemez-06.livejournal.com
Принцип расчёта как у спидометра. Чем больше скорость на магните генератора на коробке тем больше релюшка отклоняет стрелку.
Нет никакого расчёта и хранения. Может компьютер и хранит что-то но датчик работает по такому же принципу как спидометр. В трубку встроен генератор который подаёт ток на релюшку или в компьютер показывающий цифры.



Здесь картинки и схемы - https://www.google.com/imgres?imgurl=http%3A%2F%2Favto-remont-toyota.ru%2Fwp-content%2Fuploads%2F2012%2F012%2Fimage023.png&imgrefurl=http%3A%2F%2Favto-remont-toyota.ru%2Fkak-rabotaet-spidometr.html&docid=QNie4HaJoLgJCM&tbnid=nMu2ApSnCgi1ZM%3A&vet=10ahUKEwidwY_asL_bAhWEhaYKHa6eDdMQMwhAKAIwAg..i&w=852&h=387&client=firefox-b&bih=606&biw=1152&q=%D0%BA%D0%B0%D0%BA%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82%20%D1%81%D0%BF%D0%B8%D0%B4%D0%BE%D0%BC%D0%B5%D1%82%D1%80&ved=0ahUKEwidwY_asL_bAhWEhaYKHa6eDdMQMwhAKAIwAg&iact=mrc&uact=8

Date: 2018-06-06 03:48 pm (UTC)
crower: (Crower)
From: [personal profile] crower
Как вариант может считать расход за последние 100 км. Это, imho, практичнее чем расход за всё время.
Для этого достаточно хранить расход за каждый из последних 100 км. Дальше кольцевой буфер и каждый километр из среднего вычитаем самое старое значение, добавляем новое и сохраняем в буфер на место старого. В результате контроллер получается даже проще — не нужно уметь умножать и делить, а только складывать и вычитать кубики (см³).

Date: 2018-06-06 04:38 pm (UTC)
From: [identity profile] wormball.livejournal.com
Очень не люблю выражение "тебе не понять", но похоже, это единственно верный ответ в данном случае. Автор, тебе не понять. Просто смирись с этим.

Date: 2018-06-06 04:46 pm (UTC)
From: [identity profile] red-alert22.livejournal.com
господи, спасибо тебе за математику!!!
средний рх=расход/пробег.
2 цифры, карл!

Date: 2018-06-06 04:49 pm (UTC)
From: [identity profile] wormball.livejournal.com
Для более полного погружения в суть настоящего произведения настоятельно рекомендую прочитать сей пост того же автора: https://siron-nsk.livejournal.com/27788.html

Ключевая цитата:

> Объяснить-то можно всё, только не всем.

(no subject)

From: [identity profile] wormball.livejournal.com - Date: 2018-06-07 10:26 am (UTC) - Expand

Date: 2018-06-06 09:22 pm (UTC)
From: [identity profile] glagolev.livejournal.com
комп считает\учитывает
1. общий расход топлива
2. общий пробег

Date: 2018-06-07 06:17 am (UTC)
From: [identity profile] melbu.livejournal.com
Вот уж никогда не думал, что зная текущий пробег и расход за любой промежуток времени нужен специально обученный математик для вычисления среднего расхода. Раньше с этим справлялись в начальной школе.

Date: 2018-06-07 07:38 am (UTC)
From: [identity profile] mister1st.livejournal.com
Тссс, спугнете. Инженегры поколения ЕГЭ. Они еще дадут прикурить ...

Date: 2018-06-07 09:11 am (UTC)
From: [identity profile] yshikalenko.livejournal.com
У меня тоже есть похожий счетчик. Но я программист и, думаю, алгоритм простой. Выводимое значение равно частному от деления "общего количества истраченного бензина" на "пробег в сотнях километров." И делитель и делимое при сбросе обнуляются. Ведь при таком решении ряды не нужны?
Edited Date: 2018-06-07 09:18 am (UTC)
Page 1 of 2 << [1] [2] >>

Profile

engineering_ru: (Default)
Инженерия

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122232425 2627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 27th, 2026 10:01 pm
Powered by Dreamwidth Studios