Как я могу получить точный график, чтобы убедиться, что он непрерывен или нет?
У меня есть функция с тремя переменными
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]);
Я использую ContourPlot3D как
ContourPlot3D[f == 0, {x, 1.1, 1.21}, {y, 2, 2.2}, {z, 0.8, 1.2}]
и получаю результат (я приложил разные ориентации сюжета)

Здесь я вижу пустую часть между ними. Я уверен, что эти два листа либо касаются друг друга, либо избегают друг друга. Итак, эта пустая часть (если она действительно пуста!) Не должна быть правдой. Как мне получить более точный результат (сюжет), чтобы убедиться, что они непрерывны (встречаются друг с другом) или нет?
Ответы
Да, есть критическая точка стыковки листов:
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 *)
Поместите критическую точку в середину графика (и используйте нечетное число для PlotPoints
, по умолчанию = 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]

Обсуждение. Построение контура выполняется посредством дискретной выборки и применения теоремы о промежуточном значении для определения того, когда поверхность контура проходит через элемент сетки. Это довольно грубый способ приблизиться к поверхности. Лучше всего он работает, когда один лист поверхности проходит через элемент сетки. Когда листы пересекаются или соприкасаются, иногда трудно понять, что происходит. Типичные подходы включают увеличение PlotPoints
(значение по умолчанию 15) или MaxRecursion
(значение по умолчанию 2). Эти подходы позволяют получить более мелкую сетку и меньшие отверстия. Иногда они решают проблему полностью. Выше мы смогли применить конкретные знания о поверхности. Если бы было два таких критических момента, мы, вероятно, не смогли бы заставить вышеуказанное работать.