Re: BSpline function
- To: mathgroup at smc.vnet.net
- Subject: [mg112824] Re: BSpline function
- From: "David Park" <djmpark at comcast.net>
- Date: Sat, 2 Oct 2010 05:44:17 -0400 (EDT)
It's a simple root finding problem but unfortunately neither FindRoot or Ted
Ersek's RootSearch routine works well with BSplineFunction if we have to
take the First or Last parts. But there is a simple solution: generate an
InterpolatingFunction for the Last part and then do the root finding.
pts = {{0.3, 0.74152}, {0.4, 0.650256}, {0.5, 0.588225}, {0.6,
0.541167}, {0.8, 0.473432}, {1., 0.425661}, {1.022,
0.42067}, {1.25, 0.380029}, {1.5, 0.346518}, {2.,
0.300173}, {2.044, 0.297321}}; f =
BSplineFunction[pts, SplineDegree -> 5];
g = FunctionInterpolation[Last[f[s]], {s, 0, 1}]
Needs["Ersek`RootSearch`"]
RootSearch[g[s] == s, {s, 0, 1}]
{{s -> 0.446681}}
Or FindRoot also works well here:
sroot = FindRoot[g[s] == s, {s, 0.5}]
{s -> 0.446681}
Last[f[sroot]] == sroot
True
If I understand the question correctly.
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/
From: eric g [mailto:eric.phys at gmail.com]
hello Group,
I want to find the parameter of the spline function @ x=.9 in order to
find the appropriate value of y?
I can eye ball it using Table [{t,f[t]},{t,0,1,.01}] but I would like to
get it straihgt...
Also I would like to know what is the appropriate Spline-degree I should
use?
thnks in advance,
Eric
pts={{0.3, 0.74152}, {0.4, 0.650256}, {0.5, 0.588225}, {0.6,
0.541167}, {0.8, 0.473432}, {1., 0.425661}, {1.022, 0.42067}, {1.25,
0.380029}, {1.5, 0.346518}, {2., 0.300173}, {2.044, 0.297321}};
f= BSplineFunction[pts,SplineDegree->5];
f[?]={0.9,?}