WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Datensätze interpolieren

 

PelleLovesPeace
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 30.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.04.2017, 15:54     Titel: Datensätze interpolieren
  Antworten mit Zitat      
Hallo!

ich habe 2 verschiedene Datensätze (Smi und Vicon), die mit unterschiedlichen Frequenzen aufgenommen wurden und würde sie gerne für die weitere Analyse interpolieren. Die Daten liegen jeweils über 2,9 sec vor:
Vicon: bei 200 Hz -> 580 Zeitpunkte
Smi: bei 60 Hz -> 174 Zeitpunkte

Ich habe sowohl mit interp1() versucht, die Vicondaten zu "kürzen" als auch die Smi Daten zu "verlängern", jedoch sieht es beim plotten der Daten im Vergleich mit vorher so aus, als hätte ich da irgend etwas zerschossen.

Ich finde leider den Fehler nichtz, bzw. bin extrem unsicher, ob das so stimmen kann. Ich würde mich sehr freuen, wenn mal jemand drüber schauen könnte!

Vielen Dank

Code:
%% Interpolation
to = 580; % Wertelänge auf die interpoliert wird
l = 1:1:to;

SmiInterp = interp1(1:length(SmiCut), SmiCut, l-1,'linear',1);

figure(2)
subplot(1,2,1)
plot3(Smi(:,7),Smi(:,8),Smi(:,9))
title('3D Blickvektoren BeGaze Rohdaten')
subplot(1,2,2)
plot3(SmiInterp(:,7),SmiInterp(:,8),SmiInterp(:,9))
title('3D Blickvektoren BeGaze Interpoliert')


Interpolation.fig
 Beschreibung:

Download
 Dateiname:  Interpolation.fig
 Dateigröße:  28.5 KB
 Heruntergeladen:  305 mal
Private Nachricht senden Benutzer-Profile anzeigen


Friidayy
Forum-Century

Forum-Century


Beiträge: 225
Anmeldedatum: 17.12.13
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 12.04.2017, 16:19     Titel:
  Antworten mit Zitat      
Hier ein Beispiel;

Code:
clear all; close all; clc;

% 1. datensatz, länge 580
t1=linspace(0,2.9,580);
y1=rand(size(t1));
% 2. datensatz, länge 174
t2=linspace(0,2.9,174);
y2=rand(size(t2));
% bringe 1. datensatz auf die länge 174
y1=interp1(t1,y1,t2);

figure(1);
plot(t2,y1); hold on; plot(t2,y2);


Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
PelleLovesPeace
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 30.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.04.2017, 16:31     Titel:
  Antworten mit Zitat      
Haha! Super! Das hat jetzt funktioniert. Schön, wenns so einfach ist. Vielen Dank!!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.