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

interpolieren mit Start und Endwert 0

 

equi
Forum-Century

Forum-Century


Beiträge: 123
Anmeldedatum: 07.03.17
Wohnort: Tübingen
Version: Matlab 2018a
     Beitrag Verfasst am: 22.10.2018, 17:23     Titel: interpolieren mit Start und Endwert 0
  Antworten mit Zitat      
Hallo zusammen,

ich habe aus Messungen Werte ermittellt mit unterschiedlichen Frequenzen. Der Grund liegt darin, das mir eine Abtastrate von 1000 Hz bei Strom/Spannung/Zeit ausreichend sind jedoch nicht bei der Hallspannung. Aus dieser Hallspannung habe ich mir Inkremente berechnet (Flanken gezählt)
Da mein Start und Endwert 0 ist kann ich es nicht intperolieren mit interp1


Code:
Hall=Inkremente{k};
Hallinkremente(:,k) = interp1(Hall, Hall, linspace(Hall(1),Hall(end),length(Zeit{1})));

(Error using griddedInterpolant
The grid vectors must contain unique points.

Error in interp1 (line 151)
        F = griddedInterpolant(X,V,method);)


Hat jemand eine Idee wie ich die Vektoren trotzdem auf die selbe länge bekomme?
_________________

Grüße Equi Smile
Private Nachricht senden Benutzer-Profile anzeigen


J0nas
Forum-Century

Forum-Century


Beiträge: 208
Anmeldedatum: 10.09.15
Wohnort: ---
Version: ab 2016a
     Beitrag Verfasst am: 23.10.2018, 11:53     Titel:
  Antworten mit Zitat      
Hi Equi,

Zitat:
Da mein Start und Endwert 0 ist kann ich es nicht intperolieren mit interp1

Doch, klar kannst du hier mit interp1 interpolieren. Aber wie die Fehlermeldung
Zitat:
The grid vectors must contain unique points.

schon sagt, brauchst du einen grid vector mit eindeutiger Zuweisung (zum Beispiel - je nach Messreihe - Zeitpunkte, zurückgelegte Strecken, ...)

Falls du keine zugehörigen Zeitpunkte hast, würde ich einen grid vector
Code:

und einen Ziel grid vector
Code:
[0:1/(n_zwischen+1):length(Hall)] % n_zwischen entspricht Anzahl der gewünschten Punkte zwischen den gemessenen Werten

erstellen und mit Hilfe dieser das ganze interpolieren. Die beiden musst du natürlich auf deine Gegebenheiten anpassen (mit Hilfe der unterschiedlichen Aufnahmefrequenzen).

Also in etwa so:
Code:

Hall = Inkremente{k};
x_werte = [0:1:length(Hall)];
n_zwischen = 1;
Hallinkremente(:,k) = interp1(x_werte, Hall, [0:1/(n_zwischen+1):length(Hall)]);
 


Grüße
Jonas
_________________

1.) Ask Google & Matlab Documentation
2.) Ask gomatlab.de & Technical Support of MathWorks
3.) Go mad, your problem is unsolvable
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.