kk042fjv писал(а):Добрый день!
Только там когда частота 1Гц расход 3 л/мин, когда 0,1 Гц расход 20 л/мин. т.е. при увеличении частоты расход уменьшается. Как это в программе сделать? .
Тут работает простая математика.
Линейная зависимость: y=a*x+b;
Квадратичная зависимость: y=a*x*x + b*x*x + c.
И так далее.
Например, считаем зависимость расхода от частоты линейной, т.е. описываемой по формуле
Расход = a * Частота + b.
Подставляем ваши данные, получаем и решаем систему уравнений:
Код: Выделить всё
| 3=a*1+b; | b=3-a; | | b=21.889
| 20=a*0.1+b; | 20=a*0.1+3-a; | 17=-0.9a; | a=-18.889
То есть, зависимость расхода от частоты:
Расход = 21.889 - 18,889 * Частота.
Так в программе и считайте.
P.S. Если подставить частоту 2Гц - получаем, мягко говоря, ерунду. Но это нормально, если считать зависимость расхода линейной. Реально там зависимость явно другая, но по двум точкам я другую построить не могу.
В любом случае, должна в итоге быть некая функция Расход = func(Частота).
P.P.S. Честно говоря, это у вас странные входные данные. При расходе 20 л/мин приходит лишь один импульс за 10 секунд. При расходе 3л/мин - аж каждую секунду. Странный датчик. Мне как-то кажется логичным, что чем больше расход, тем чаще должны идти импульсы.
Если это вы напутали, и на самом деле имелось в виду, что при расходе 3 л/мин частота 1Гц, а при 20л/мин 10Гц, то формула становится
более логичной, и получается
Расход = 1.889 + 1,111 * Частота.