DMUG-Archiv 2003

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Spline Interpolation -> SOLVE im unpassenden Format

Hallo zusammen, 

ist sicherlich ein einfaches es entsprechend umzubasteln, aber ich find noch keinen Ansatzpunkt. Hier der Mathematica 
Quellcode:

Remove["Global`*"]
X = {-2, -1, 0, 1};
Y = {y0, y1, y2, y3};
n = Length[X] - 1;
xs[i_] := X[[i + 1]];
ys[i_] := Y[[i + 1]];
s[i_, x_] := a[i]*(x - xs[i])^3 + b[i]*(x - xs[i])^2 + c[i]*(x - xs[i]) + d[i]

g1 = Table[s[i, xs[i]] == ys[i], {i, 0, n - 1}];
g2 = Table[s[i, xs[i + 1]] == ys[i + 1], {i, 0, n - 1}];
g3 = Table[( D[s[i, x], x] == D[s[i + 1, x], x]) /. x -> xs[
            i + 1], {i, 0, n - 2}];
g4 = Table[( D[s[i, x], {
          x, 2}] == D[s[i + 1, x], {x, 2}]) /. x -> xs[i + 1], {i, 0, n - 2}];
g5 = {(D[s[0, x], {x, 2}] /. x -> xs[0]) == 0, (D[s[n - 1,
             x], {x, 2}] /. x -> xs[n]) == 0};

Table[{a[i], b[i], c[i], d[i]}, {i, 0, n - 1}] // Flatten;
L = Solve[{g1, g2, g3, g4, g5} // Flatten]
sp[x_] := Table[s[i, x] /. L[[1]], {i, 0, n - 1}]
sp[x]

Im Output erkennt man, daß SOLVE y0 etc. durch d[] ersetzt, daß sollte eher umgekehrt sein, doch weiß ich nicht, wie 
man den Zuweisung Operator -> umkehrt ? 

Gruß Winn

______________________________________________________________________________
Immer die neuesten ASCII-Bilder versenden, mit WEB.DE FreeMail ist das
kein Problem fur Sie. http://freemail.web.de/features/?mc=021170


Antworten:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html