필터 지우기
필터 지우기

How can I have MATLAB solve a boundary value problem with free endpoints?

조회 수: 2 (최근 30일)
Aykut Satici
Aykut Satici 2015년 7월 6일
편집: Aykut Satici 2015년 7월 6일
Suppose, I have the following boundary value problem:
f(x, xp, x2p, ..., xNp) = 0, subject to
g1(x(0), xp(0), ... x(N-1)p(0)) = 0. g2(x(tf), xp(tf), ... x(N-1)p(tf)) = 0.
where x?p denotes the ?th time derivative of a curve x: I --> M, where, M is a Riemannian manifold (You can assume M = R^n, for some natural number n for the purposes of this question.) The boundary conditions are given at the initial time by the function g1: I --> R^k, and the boundary conditions at the final time by the function g2: I --> R^m.
Now this problem can be solved by using the MATLAB function "bvp4c" as long as the final time tf is specified. The problem I would like to solve is when tf is free to vary. I will give an example of such a problem. Suppose we would like to intercept a curve with a particle in R^2. We still have a given differential equation f(x1,x2,x1p,x2p,...) = 0 to be satisfied, but we do not care where we intercept the path exactly, as long as it minimizes some functional. In this case, one of the coordinate functions of g2 would read something like
x(tf) = zeta(tf)
where zeta denotes the path we would like to intercept.
I believe I can solve this problem by an iterative application of "bvp4c", where I would guess a final time and solve the question with fixed endpoints. Afterwards, depending on the gradient of the unsatisfied boundary conditions, I can do a gradient based search to step the final time tf along the direction that reduces the norm of the unsatisfied boundary condition.
Is there an easier way of doing this? Any MATLAB functions anyone can suggest?
Best regards, Aykut

답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by