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

spline Interpolation

 

bandchef
Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 13.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2011, 16:17     Titel: spline Interpolation
  Antworten mit Zitat      
Hi Leute!

Ich hab hier einen eigens entwickelten Code und hab jetzt dennoch eine Frage dazu, weil ich einige Teile nicht richtig verstanden habe und nur durch ausprobieren drauf gekommen bin:

Code:
Teilkurvenbeginn = find(Z>1);  %Im Vektor "Teilkurvenbeginn" stehen die x-Werte bei denen die jeweils nächsten
%Teilkurven beginnen
Teilkurvenbeginn(end+1) = size(Z,2)+1 %size() gibt die Anzahl der Spalten bzw. Zeilen des
%Vektors zurück, (also die x-Werte), die pro Teilkurve gesetzt wurden
M = size(Teilkurvenbeginn,2);  %In M steht die Anzahl der Teilkurven; aber Vorsicht: Es
%steht ein Punkt mehr drin, da ja die letzte Teilkurve "geschlossen" werden
%muss. M wird für for-Schleifen-Ende benötigt!

for m=1:M-1     %for-Schleife geht nur bis zum vorletzten Punkt
    xWerteTeilkurve = X(Teilkurvenbeginn(m) : Teilkurvenbeginn(m+1)-1); %Die x-Werte der
    %Teilkurven sind quasi eine "Submenge" aller x-Werte; Diese x-Werte werden durch
    t = size(xWerteTeilkurve, 2); %der t-Wert ist für den xx- bzw. yy-Spline jeweils der Gleiche
    xx = spline(1:t, xWerteTeilkurve, 1:0.1:t); %Spline-Interpolation
    %spline(t-Wert, x-Wert, feineres "Sampling");
   
    yWerteTeilkurve = Y(Teilkurvenbeginn(m) : Teilkurvenbeginn(m+1)-1);
    yy = spline(1:t, yWerteTeilkurve, 1:0.1:t);
   
    plot(xx,-yy)
    axis equal;
    hold on;
end
 


VORSICHT: Was ihr wissen müsst, ist, dass mir X,Y,Z-Vektoren gegeben sind in denen x- und y-Werte der Punkte für die Interpolation drin stehen!



Nun zu den Fragen:

-> So wie ich die spline-Interpolatin verstanden habe, werden getrennt voneinander die x-Werte und die y-Werte interpoliert, stimmt das? So würden ja die vorherigen x-Werte auf die y-Achse wandern und die vorherigen y-Werte ebenfalls wieder auf die y-Achse wandern!

-> Warum muss man das machen?
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.