Перейти к содержанию
    

Двумерное отображение тррхмерных графиков в матлаб.

Здравствуйте коллеги!

В матлабе есть трехмерные графики интенсивности (mesh, surf), с цветовой палитрой. При больших объемах данных, эти графики неповоротливы и плохо масштабируемы (на мой взгляд).

Меня интересует есть ли возможность отображения интенсивности в двумерном формате?

Нечто похожее на контур, он двумерный, масштабируемый, но его "внутренняя пустота" мне не нравится.

Поясню что я хочу увидеть.

Есть длинная запись данных. Если эту запись разбить на несколько отрезков и над ними произвести БПФ, то получится "динамический спектр". Вот это изменение частоты во времени и хочется видеть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

32 минуты назад, Александр77 сказал:

В матлабе есть трехмерные графики интенсивности (mesh, surf), с цветовой палитрой. При больших объемах данных, эти графики неповоротливы и плохо масштабируемы (на мой взгляд).

Меня интересует есть ли возможность отображения интенсивности в двумерном формате?

если уже есть вычисление данных и построение с помощью surf, например такое

t = 0:1e-2:1;
z = sin(2*pi*t).*cos(pi*t.');
surf(z);

937718821_.thumb.png.c90e547646d9f47ad4ebb52d413079b9.png

то получить двухмерный вариант можно например командой view(0,90), вот так

t = 0:1e-2:1;
z = sin(2*pi*t).*cos(pi*t.');
surf(z);
view(0,90);

1831157109_.thumb.png.7a67f810dd3f844dcef5cc8bdb925f57.png

таким образом будет выведен двухмерный вариант графика интенсивности, но так же сохранится возможность посмотреть и трехмерный график, с помощью кнопки Rotate 3D

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответ. Но этот вывод громоздок и попытка рассмотреть небольшую область проблематична.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

31 минуту назад, Александр77 сказал:

этот вывод громоздок и попытка рассмотреть небольшую область проблематична.

представим, что у нас есть детализированная  спектрограмма на длинном интервале времени, например вот такая

s = 0:1e-2:1;
t = 0:1e-2:100;
z = sin(pi*s).*cos(pi*t.'+2*pi*10*s)+cos(pi*t.'/10)/2;
surf(s,t,z,'EdgeAlpha',0);
view(0,90);

735240660_.thumb.png.07546ea7bf5f4c20f9da17ea294d2b13.png

разглядеть детально небольшую область в таком масштабе действительно проблематично, поэтому выбираем Zoom In, Vertical Zoom

1093089070_.thumb.png.66bf82558dcf2f7b4d476ee02134eb14.png

любой участок спектрограммы приближается в пару кликов, все изменения графика вдоль оси времени - отлично отслеживаются

563372970_.thumb.png.46da2a8f8047f7e20d2803ccd2c6a571.png

для плавного скольжения по спектрограмме вдоль оси времени выбираем Pan, Vertical Pan

167140888_.thumb.png.4e251998b77dab157f4a22e223a690b3.png

довольно удобный способ исследования спектрограмм

Изменено пользователем stealthisname

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 9/15/2021 at 8:17 PM, Александр77 said:

Спасибо за ответ. Но этот вывод громоздок и попытка рассмотреть небольшую область проблематична.

 помогает ещё imagesc(Z) если 3D совсем не надо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...