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

interp1 und spline

 

madlab
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 86
Anmeldedatum: 15.05.12
Wohnort: Freiburg
Version: 7.11 (R2010b)
     Beitrag Verfasst am: 08.08.2012, 15:51     Titel: interp1 und spline
  Antworten mit Zitat      
Hallo zusammen,

ich habe mir in letzter zeit die möglichkeiten von matlab bezüglich interpolationsverfahren angeschaut.
ich möchte eine 1D-Kurve interpolieren.
Dabei stoße ich auf die funktionen 'spline' und 'interp1'.
Ich habe beide schonmal verwendet und wollte euch fragen, ob es ein für oder wider gibt, welches der beiden man verwendet?

Code:

yi = interp1(x,Y,xi,'spline')
yi = spline(x,Y,xi)
 


Momentan derwende ich interp1, weil man damit flexibel auch kurz eine andere interpolationsart ausprobieren kann.
Ich sehe in den Ergebnissen zwischen den beiden oben aber keine Unterschiede. Wisst ihr wieso es zwei versionen für die Spline-Interpolatin gibt oder übersehe ich einen Unterschied? Kommt das evtl einfach aus der Matlab-Historie?

grüße,

mad
Private Nachricht senden Benutzer-Profile anzeigen


dany2k3k
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 66
Anmeldedatum: 02.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.08.2012, 17:31     Titel:
  Antworten mit Zitat      
der riesen unterschied ist einfach der,dass bei interp1 dazwischen einfach linear verbunden wird.. bei splines hast du kurven Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 08.08.2012, 18:44     Titel:
  Antworten mit Zitat      
Hallo zusammen,

Zitat aus de Hilfe: "For the 'spline' method, interp1 calls a function spline that uses the functions ppval, mkpp, and unmkpp. These routines form a small suite of functions for working with piecewise polynomials. spline uses them to perform the cubic spline interpolation. "

interp1 erstellt keineswegs nur lineare Interpolation. Das wird durch Wahl der Methode definiert. Wendet man direkt spline an, kann hier noch den Typ wählen. Natürliche Splines sind wohl default. Man kann jedoch beliebige Bedingungen an den Rand stellen.

Grüße, Marc
Private Nachricht senden Benutzer-Profile anzeigen
 
eey
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 86
Anmeldedatum: 31.03.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.08.2012, 18:46     Titel:
  Antworten mit Zitat      
dany2k3k hat Folgendes geschrieben:
der riesen unterschied ist einfach der,dass bei interp1 dazwischen einfach linear verbunden wird.. bei splines hast du kurven Smile


Ähm, nein.

"Interp1" interpoliert genauso mit kubischen Splines wie "Spline".


@madlab:

Lass das mal laufen:

Code:

function [  ] = test_Splines(  )
   
    x = [0 1 2 3 4 5 6 7 8 9];
    y = [8 5 12 27 2 13 19 1 30 15];
   
    xi = 0:0.5:9;

    yi = zeros(1000,1);
   
    tic;
    for i=1:10000
       yi = spline(x,y,xi);
    end
    toc
   
    tic;
    for i=1:10000
       yi = interp1(x,y,xi,'spline');
    end
    toc
end
 


Da sieht man recht gut den (einzigen) Unterschied: Spline ist schneller, aber eben auch nicht so flexibel wie interp1.

Mfg,
eey
Private Nachricht senden Benutzer-Profile anzeigen
 
dany2k3k
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 66
Anmeldedatum: 02.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.08.2012, 21:16     Titel:
  Antworten mit Zitat      
war natürlich blödsinn von mir Smile

dachte,dass interp1 die "linear" option als default heranzieht..
nehm meinen blödsinn natürlich zurück Smile

danke für die info

lg
Private Nachricht senden Benutzer-Profile anzeigen
 
madlab
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 86
Anmeldedatum: 15.05.12
Wohnort: Freiburg
Version: 7.11 (R2010b)
     Beitrag Verfasst am: 09.08.2012, 09:37     Titel:
  Antworten mit Zitat      
ok, danke euch für die antworten Smile
ich bleibe lieber bei der felxibleren variante und nehme die "lahme" funktion in kauf Razz
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 - 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.