polyEval({a,b,c,d,e},k*(x-x2))
Do not expand the splice polynomial with the relationship shown in [17]! While this may seem to
simplify the polynomial, it undoes the benefit of scaling, and the resulting polynomial is again unstable.
Ultimately we use a single function for f(x), which is implemented as a nested when() function:
when(x<x
1
,f
1
(x),when(x<x3,s(x),f2(x)))
or, in terms of the splice evaluation
when(x<x
1
,f
1
(x),when(x<x3,polyEval({a,b,c,d,e},k*(x-x2)),f2(x)))
There are several typical operations we want to perform with the splice, such as interpolation,
differentiation, integration, and solving for the inverse, that is, solve y=s(x) for x, given y. Interpolation is
a simple matter of scaling x to x
s
and evaluating the splice polynomial, as just shown. Following
sections show how to do integration, differentiation, and solving for the inverse. I also include a user
interface routine to find the splice coefficients, which eases entry of the input parameters and
calculates the fit errors.
You can use the same basic ideas I have described to develop higher-order splices. For example, you
could use a 6th-order splice which forces the second derivatives to match at the interval endpoints, or
an 8th-order splice that forces matching second- and third-order derivatives at the endpoints. You
could change the 4th-order splice to a fifth-order splice which specifies a first derivative at the interval
midpoint x2.
The function splice4()
The function shown below, splice4(), implements the technique described above. The arguments are
defined in the function header comments
splice4() returns the splice polynomial coefficients as a list {a,b,c,d,e}, which can be used directly with
polyEval() to find s(x). The listing below includes comments which are not in the splice4.9xf file in
tlcode.zip.
splice4(y_
1
,y_2,y_3,yp
1
,yp3)
Func
©(y
1
,y2,y3,y
1
',y3') 4th-order splice
©27jan02/dburkett@infinet.com
© Input arguments
© f
1
(x) and f2(x) are the two functions to be spliced between x
1
and x3.
© y_
1
f
1
(x
1
)
© y_2
s(x2)
© y_3
f2(x3)
© yp
1
f
1
'(x
1
), scaled such that f
1
'(x
1
) = h*f
1
'(x
1
)
© yp3
f2'(x3), scaled such that f2'(x3) = h*f2'(x3)
© Output:
© Returns {a,b,c,d,e} where s(xs) = a*(xs)^4 + b*(xs)^3 + c*(xs)^2 + d*(xs) + e
© Solve for scaled coefficients
© Find list 'c' of scaled coefficients {a, b, c, d, e} by solving
©
6 - 97
Summary of Contents for TI-92+
Page 52: ...Component side of PCB GraphLink I O connector detail 1 41...
Page 53: ...LCD connector detail PCB switch side 1 42...
Page 54: ...Key pad sheet contact side Key pad sheet key side 1 43...
Page 55: ...Key cap detail 1 44...
Page 57: ...Component side of PCB with shield removed A detail view of the intergrated circuits 1 46...
Page 410: ...void extensionroutine2 void Credit to Bhuvanesh Bhatt 10 4...