Füllung I haben tide Beobachtungen jeweils 5 min, möchte ich sie in einem 1 min-Intervall zu interpolieren.Spline-Interpolation in interp1 ohne nan Werte in
Ich habe versucht, es in Python zu tun, aber es dauert zu viel Zeit, also bin ich zu MATLAB umgezogen. Das Problem besteht darin, dass die Spline-Methode NaN-Werte ausfüllt.
Das Bild unten erläutert das Problem, ich möchte eine Spline-Interpolation haben, ohne die NaN gefüllt Werte sind. Wie kann ich meine interp1
Funktion dazu veranlassen?
file='NANTES_5min_nan.txt'
[date, hauteur] = lecture_hfs(file);
vect=[date(1):1/24/60:date(end)];
h_interp=interp1(date,hauteur,vect,'spline');
h_interp_lin=interp1(date,hauteur,vect,'linear');
die zweite Zahl ist von Python Interpolation. Die Ergebnisse sind gut, aber leider nur für 1 Monat Daten. wenn ich es für die ganzen Daten anwenden möge (17 Jahre) die Ausführung endet nie here is the link for python figure
danke @Leander, es funktioniert gut. Ich habe gedacht, diese beiden Zeilen nach der Interpolation hinzuzufügen: 'idx = find (isnan (h_interp_lin)); h_interp (idx) = nan; 'um gefüllte NaN-Werte durch Interpolation zu entfernen, aber ich bevorzuge Ihre Methode. –
Das würde natürlich auch funktionieren. Du könntest das 'find()' tough überspringen, es wäre nicht nötig. –
Ja, es stimmt, ich bin es nicht gewohnt mit MATLAB zu programmieren. Aber es ist eine großartige Gelegenheit, damit anzufangen. Einen schönen Tag noch –