Jump to content

    
Александр77

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

Recommended Posts

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
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

 

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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

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

Edited by stealthisname

Share this post


Link to post
Share on other sites
On 9/15/2021 at 8:17 PM, Александр77 said:

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.