12-13-2017, 01:42 PM
Introduction
The program QUADSUM calculates the area under the curve described by the set of points (x_n, y_n). The points are connected, in groups of three, by quadratic splines. Thus, points (x1, y1), (x2, y2), and (x3, y3) are connected by a quadratic spline, (x3, y3), (x4, y4), (x5, y5) are connected by another quadratic spline, and so on.
The number of points for QUADSUM must be odd.
HP Prime Program QUADSUM
Example
Find the area under the curve with these points connected by quadratic splines:
(0,2), (1,1), (2,2), (3,6), (4,4)
Note that the point (2,2) ends the first spline and starts the second.
QUADSUM({0,1,2,3,4}, {2,1,2,6,4}) returns 12.6666666667
FYI: The polynomial described would be the piecewise equation:
y = { x^2 -2x + 2 for 0 < x ≤ 2, -3x^2 + 19x – 24 for 2 < x ≤ 4
The program QUADSUM calculates the area under the curve described by the set of points (x_n, y_n). The points are connected, in groups of three, by quadratic splines. Thus, points (x1, y1), (x2, y2), and (x3, y3) are connected by a quadratic spline, (x3, y3), (x4, y4), (x5, y5) are connected by another quadratic spline, and so on.
The number of points for QUADSUM must be odd.
HP Prime Program QUADSUM
Code:
EXPORT QUADSUM(LX,LY)
BEGIN
// EWS 2017-12-10
// Area by connecting
// points using quadratic
// curves
// number of points must be odd
LOCAL A,S,T; // A=0
S:=SIZE(LX);
IF FP(S/2)==0 THEN
RETURN "Invalid: Number of
points must be odd";
KILL;
END;
LOCAL T,M,MA,MB,MC;
FOR T FROM 1 TO S-2 STEP 2 DO
M:=CAS.LSQ([[1,LX(T),LX(T)^2],
[1,LX(T+1),LX(T+1)^2],
[1,LX(T+2),LX(T+2)^2]],
[[LY(T)],[LY(T+1)],[LY(T+2)]]);
MA:=M(3,1);
MB:=M(2,1);
MC:=M(1,1);
A:=A+
(MA*LX(T+2)^3/3+MB*LX(T+2)^2/2+
MC*LX(T+2))-
(MA*LX(T)^3/3+MB*LX(T)^2/2+
MC*LX(T));
END;
RETURN A;
END;
Example
Find the area under the curve with these points connected by quadratic splines:
(0,2), (1,1), (2,2), (3,6), (4,4)
Note that the point (2,2) ends the first spline and starts the second.
QUADSUM({0,1,2,3,4}, {2,1,2,6,4}) returns 12.6666666667
FYI: The polynomial described would be the piecewise equation:
y = { x^2 -2x + 2 for 0 < x ≤ 2, -3x^2 + 19x – 24 for 2 < x ≤ 4