Fourier Series

Off[NIntegrate::ncvb]

Clear[a,b,kMax, k]
f[x_]:= If[x>0, Sin[x], Cos[x]]
kMax=12;

b[k_]:=b[k]=(1/π)NIntegrate[f[x] Sin[k x],{x,-π,π}]
a[k_]:=a[k]=(1/π)NIntegrate[f[x] Cos[k x],{x,-π,π}]
a[0]=(1/(2 π))NIntegrate[ f[x] ,{x,-π,π}];
F[x_]=a[0]+ Sum[ a[k] Cos[k x]+b[k] Sin[k x],{k,1,kMax}];
Plot[{f[x], F[x],F[π]},{x,-2π,1.1 π},
PlotLegends->"Expressions"]

Fourier Bessel Series

The same thing works with Bessel Functions.

Clear[R,n,k]
R[n_,k_]:=R[n,k]=BesselJ[n, N[BesselJZero[n,k]] #]&
Plot[{
R[3,1][x],
R[3,2][x],
R[3,3][x],
R[3,4][x],
R[3,5][x]
},
{x,0,1}]

Clear[a,n,k,x,f,F]
a[n_,k_]:=a[n,k]=((NIntegrate[x f[x] R[n,k][x],{x,0,1}])/(NIntegrate[x (((R[n,k][x]))^2),{x,0,1}]))
f[x_]:= (x Cos[x Sin[3 x]+ x ArcTan[x]] + (x^2))(1-x)(1-2 x)(1-3x)


kMax=8;
n=1;
F[x_]=Sum[ a[n,k] R[n,k][x],{k,1,kMax}];
Plot[{f[x], F[x]},{x,0,1},
PlotLegends->"Expressions"]

Sturm Louiville

The text says that basically all the 1D eigenvalues of a specific but fairly general type are kinda just like the Bessel eval problem.

Analytic Example: 1

Lets make up an example and watch what the SL statements in the book say.

ODE

p[x]:=(((1+x))^2)
q[x]:=1
σ[x]:=1
ϕSol[x_,λ_]=ϕ[x]/.DSolve[ 
D[p[x] ϕ'[x],x]+ q[x] ϕ[x] + λ σ[x] ϕ[x]==0,
ϕ[x],
x
][[1]]//Simplify

Dirichlet Boundary Conditions at x=0 and x=1.

ϕSol[0,λ]==0
ϕSolF[x_,λ_]=Simplify[
ϕSol[x,λ]//.{C[2]->-C[1],C[1]->I}]
ϕSolF[1,1.0]
Plot[{
Re[ϕSolF[1,λ]],
Im[ϕSolF[1,λ]]
},{λ,0, 543},
PlotLegends->"Expressions"]

{λ1,λ2,λ3,λ4}=Chop[λ/.FindRoot[ϕSolF[1,λ]==0, {λ,{20,80,170,350}}]]

Plot[ 
{ϕSolF[x,λ1],ϕSolF[x,λ2],ϕSolF[x,λ3],ϕSolF[x,λ4]},
{x,0,1}]

Plot[ {
ϕSolF[x,λ1] ϕSolF[x,λ2],
 ϕSolF[x,λ1] ϕSolF[x,λ3],
ϕSolF[x,λ2] ϕSolF[x,λ3]
},{x,0,1}]

NIntegrate[ {
ϕSolF[x,λ1] ϕSolF[x,λ2],
 ϕSolF[x,λ1] ϕSolF[x,λ3],
ϕSolF[x,λ2] ϕSolF[x,λ3]
},{x,0,1}]

Numeric Example: 2

Lets make up an example and watch what the SL statements in the book say.

ODE

Clear[p,x,q,σ,ϕ,ϕSol1, ϕSol2,λ]
p[x]:=(E^(Sin[x]))
q[x]:=Sin[0.2 ArcTan[x] ] 
σ[x]:=(((1+x))^4)
{a,b}={4,6}
(* 0.1 ϕ[a] + ϕ'[a] == 0 *)
(* ϕ'[b] == 0  *)
ϕSol1=ϕ/.ParametricNDSolve[ {
D[p[x] ϕ'[x],x]+ q[x] ϕ[x] + λ σ[x] ϕ[x]==0,
ϕ[5]==0,
ϕ'[5]==1
},
ϕ,
{x,a,b},
{λ}]
ϕSol2=ϕ/.ParametricNDSolve[ {
D[p[x] ϕ'[x],x]+ q[x] ϕ[x] + λ σ[x] ϕ[x]==0,
ϕ[5]==1,
ϕ'[5]==0
},
ϕ,
{x,a,b},
{λ}]

λVal=0.1;
Plot[ {ϕSol1[λVal][x],ϕSol2[λVal][x]},{x, a,b},
PlotLegends->Automatic,
PlotPoints->200]

This is the general solution
	c1 ϕSol1[λ][x] + c2 ϕSol2[λ][x]
when we plug in our BC we get two linear homeogeneous equations in two unknowns.  There is a non-trivial solution iff the determinant of the matrix is zero.

(* 0.1 ϕ[a] + ϕ'[a] == 0 *)
(* ϕ'[b] == 0  *)
Clear[λ]
A[λ_]= (({{0.1 ( ϕSol1[λ][a]) +  ϕSol1[λ]'[a], 0.1 ( ϕSol2[λ][a]) +ϕSol2[λ]'[a] }, {ϕSol1[λ]'[b], ϕSol2[λ]'[b]}}));
Plot[ Det[A[λ]], {λ,0, 0.05}]

Off[InterpolatingFunction::dmval]
Off[FindRoot::frmp]
Off[FindRoot::lstol]
FindRoot[ Det[A[λ]]==0, {λ, 0.0006}]
FindRoot[ Det[A[λ]]==0, {λ, 0.007}]

A[0.008883654543229286`]//MatrixForm

{{c1,c2}}=NullSpace[A[0.008883654543229286`]];
Steve[x_]=c1 ϕSol1[0.008883654543229286`][x] + c2 ϕSol2[0.008883654543229286`][x]
Plot[ -Steve[x],{x,a,b}]
Plot[ -Steve[x],{x,a,5.1}]

0.1 Steve[a] + Steve'[a]
Steve'[b]

Plot[ -Steve[x],{x,4.98,5.01}]

{((3.979453119179398`)/(0.037361856568023696`)), ((8.123102635309502`*^16)/(7.62652273584114`*^14))}

{106.51111814890992`,106.5112229605593`}

((8.123102635309502`*^16)/(7.62652273584114`*^14))

λ=1.4;
A[λ]//MatrixForm
eqn1 =Expand[
0.1 (c1 ϕSol1[λ][a]+c2 ϕSol2[λ][a]) + c1 ϕSol1[λ]'[a]+c2 ϕSol2[λ]'[a] == 0 
]
eqn2 =c1 ϕSol1[λ]'[b]+c2 ϕSol2[λ]'[b] == 0

?ParametricNDSolve

λVal=12.2;
Plot[{ϕSol1[λVal][x],ϕSol2[λVal][x]},{x,0,1},
PlotLabel->StringForm["λ=``",λVal]
]

How do you tell if you can find non-trivial values of (Subscript[C, 1]) and (Subscript[C, 2]) so that 
	ϕ = (Subscript[C, 1])ϕ1Sol + (Subscript[C, 2])ϕ2Sol
satisfies some BC at x=0 and at x=1?

Break

My guess is your problem is units.    g is 32 ft/s^2 .  Make sure that all your lengths are in feet and realize that they are asking for the answer in minutes not seconds!

DSolve[{
m s''[t]== m g - k ((s'[t])^2),
s[0]==0
},
s[t],
t]//Simplify//TraditionalForm