Разное

Matlab contour: Contour plot of matrix — MATLAB contour

Контур в MATLAB: Обзор графика

Содержание (щелкните для удобной навигации)

  1. Что такое контур в MATLAB?
  2. Построение контурной карты в MATLAB с использованием восьми различных команд
  3. Заключение
  4. Ссылки

Что такое контур в MATLAB?

Контурная карта в MATLAB — это графическое представление 3D-поверхности относительно постоянной оси Z для отображения в 2D-формате.

Когда мы пытаемся построить 3D-карту в MATLAB, у нас есть разные варианты построения. Одним из них является контурная карта, которая показывает 3D-график в 2D-формате с постоянной осью Z. Изогнутая линия того же цвета показывает одну и ту же точку возвышения. Например, если мы хотим построить 2D-диаграмму 3D-изображения, показанного на рис. 1 нарисуем изогнутые линии, показывающие высоту и крутизну на карте.

На рис. 2 показана контурная карта рис. 1. Мы видим, что каждый круговая линия находится в той же точке высоты, а крутизна показана насыщенная зона.

Верхняя область немного плоская, поэтому не насыщенная.

Построение контура в MATLAB с помощью восьми различных команд

Мы представим восемь основных команд для контурной карты. участок:

  1. КОНТУР (составляет плоскую контурную карту).
  2. КОНТУР3 (производит трехмерную контурную карту).
  3. КОНТУР (выдает контурную карту с заполненными линиями).
  4. EZCONTOUR
  5. EZCONTOURF
  6. EZMESHC
  7. SURFC
  8. EZSURF

Команда «КОНТУР»

Для создания плоских контурных карт мы используем команду «Контур».

На рис. 4 показан вывод кода MATLAB.

Обычно контурная карта содержит десять линий. Каждый цветная линия находится на одном уровне высоты. Если нам нужно больше строк, мы будем использовать команда:

Контур(x,y,z,25) вместо Контур(x,y,z). Это будет дайте нам 25-строчную контурную карту.

Если мы хотим пометить карту, мы используем команду «clabel». Помечен уровни высоты показаны на этом рисунке.

[в, ч] = контур (х, у, г)

Класс (c, h)

‘КОНТУР3’ Команда 92’) показывает и поверхность, и контурные линии на одном и том же наборе осей.

Заключение

Когда мы рисуем 3D-поверхность в MATLAB мы можем построить его контур в 2D-формате с одной постоянной осью. Контур любой функции можно построить в MATLAB, и мы можем увидеть разную высоту уровни представлены разными цветами линий и помечены с помощью «clabel» команда. Также мы можем рисовать поверхность и контур одновременно.

Каталожные номера

www.mathworks.com

Программное обеспечение MATLAB

pgfplots: Как имитировать заполненный контурный график MATLAB? — TeX

Здесь я представляю два решения.


Решение 1 (левая часть изображения)

Это попытка воспроизвести рисунок Matlab с возможностями PGFPlots. Чтобы «подтвердить», что я сделал это правильно, я сначала сохранил ваше изображение Matlab и обрезал части оси. Затем я добавил это как \addplot graphics и вдобавок добавил реальный график, т. е. \addplot контур заполнен 9График 0125 с прозрачностью 50%. Это позволило проверить, правильно ли я нашел границы интервала.

Сказал, что я считаю ваше заявление выше неверным. Кажется, вы удалили цвет для всех значений> 1600. Это также имеет смысл, потому что максимальное значение в файле P3.dat равно 1723 ...

Решение 2 (правая часть изображения)

Здесь я просто использовал обрезанное выше изображение Matlab и воспроизвел цветовую полосу. .

Сравнение

Как вы можете видеть, в решении 1 есть некоторые "артефакты", которые не делают результат таким гладким, как результат Matlab. То есть, потому что расчет/визуализация контуров только зависит от возможностей вашей программы просмотра PDF. Сказал, что может быть ваш результат отличается от моего. Я сделал скриншот из представления в Acrobat Reader XI.

Вот почему я предпочитаю решение 2.

Чтобы улучшить результат, вы должны изменить свой вид Matlab на только показывать контуры, что означает удаление оси и линий сетки. Тогда единственная разница может заключаться в цветах, используемых/отображаемых на контурном графике Matlab, и в цветовой полосе, рассчитанной с помощью PGFPlots. Конкретно я имею в виду, что можно использовать цвета RGB, а другой CMYK. Но поскольку у вас есть иллюстратор, как вы сказали, вы можете проверить это и адаптировать одну из обеих частей, то есть вывод Matlab или PGFPlots.

Вы также можете создать «чистую», то есть без какой-либо оси, версию цветовой полосы в Matlab, а также импортировать эту графику в цветовую полосу PGFPlots. Конечно, тогда цвета идентичны .


Для получения более подробной информации о том, как работают решения, ознакомьтесь с комментариями в коде.

 % использованных PGFPlots v1.14
\RequirePackage{luatex85}
\documentclass{автономный}
\usepackage{pgfplots}
\pgfplotsset{
 % вам нужен как минимум этот уровень совместимости или выше, чтобы использовать следующие функции
 совместимость = 1,14,
 % определить «белую» цветовую палитру для белой части изображения
 цветовая карта = {нет данных} {
 цвет = (белый)
% цвет = (белый)
 цвет = (красный)
 },
 % загрузить эту палитру, которая позже используется
 цветовая карта/сине-красный,
 % определяют цветовую карту «parula», которая использовалась для создания экспортированного изображения. % от Matlab
 % (позаимствовано с http://tex.stackexchange.com/a/336647/95441)
 цветовая карта = {парула} {
 rgb255=(53,42,135)
 rgb255=(15,92,221)
 rgb255=(18 125 216)
 rgb255=(7 156 207)
 rgb255=(21 177 180)
 rgb255=(89 189 140)
 rgb255=(165 190 107)
 rgb255=(225,185,82)
 rgb255=(252,206,46)
 rgb255=(249,251,14)
 },
}
\начать{документ}
 \begin{tikzpicture}
 \начать{ось}[
 вид={0}{90},
 цветная полоса,
 % немного изменить стиль цветовой полосы
 стиль цветовой полосы = {
 тиковое расстояние = 200,
 умакс=1600,
 },
 % этот ключ-значение необходим из-за `\ addplot graphics'
 увеличитьпределы=ложь,
 ]
 % импортировать "экспортированную" графику
 \ добавить график [
 хмин=0,
 хмакс=50,
 умин=0,
 умакс=150,
 ] {P3};
 % теперь попробуйте воспроизвести стиль экспортированной графики
 \ addplot3 [
 % для этого использования, например, функция «заполнение счетчика» .
.. контур заполнен={ % ... в сочетании с функцией «уровни цветовой карты» %, который позволяет настроить используемую цветовую карту уровни из палитры={ % эта часть палитры предназначена для "цветной" части цветовой карты = { % здесь мы используем приведенную выше инициализированную палитру bluered синий, % % («viridis» — это цветовая карта, аналогичная % % использовал сокарту `parula' в Matlab. % % Но поскольку желтый цвет трудно определить % % в этом контексте мы используем приведенную выше палитру) % виридис, % с этим мы заявляем, что это еще не все целевая позиция макс=, % и здесь мы указываем, где соответствующие уровни % должен *начать* целевая позиция = {200 400 600 800, 1000, 1200, 1400}, }, % здесь идет вторая часть палитры, которая % не должен иметь цвета, который невозможен или, по крайней мере, % Я понятия не имею, как это сделать.
.. цветовой карты = { % ... поэтому вместо этого я использую "белую" цветовую карту нет данных, % здесь нижний конец не нужен, потому что это было %, указанный в первой части палитры целевая позиция мин=, % и вот соответствующий интервал *start* % для этой палитры % (как видите -- или нет ;) -- начинается белый цвет % в позиции/значениях >
=1600) целевая позиция = {1600}, }, }, }, % вам нужно указать только «строки» или «столбцы», потому что % PGFPlots затем может вычислить другое значение вместе с % предоставленное количество точек данных сетка/ряды=31, % сделать график полупрозрачным, чтобы проверить, что `target pos' % палитры выбраны правильно непрозрачность=0,5, ] таблица {P3. dat}; \конец{ось} \end{tikzpicture} \begin{tikzpicture} \начать{ось}[ % показать цветную полосу цветная полоса, %, потому что нет реального сюжета, на котором PGFPlots может получить «мета» % данных из, их нужно указать вручную точка мета мин=200, точка мета макс=1800, %%% здесь мы снова определяем необходимую цветовую карту и ее стиль % мы хотим использовать постоянные интервалы в палитре доступ к цветовой карте = кусочно-константная, %, а также здесь мы должны снова указать лимиты ... цветовой карты/целевой позиции min*=200, цветовая карта/целевая позиция max*=1800, % ... и используйте эту функцию, которая упрощает предоставление % образцов в правильном положении % (пожалуйста, ознакомьтесь с руководством по PGFPlots для получения более подробной информации) цветовой карты/образца для = const, % это похоже на приведенный выше пример цветовая карта = {СМ} { цветовой карты = { % .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *