Ich bin selbst der Depp, denn es geht mit einer einmaligen Auswertung
von Random[]
With[{l0 = Union[{0.}, {Pi/2}, Table[Random[Real, {0, Pi/2}], {15}]], o
= 0},
Plot[Interpolation[{#, Cos[#]}& /@ l0, InterpolationOrder -> o][x], {x,
0, Pi/2}, PlotRange -> All]
]
mit o = 0,1, ... völlig korrekt auch unter Interpolation[]. Das Problem
mit dem ersten Zitter-Problemreport war, dass Mma. beim Zeichnen
offenbar das Random[] ständig neu aufruft und somit pro Stützstelle
andere Werte zum Zeichnen sieht. Bei den höheren InterpolationOrder wird
diese Reevaluation von Random[] anscheinend ausgeglichen - interessant.
Gruss
Udo.
Udo und Susanne Krause wrote:
Diese beiden machen es richtig:
In[6]:=
With[{l0 = Union[{0.}, {Pi/2}, Table[Random[Real, {0, Pi/2}], {15}]]},
Plot[ListInterpolation[Cos[#]& /@ l0, {l0}, InterpolationOrder ->
1][x], {x, 0, Pi/2}]
]
In[7]:=
With[{l0 = Union[{0.}, {Pi/2}, Table[Random[Real, {0, Pi/2}], {15}]]},
Plot[ListInterpolation[Cos[#]& /@ l0, {l0}, InterpolationOrder ->
0][x], {x, 0, Pi/2}]
]
Interpolation[] kann mglw. der Versuchung nicht widerstehen,
Ableitungen gebrauchen zu wollen, nichtsdestotrotz ihm keine
Ableitungen mitgeteilt worden sind.
Gruss
Udo.
Udo und Susanne Krause wrote:
Liebe Freundinnen und Freunde von Mma 5.2,
man tippt
Plot[Interpolation[{#, Cos[#]}& /@ Union[{0.}, {Pi/2},
Table[Random[Real, {0, Pi/2}], {15}]], InterpolationOrder -> 1][x],
{x, 0, Pi/2}, PlotRange -> All]
und erhält das verzitterte Bild im Anhang. Gezeigt werden sollte eine
lineare Approximation des Cos[]. Bei InterpolationOrder -> 2 [oder 3
oder 5 ...] bringt er es perfekt hin. Der einfachste Fall ist mal
wieder der schwierigste. Bei InterpolationOrder -> 0 gibt es übrigens
ein Hammerbild statt eines Säulendiagramms oder der Fehlermeldung
"Option out of range".
Gruss
Udo.