Solve an ODE on a torus

조회 수: 7 (최근 30일)
T.C.
T.C. 2024년 6월 5일
댓글: T.C. 2024년 6월 6일
I have an ODE that I need to solve on a torus. Namely, I have many "point charges" that I need to put on the square , and I need to study a motion under the action of said points. The problem is, I'd really like to set it up as if the square were a torus, so that when I exit from one side I pop up from the opposite one. However, I do not know how to impose this. Notice, also, that I am using the brand new tool "Solve" from the latest release since it seems to speed things up quite a bit (basically because MATLAB knows better than me what method to use...).

답변 (1개)

John D'Errico
John D'Errico 2024년 6월 5일
편집: John D'Errico 2024년 6월 5일
Simple enough. Just transform the problem. So if [u,v] live on [0,1]x[0,1], then
s = (cos(2*pi*u)+1)/2
t = (cos(2*pi*v)+1)/2
also lives on [0,1]x[0,1], but (s,t) now behave as you wish.
  댓글 수: 1
T.C.
T.C. 2024년 6월 6일
So you say to change variables in the ODE and use those? I can try something like that, the problems are that:
1) The change of variables need to be an isometry, so that the metric does not change;
2) The interaction with the charges depend on the distance of the particle with them. So I'd need to consider that as well.
I think I can do it with some work.I was wondering if maybe there was an obscure MATLAB function that achieved this and that I did not know about.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기

태그

제품


릴리스

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by