Effacer les filtres
Effacer les filtres

Solve an ODE on a torus

5 vues (au cours des 30 derniers jours)
Tommaso Cortopassi
Tommaso Cortopassi le 5 Juin 2024
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...).

Réponses (1)

John D'Errico
John D'Errico le 5 Juin 2024
Modifié(e) : John D'Errico le 5 Juin 2024
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 commentaire
Tommaso Cortopassi
Tommaso Cortopassi le 6 Juin 2024
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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Tags

Produits


Version

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by