christopher-dG on set-up-TagBot
christopher-dG on master
Automated commit made by MassIn… Merge pull request #59 from Sci… (compare)
christopher-dG on set-up-TagBot
Automated commit made by MassIn… (compare)
ChrisRackauckas on master
Update .travis.yml (compare)
ChrisRackauckas on master
Update CompatHelper.yml (compare)
github-actions[bot] on v2.5.0
ChrisRackauckas on master
Update Project.toml (compare)
ChrisRackauckas on master
Update README.md (compare)
ChrisRackauckas on new_version
ChrisRackauckas on master
CompatHelper: bump compat for "… Merge pull request #58 from Sci… (compare)
github-actions[bot] on new_version
CompatHelper: bump compat for "… (compare)
ChrisRackauckas on master
Install TagBot as a GitHub Acti… Merge pull request #57 from Jul… (compare)
[ initialGuess( i ) for i in tspan ]
though?
currentArea = 2. * pi * quadgk( x -> ( solution(x)[2] ), solution.t[1], solution.t[end] )
LoadError: MethodError: no method matching *(::Float64, ::Tuple{Float64,Float64})
julia> using QuadGK
julia> quadgk(x -> 2x,1,2)
(3.0, 0.0)
function shoot()
problem = BVProblem( shapeEquations, endConditions,
initialConditions( 1e-3, param_values( shapeEquations ) ), tspan )
costFunction = build_loss_objective( problem, Vern9(), keepAreaAndVolume, maxiters = 10000 )
opt = Opt(:LN_COBYLA, 1)
min_objective!( opt, costFunction )
( minf, minx, ret ) = NLopt.optimize( opt, [1,-1.1,1,1,3.14] )
println( minf, minx, ret )
end
is this a correct way to do parameter estimation?
BoundsError
at the optimize line
problem_generator
kwarg.
MethodError: no method matching problem_new_parameters(::DiffEqBase.BVProblem{Array{Float64,1},Float64,true,DiffEqBase.ParameterizedFunction{true,VesicleForms.#ShapeEquations,Array{Float64,1}},VesicleForms.#endConditions,DiffEqBase.StandardBVProblem,Void,UniformScaling{Int64}}, ::Array{Float64,1})
f(t,u,p,du)
bc(residual, sol,p)
?
function endConditions( residual, solution )
parameters = param_values( solution.prob.f )
println( parameters )
poleCurvature = parameters[4]
rightBCs = rightBoundary( -solution.t[1], parameters )
residual[1] = solution[1,end] - rightBCs[1]
residual[2] = solution[2,end] - rightBCs[2]
residual[3] = solution[3,end] - rightBCs[3]
residual[4] = solution[4,end] - rightBCs[4]
end
bc(residual,sol,p)
interface implemented?
f = (t,u,du) -> prob.f(t,u,p,du)
stay the same for BVProblems
?
function problem_new_parameters(prob::BVProblem,p;kwargs...)
f = (t,u,du) -> prob.f(t,u,p,du)
uEltype = eltype(p)
u0 = [uEltype(prob.u0[i]) for i in 1:length(prob.u0)]
tspan = (uEltype(prob.tspan[1]),uEltype(prob.tspan[2]))
BVProblem{isinplace(prob)}(f,prob.bc,u0,tspan,prob.problem_type;
callback = prob.callback, mass_matrix = prob.mass_matrix,
kwargs...)
end
param_values(prob::BVProblem) = param_values(prob.f)
num_params(prob::BVProblem) = num_params(prob.f)
Thats what i got so far, but I'm not sure, if i got that right