Home > Mobile >  How to calculate RMS in flutter?
How to calculate RMS in flutter?

Time:01-13

Is there any technique or package that calculates Root Mean Square(RMS) in Flutter?

I searched many blogs and packages but didn't find useful resource related to RMS implementation in Dart

CodePudding user response:

Without package:

Use the built-in dart:math package to manually calculate the RMS of a signal:

import 'dart:math';

void main() {
    List<double> signal = [1.0, 2.0, 3.0, 4.0];
    double rms = sqrt(signal.map((x) => pow(x, 2)).reduce((a, b) => a   b) / signal.length);
    print(rms);  // prints 2.581988897471611
}

With package:

Use the dart_numerics package, which provides a variety of mathematical functions, including RMS:

import 'package:dart_numerics/dart_numerics.dart';

void main() {
  List<double> numbers = [1.0, 2.0, 3.0, 4.0];
  double rms = numerics.rms(numbers);
  print(rms);  // prints 2.581988897471611
}

Let me know if you have any other questions. Good luck!

CodePudding user response:

This is the steps of Root Mean Square according to the link in the below:

Step 1: Get the squares of all the values

Step 2: Calculate the average of the obtained squares

Step 3: Finally, take the square root of the average

and this is the Dart implementation :

import 'dart:math';

void main() {
  List<int> values = [1,3,5,7,9];
  num result = 0;
  num rootMeanSquare = 0;
  
  for( var i = 0 ; i < values.length; i   ) { 
      result = result   (values[i] * values[i]);
   }
  rootMeanSquare = sqrt(result / values.length);
  print(rootMeanSquare);

}

https://byjus.com/maths/root-mean-square/#:~:text=Root Mean Square Formula&text=For a group of n,x n 2 N

  • Related