Hallo Moritz,
also laut der matlab hilfe würde es zb so gehen:
x = 0:10;
y = sin(x);
xx = 0:.25:10;
yy = spline(x,y,xx);
plot(x,y,‚o‘,xx,yy)
ich glaube das ich kann das aber nicht direkt so machen, weil ich ja keine y=f(x) funktion habe, sonden die punkte als vektoren x0 und y0 bereits vorgegeben sind, daher kann ich nicht so einfach so ein Intervall der x-Punkte machen, das ich dann verfeinern kann…
Ich habe es auch mal ausprobiert, beide Versionen nochmal:
w=1:n;
ws=1:0.1:n;
g=spline(w,[x0;y0],ws) --> bisher, ich bin mir aber nach wie vor nicht sicher ob das so korrekt ist?? es kommt aber eine kurve durch die punkte raus die wie ein spline aussieht
f=spline(x0,y0,ws) --> dein vorschlag, es kommen negative Punkte raus, x0,y0 liegen aber alle im bereich von 0 bis 1
das war dann der befehl zum zeichnen:
plot(g(1,
,g(2,
,‚b-‘,f,ws,‚g‘)
Und was passiert wenn ich noch mehr Punkte in ws einfüge, dh
ws=1:0.1:n?
Huch, das machst du doch schon.
Je mehr Punkte der Vektor hat, desto mehr Punkte hat auch die
Ausgabefunktion - wenn du den weglässt, bekommst du die
abschnittsweise definierten Polynome zurück.
oh da habe ich mich vertan da wollte ich
ws=1:0.01:n schreiben… ich hab da auch mal ein bisschen rumprobiert, bei ws=1:0.1:n kommt scheinbar die gleiche, runde kurve wie bei ws=1:0.01:n raus, wenn man den intervall kleiner macht, 0.5 oder 0.3 hat man aber noch ecken drin, wird an der auflösung liegen, und da dies kurven bei 0.1 schon rund aussehen (muss nur richtig „aussehen“) würde mir das quasi reichen.