Хобрук: Ваш путь к мастерству в программировании

Mathematica ListcontourPlot3D

У меня есть данные в форме { {x,y,z,f}...}. Я использую ListContourPlot3D, но все, что я получаю, это пустое поле с размерами от -1 до 1 в каждом направлении. Вот мой код:

ListContourPlot3D[data5, PlotRange -> All, 
  AxesLabel -> {"[Beta]", "[Omega]", "Vo"}, Contours -> {1500}].

Это первые 5 точек моих данных :( весь набор 55 точек)

{{200, 20000 10^(1/3), 2000, 1226}, 
 {200, 20000 10^(1/3), 2600, 1422}, 
 {200, 20000 10^(1/3), 3200, 1581}, 
 {200, 20000 10^(1/3), 3800, 1761}, 
 {200, 20000 10^(1/3), 4400, 1872}}

Dimensions[data5] возвращает {55,4} Если я делаю IntegerPart[data5], он делает это правильно, поэтому он должен распознавать числа в моих данных.

Я ценю любые идеи. Спасибо.


Ответы:


1

Трудно сказать, не имея всего набора данных, но могу поспорить, что у вас проблема с настройкой Contours -> {1500}. Что произойдет, если вы вообще опустите его или используете другое значение?

23.03.2010

2

Contours -> num Plots количество равноотстоящих друг от друга уровней контуров. Contours -> {num} Строит контур f[x,y,z] = num.

Вы имели ввиду бывшего? Я сомневаюсь, что ListContourPlot3D может отображать ваши данные, если они слишком разрежены или локализованы. Для образца данных, который вы нам предоставили, x и y вообще не меняются. Достаточно ли различаются x и y в вашем окончательном наборе данных, чтобы хорошо заполнить координатное пространство?

23.03.2010

3

Причиной может быть предложение @Davorak о том, что набор данных, как написано, не меняется. проблемы. Предполагая, что это не так, попробуйте повернуть получившееся изображение, и если вы увидите появление черной плоскости, значит цветовая схема отключена. По умолчанию ListContourPlot3D создает непрозрачную белую поверхность, и у меня были проблемы, когда казалось, что он ничего не создает, но он просто невидим. Решение: добавьте параметр ContourStyle и установите для него что-то вроде Red.

23.03.2010

4

Проблема заключается в использовании формы {x,y,z,f} ListContourPlot3D с низким разрешением. Я тоже наткнулся на это несколько недель назад, вот минимальный пример ошибки:

xyzfdata[r_] := Flatten[#, 2] &@Table[{x, y, z, x^2 + y^2 + z^2 - 1}, 
  {x, -2, 2, r}, {y, -2, 2, r}, {z, -2, 2, r}];
(* Low resolution {x,y,z,f} fails *) 
ListContourPlot3D[xyzfdata[1], Contours -> {0}]

Решение в моем случае (у меня были данные в сетке) заключалось в использовании формы сетки и DataRange:

fdata[r_] := Table[x^2 + y^2 + z^2 - 1, 
  {z, -2, 2, r}, {y, -2, 2, r}, {x, -2, 2, r}];
(* Low resolution works ok for array data *)
ListContourPlot3D[fdata[1], Contours -> {0}, 
  DataRange -> 2 {{-1, 1}, {-1, 1}, {-1, 1}}]

Я думаю, проблема в том, что для формы {x, y, z, f} реализация использует интерполяцию таким образом, что она не работает при низком разрешении. Подняв разрешение в первом примере, все работает:

(* Higher resolution {x,y,z,f} works *)
ListContourPlot3D[xyzfdata[.2], Contours -> {0}]
25.03.2010
Новые материалы

Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

Как настроить Selenium в проекте Angular
Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

Аргументы прогрессивного улучшения почти всегда упускают суть
В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

Введение в Джанго Фреймворк
Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

Расширенные методы безопасности для VueJS: реализация аутентификации без пароля
Руководство, которое поможет вам создавать безопасные приложения в долгосрочной перспективе Безопасность приложений часто упускается из виду в процессе разработки, потому что основная..

стройный-i18следующий
Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..