2016-05-22 13 views
0

In Maple habe ich zwei ListenZeichnen von Linien zwischen den Punkten in Maple

n:=10: 
A:=[seq(i, i=1..n)]; 
B:=[10, 25, 43, 63, 83, 92, 99, 101, 101, 96]; 

ich die Werte

plot([seq([A[i], B[i]], i=1..n)]); 

Es funktioniert, aber die Linien zwischen den Punkten zeichnen wollen, sind nicht gekrümmt.

Wenn ich eine Linie mit diesen Punkten in Excel zeichne, interpoliert es die Werte zwischen den Punkten und zeichnet eine schöne und glatte Kurve.

Dies muss auch in Maple möglich sein, aber ich kann die Optionen dazu nicht finden. Wenn ich in Optionen in der Dokumentation http://www.maplesoft.com/support/help/maple/view.aspx?path=plot%2foptions nachschaue, sehe ich, dass ich wahrscheinlich das Argument style verwenden muss. Das Dokument sagt The styles line, polygon, and polygonoutline all draw curves by interpolating between the sample points, aber es zeichnet die Kurven nicht, selbst wenn ich style=line verwende.

Antwort

1

Es gibt einen Weg, es zu tun (unten), aber es ist keine Option zu Plot. Der Befehl plot verwendet lineare Interpolation. Normalerweise ist die Anzahl der Punkte groß genug, dass dies ausreicht. Um eine Interpolation höherer Ordnung zu erhalten, verwenden CurveFitting: -Spline, wie folgt aus:

plot([CurveFitting:-Spline(A,B,x), zip(`[]`,A,B)], x= 1..10, style= [line, point]); 

Hinweis, dass es getrennte Abschnitte des obigen Befehl für die Kurve Plotten und Plotten der Punkte selbst.