Comment puis-je avoir un tracé précis pour m'assurer que ce tracé est continu ou non?

Aug 17 2020

J'ai cette fonction à 3 variables

f := 16 ((-1 + (9 x^2)/4) Cos[z] Cosh[(π x)/3] + 
      3 x Sin[z] Sinh[(π x)/3]) Sinh[π x] + 
   8 (-1 + (9 x^2)/4) Sinh[x y] + (-3 + (9 x^2)/4)^2 Sinh[
     x (2 π + y)] - (1 + (9 x^2)/
      4)^2 (2 Cosh[(2 π x)/3] Sinh[x y] + Sinh[2 π x - x y]);

J'utilise ContourPlot3D comme

ContourPlot3D[f == 0, {x, 1.1, 1.21}, {y, 2, 2.2}, {z, 0.8, 1.2}]

et j'obtiens le résultat (j'ai joint différentes orientations de l'intrigue)

Ici, je vois une partie vide entre les deux. Je suis sûr que ces deux feuilles se touchent ou s'évitent. Donc, cette partie vide (si elle est vraiment vide!) Ne devrait pas être vraie. Comment puis-je obtenir un résultat plus précis (tracé) pour m'assurer qu'ils sont continus (se rencontrent) ou non?

Réponses

11 MichaelE2 Aug 17 2020 at 02:56

Oui, il y a un point critique où les feuilles se rejoignent:

jac = D[f, {{x, y, z}}];

FindRoot[jac == {0, 0, 0}, {{x, 1.1}, {y, 2.1}, {z, 1}}];
cpt = {x, y, z} /. %
f /. %%
(*
  {1.1597, 2.12999, 0.963489}
  0.                           <-- on the surface  f == 0
*)

Placez le point critique au milieu du graphique (et utilisez un nombre impair pour PlotPoints, par défaut = 15).

cplot = ContourPlot3D[
  ff == 0,
  {x, cpt[[1]] - 0.1, cpt[[1]] + 0.1},
  {y, cpt[[2]] - 0.3, cpt[[2]] + 0.3},
  {z, cpt[[3]] - 0.6, cpt[[3]] + 0.6}, 
  AxesLabel -> Automatic]

Discussion. Le tracé de contour est réalisé via un échantillonnage discret et l'application du théorème de valeur intermédiaire pour déterminer quand la surface de contour passe à travers un élément de maillage. C'est une manière assez approximative d'approcher une surface. Il fonctionne mieux lorsqu'une seule feuille d'une surface traverse un élément de maillage. Lorsque les feuilles se croisent ou se touchent, il est parfois difficile de déduire ce qui se passe. Les approches typiques incluent l'augmentation PlotPoints(valeur par défaut 15) ou MaxRecursion(valeur par défaut 2). Ces approches conduisent à un maillage plus fin et des trous plus petits. Parfois, ils résolvent complètement le problème. Ci-dessus, nous avons pu appliquer des connaissances spécifiques sur la surface. S'il y avait eu deux de ces points critiques, nous ne pourrions probablement pas faire fonctionner ce qui précède.