|
|
Treppensignal interpolieren |
|
baddy010 |

Forum-Anfänger
|
 |
Beiträge: 21
|
 |
|
 |
Anmeldedatum: 16.06.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 31.08.2016, 14:27
Titel: Treppensignal interpolieren
|
 |
|
 |
|
Hallo,
ich habe einen Winkel in Form eines Treppensignal und würde gerne so interpolieren, dass daraus eine Gerade wird. Habe dabei an die interp1-Funktion gedacht. Hier der Code dazu:
%Daten in lokalen Variablen speichern
t = Channel_1_Data;
N = Channel_2_Data;
P = Channel_3_Data;
z = length(t);
winkelplus=zeros(z,1);
%Zeitpunkte der Winkelerhöhungen ermitteln
for i=2:1:z
if P(i-1) > 20
winkelplus(i)=0;
elseif P(i) > 20
winkelplus(i)=11.25;
end
end
%Berechnung des Winkels in Treppenform
winkel=zeros(z,1);
for i=2:1:z
winkel(i)=winkel(i-1)+winkelplus(i);
end
%Versuch der Interpolation zur Gerade
winkelint=interp1(t,winkel,1:1:z,'linear');
Problem dabei ist, dass die x-Achse beim interpolierten Winkelwert nicht mehr von 0 - 60 geht, sondern nur noch bis ca. 0.014. Der Winkelwert ist jedoch geglättet und vom Betrag am Ende gleich.
Warum ändert sich also die x-Achse, wenn ich die interp1-Funktion doch mit der Zeitachse t befülle.
Vielen Dank für eure Hilfe!
LG
baddy010
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 31.08.2016, 14:44
Titel:
|
 |
Hallo,
Stehen in t denn Werte im Intervall [1 z]? Falls nicht, ist das dritte Argumente bei interp1 nicht sinnvoll gewählt.
Zudem interpoliert interp1 nur zwischen den Punkten. Wenn die Punkte davor keine Gerade geformt haben, werden sie es auch danach nicht tun. Falls du eine Gerade an die Punkte fitten möchtest, hilft
polyfit
.
Grüße,
Harald
|
|
|
baddy010 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 21
|
 |
|
 |
Anmeldedatum: 16.06.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 31.08.2016, 15:40
Titel:
|
 |
Hallo Harald,
habe das dritte Argument angepasst, aber es verändert sich nichts. Heißt, dass mir die interp1-Funtkion in diesem Fall gar nichts bringt?!
Wie benutze ich die polyfit-Funktion denn richtig?
winkelint2=polyfit(t,winkel,1);
Dabei wird mir nur ein zweispaltiger Vektor zurück gegeben, ich würde die Gerade aber gerne über die komplette Länge des Vektors t (289683 Elemente) ziehen.
Ich hoffe du verstehst, was ich meine.
LG
baddy010
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 31.08.2016, 15:47
Titel:
|
 |
Hallo,
bitte zu nicht näher bekannten Befehlen immer auch die Dokumentation lesen.
polyfit gibt die Koeffizienten des Polynoms zurück (in dem Fall Steigung und y-Abschnitt). Zur Darstellung muss man diese Koeffizienten dann an
polyval
übergeben - so, wie es auch in allen Beispielen in der Doku von
polyfit
ersichtlich ist.
Grüße,
Harald
|
|
|
baddy010 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 21
|
 |
|
 |
Anmeldedatum: 16.06.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 31.08.2016, 15:48
Titel:
|
 |
Hallo Harald,
sorry für die dumme Frage.. habe es gerade auch gesehen. Danke! Das ist das, was ich haben wollte.
LG
baddy010
|
|
|
|
|
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 - 2025
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.
|
|