Страница 1 из 1

Среднеквадратичное значение

Добавлено: 25.01.2016{, 19:23}
slavas
Уважаемые форумчане подскажите как посчитать среднеквадратичное значение на аналоговом входе.
требуется сделать 50 выборок за секунду и получить среднее значение, понятно, что считается по формуле (А1+А2...+А50)/50. Пробовал использовать массив не получилось.

Среднеквадратичное значение

Добавлено: 25.01.2016{, 20:23}
faramir777
Так пробовал?

Среднеквадратичное значение

Добавлено: 25.01.2016{, 20:51}
support
Вот блок (работает начиная с версии 1.10.3)
Блок для расчета среднего из заданного количества замеров

Среднеквадратичное значение

Добавлено: 25.01.2016{, 21:22}
slavas
Спасибо огромное, ато я с массивами толком не разобрался.

Среднеквадратичное значение

Добавлено: 26.01.2016{, 10:33}
Skull
slavas писал(а):Уважаемые форумчане подскажите как посчитать среднеквадратичное значение на аналоговом входе.требуется сделать 50 выборок за секунду и получить среднее значение, понятно, что считается по формуле (А1+А2...+А50)/50. Пробовал использовать массив не получилось.
Это не среднеквадратичное, это- среднеарифметическое. 
А как средствами ФЛПРОГ посчитать среднеквадратичное исходя из формулы
Изображение  ??

Среднеквадратичное значение

Добавлено: 26.01.2016{, 10:50}
Олег
Так не пойдет?

Среднеквадратичное значение

Добавлено: 26.01.2016{, 11:01}
support
Цитата Skull4383Это не среднеквадратичное, это- среднеарифметическое. А как средствами ФЛПРОГ посчитать среднеквадратичное исходя из формулы
??сейчас поправлю блок.

Среднеквадратичное значение

Добавлено: 26.01.2016{, 11:20}
Skull
Скорее нет, чем да

Среднеквадратичное значение

Добавлено: 26.01.2016{, 11:50}
support
Здесь блок расчёта среднеквадратичного
http://flprog.ru/load....-1-0-42

Среднеквадратичное значение

Добавлено: 26.01.2016{, 20:32}
slavas
support, Здравствуйте, я попытался использовать Ваши блоки, но на выходе integer. Я в блоке изменил input integer на float, но после запятой получил нули.

Среднеквадратичное значение

Добавлено: 27.01.2016{, 05:45}
support
А откуда вы подаёте данные на вход блока ?   Если с аналогового входа - то там интежер.  Я подмал что Вам надо считать среднеквадратичное значение либо тока либо напряжения. Судя по задаче (50 измерений в сеунду)

Среднеквадратичное значение

Добавлено: 27.01.2016{, 05:47}
support
Я в принципе легко могу переделать на флоат, но размер занимаемый блоком в памяти контроллера значительно увеличится, и увеличится время его выполнения,  Вообще работа с числами с плавающей запятой тяжелы для контроллера

Среднеквадратичное значение

Добавлено: 27.01.2016{, 07:15}
Skull
slavas писал(а):но на выходе integer.
Все расчеты нужно стараться по максимуму делать целочисленными. И только в последнем вычислении переходить к плавающей запятой. Если мерите ацп- делайте все в единицах АЦП, а потом переводите в удобоваримые единицы. На самом деле нет разницы, вы выведете среднеквадратичное из вольт или единиц ацп. На бумаге удобнее работать с привычными "значащими" единицами измерений, с контроллерами же стоит уменьшать до минимума количество вычислений либо выбирать действия, затрачивающие как можно меньше тактов.

Среднеквадратичное значение

Добавлено: 27.01.2016{, 17:13}
slavas
supportSkull, спасибо за совет. Мне действительно нужно напряжение и ток расчитать для прибора вычисляющего ёмкость аккумулятора. Следуя Вашему совету среднеквадратичное буду считать из показаний АЦП.

Среднеквадратичное значение

Добавлено: 27.01.2016{, 18:13}
garry
Skull писал(а):Все расчеты нужно стараться по максимуму делать целочисленными. И только в последнем вычислении переходить к плавающей запятой. Если мерите ацп- делайте все в единицах АЦП, а потом переводите в удобоваримые единицы. На самом деле нет разницы, вы выведете среднеквадратичное из вольт или единиц ацп. На бумаге удобнее работать с привычными "значащими" единицами измерений, с контроллерами же стоит уменьшать до минимума количество вычислений либо выбирать действия, затрачивающие как можно меньше тактов.
Золотые слова