Files
thesis/julia/src/find_closest.jl
2021-08-25 16:26:32 -06:00

25 lines
633 B
Julia

using NLsolve
function treat_inputs(x::AbstractVector)
n::Int = length(x)/3
reshape(x,(3,n))'
end
function single_shoot(start::Vector{Float64},
final::Vector{Float64},
craft::Sc,
μ::Float64,
t0::Float64,
tf::Float64,
x0::AbstractVector,
tol=1e-8)
n::Int = length(x0)/3
function f!(F,x)
F[1:6] .= prop(treat_inputs(x), start, craft, μ, tf-t0)[1][end,:] - final
F[7:3n] .= 0.
end
return nlsolve(f!, x0, ftol=tol, autodiff=:forward, iterations=10_000)
end