So implementieren Sie den Kalman-Filter mit Java

Kalman Filter, der alles filtern kann und einfach implementiert werden kann! Da es in Java kein Implementierungsbeispiel gab, werde ich es als Memo schreiben.

    public static void main(String[] args){
        ArrayList<Double> result = new ArrayList<Double>();
        double now = 0;
        double xPre = 0;
        double pPre = 0;
        double  sigmaW = 0;
        double sigmaV = 0;
        //Argumentspezifikation 1 sigmaW, 2 sigmaV
        sigmaW = Integer.parseInt("5");
        sigmaV = Integer.parseInt("50");
        Scanner sc  = new Scanner(System.in);
        while(true){

            now = sc.nextDouble();
            if(now == -1){
                break;
            }
            double xForecast = xPre;
            double pForecast = pPre + sigmaW;
            double KGain = pForecast/(pForecast + sigmaV);
            double  xFiltered = (xForecast + KGain*(now - xForecast));
            double pFiletered = (1-KGain) * pForecast;
            result.add(xFiltered);
            System.out.println(xFiltered);
            xPre = xFiltered;
            pPre = pFiletered;
        }
        System.out.println("-------------------------------");
        for(Double out : result){
            System.out.println(out);

        }

    }

Der Filterungsgrad hängt von der Kombination von SigmaW und SigmaV ab.

Indem Sie dies verwenden und es zu einer API machen, können Sie verschiedene numerische Werte filtern.

Obwohl es hier als Liste ausgegeben wird, ist es auch möglich, den Wert in Echtzeit auszugeben.

Recommended Posts

So implementieren Sie den Kalman-Filter mit Java
So implementieren Sie die Datumsberechnung in Java
So erzwingen Sie Codierungskonventionen in Java
[Java] So implementieren Sie Multithreading
Zusammenfassung der Implementierung von Standardargumenten in Java
Wie man JAVA in 7 Tagen lernt
Wie verwende ich Klassen in Java?
So benennen Sie Variablen in Java
Versuchen Sie, Yuma in Java zu implementieren
So verketten Sie Zeichenfolgen mit Java
So implementieren Sie Suchfunktionen in Rails
Mehrsprachige Unterstützung für Java Verwendung des Gebietsschemas
Versuchen Sie, n-ary Addition in Java zu implementieren
So filtern Sie den JUnit-Test in Gradle
So führen Sie eine Basiskonvertierung in Java durch
Einbetten von Janus Graph in Java
So erhalten Sie das Datum mit Java
So implementieren Sie Ranking-Funktionen in Rails
So implementieren Sie die asynchrone Verarbeitung in Outsystems
So implementieren Sie einen Job, der die Java-API in JobScheduler verwendet
So zeigen Sie eine Webseite in Java an
So erhalten Sie eine Klasse von Element in Java
So verbergen Sie Nullfelder als Antwort in Java
So implementieren Sie eine ähnliche Funktion in Rails
So implementieren Sie optimistisches Sperren in der REST-API
So lösen Sie Ausdrucksprobleme in Java
Wie schreibe ich Java String # getBytes in Kotlin?
So implementieren Sie Paginierung in GraphQL (für Ruby)
So implementieren Sie UICollectionView mit Code nur in Swift
Aufrufen von Funktionen in großen Mengen mit Java Reflection
So erstellen Sie eine Java-Umgebung in nur 3 Sekunden
[Java] So lassen Sie den privaten Konstruktor in Lombok weg
So implementieren Sie die Gastanmeldung in 5 Minuten im Rails-Portfolio
So senken Sie die Java-Version
[Java] Verwendung von Map
So implementieren Sie eine nette Funktion in Ajax mit Rails
So deinstallieren Sie Java 8 (Mac)
Ich habe versucht, die Firebase-Push-Benachrichtigung in Java zu implementieren
Java - So erstellen Sie JTable
Wie kann ich IBM Mainframe-Dateien in Java eingeben / ausgeben?
Verwendung von Java Optional
So minimieren Sie Java-Images
Wie schreibe ich einen Java-Kommentar
Implementierung der zweistufigen Authentifizierung in Java
Verwendung der Java-Klasse
So erstellen Sie einen Daten-URI (base64) in Java
[Java] Verwendung von removeAll ()
[Java] So zeigen Sie Wingdings an
Implementieren Sie die Standardauthentifizierung in Java
Verwendung von Java Map
Implementieren Sie eine Kombination aus Mathematik in Java
So legen Sie Java-Konstanten fest
2 Implementieren Sie eine einfache Syntaxanalyse in Java
Implementieren Sie das Senden von E-Mails in Java
So konvertieren Sie A in a und a in A mit logischem Produkt und Summe in Java