Hallo zusammen!
Ich habe folgendes Problem bei dem ich keinen Anfang finde.
Für meine Zielanwendung habe ich ein (theoretisch) beliebig - praktisch kaum mehr als 30 Spalten langes Array mit 3 Zeilen. Die Zeilen entsprechen den X,Y,Z Koordinaten eines Punktes im Raum.
Ich möchte nun zwischen diesen Punkten verschiedenen Interpolationsarten durchführen:
Linearinterpolation, Polynominterpolation 2.Grades und eine (kubische)
Splineinterpolation.
Die einzelnen Interpolaitonsarten sollen mir an bestimmten Stützstellen (variable Anzahl) die Interpolierten Wertepaare zurückgeben - am besten gleich in das Eingangsarray an der richtigen Stelle einfügen.
Viele Web- und Hilfeseiten beschäftigen sich meist nur mit der Interpolation in der Ebene - habe für mein Problem noch nicht wirklich viel hilfreiches finden können.
Bei der Spline Interpolation habe ich in Matlab eine mehr oder weniger zufriedenstellende Lösung gefunden die ich zur Zeit über ein Matlab Script laufen lasse.
Da ich mich aber auch in Matlab auch nur mehr schlecht als recht auskenne komme ich dort mit der restlichen Interpolation auch net wirklich weiter. Prinzipiell bin ich einer Lösung in Matlab auch nicht abgeneigt.
Hier mal das MatlabScript für die SplineInterpolation:
%Input Variable--------------------
A=[1 10 100;2 20 200; 3 9 27]
%A->Liste der zu interpolierenden Punkte
points = 50
%points->Anzahl der Stützstellen/Zwischenpunkte - zwischen allen Punkten von A
%SplineInterpolation ---------------------
splinecurve=cscvn(A(:,[1:end 1]));
%Funktionswerte in Matrix aufnehmen
% %------------------------------------
d = fnbrk(splinecurve,'dz';
[breaks,coefs,l,k,d] = ppbrk(splinecurve);
npoints =points; %
x = [breaks(2:l) linspace(breaks(1),breaks(l+1),npoints)];
v = ppual(splinecurve,x);
tx = []; temp = zeros(d,0);
x = [breaks(2:l) tx x];
v = [ppual(splinecurve,breaks(2:l),'left' temp v];
[x,inx] = sort(x);
v = v(:,inx);
%Output Variable ---------------------
ANEW=v( : , : )
An dieser Stelle muss ich erwähnen, dass ich nicht genau sagen kann wie ich die werte von der "splinecurve" in das Array ANEW reinbekommen habe - lief anch dem "copy&paste" Prinzip (au weia!).
Wenn irgendwer ne Idee hat wie man das Problem in
LV 7.1 angehen könnte, dann nicht zögern beim posten!
Vielen Dank - bender