|
quady |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 14.12.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.12.2008, 20:28
Titel: aryule bzw. levinson
|
|
|
|
|
Heyho,
ich hoffe ich bin hier richtig. Ich bin gerade dabei eine C++ Applikation zu basteln und benutze MATLAB als Vergleich, um zu prüfen ob alles korrekt rechnet in meinem Prog.
Ich hantiere mit AR(p)-Modellen herum und MATLAB liefert andere Werte, als ich habe, bei den oben genannten Funktionen. Es geht dabei um die Varianz der Funktion levinson, welche mir jetzt seit einigen Wochen den Kopf zerbricht.
Ich habe inzwischen 3 verschiedene Implementationen der Levinson-Durbin-Rekursion in C++ durchgetestet und alle liefern die selben Ergebnisse, nur MATLAB nicht. Wobei aber lediglich die Varianz (Prediction-Fehler) sich unterscheidet. Die Koeffizienten stimmen auf die xte Kommastelle genau überein. Da der berechnete Fehler innerhalb der Rekursion mit in die Berechnung der Koeffizienten mit einfließt, kann ein algorithmischer Fehler eigentlich nicht zutreffen.
Kennt sich jemand in der Materie aus und kann mir sagen, wie Matlab die Varianz in der levinson-Funktion genau berechnet?
MfG
quady
|
|
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 15.12.2008, 08:36
Titel:
|
|
Hallo quady, ich nehme an es geht um das LEVINSON Kommando aus der Signal Processing Toolbox? Wie für die meisten Befehle gibt es einen Literaturverweis mittels
% Reference(s):
% [1] Lennart Ljung, "System Identification: Theory for the User",
% pp. 278-280
Bleibt natürlich die Frage warum jemand händisch MATLAB Code nachprogrammieren möchte...
Andreas
|
|
|
quady |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 14.12.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.12.2008, 19:05
Titel:
|
|
Danke sehr für die Antwort. Deine Annahme ist richtig, es geht um die SP-Toolbox.
Ich habe es inzwischen selber hinbekommen. Die C++ Implementierungen haben nicht über die Länge der Zeitreihe normiert. Jetzt passt alles.
Ich hatte erst versucht die Funktion levinson über den MATLAB-Compiler in eine C++ Library zu überführen. Das hat leider nich ganz geklappt, da beim kompilieren nur Fehler ausgespuckt wurden von Matlab.
Lediglich das überführen in eine C Lib hatte funktioniert. Leider haben sich dann der g++ und die Lib in die Haare bekommem, mit dem Ergebnis dass ich mein Programm nicht mehr kompilieren konnte. Darum war und bin ich darauf angewiesen alles was es in Matlab gibt separat zu suchen oder halt selbst Hand an zulegen.
Grüße
Quady
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|