Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: 2D surface в MATLAB
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Вопросы системного уровня проектирования
Herz
Нужно изобразить плоскость в двух координатах по данным из таблицы, где столбцы и строки определят координаты Х и У, а сами значения - цвет в этой точке (квадратике). Иногда такой график называют "waterfall", но в МАТЛАБе это - совсем другое. К примеру, по Х - спектр сигнала, по У - время. Вот как может выглядеть:

Нажмите для просмотра прикрепленного файла

В Skilab-е это просто. Используется функция grayplot(x, y, z) и нужный цвет подбирается автоматически, исходя из диапазона величин в таблице.
В МАТЛАБе такой способ используется для раскраски поверхностей.
Но вот аналога для плоского графика в нём никак найти не могу. Как нарисовать?
alexunder
Цитата(Herz @ Apr 9 2015, 14:11) *
Нужно изобразить плоскость в двух координатах по данным из таблицы, где столбцы и строки определят координаты Х и У, а сами знач

Не очень понял, Вы хотите получить то что на картинке или наоборот, картинка - "нежелательный" эффект матлаба? Если последнее, то Вы отобразили данные методом из семейства surf(). Для водопада есть функция waterfall(). Приведите пример как должна выглядеть картинка (из скайлаба) чтоб было понятнее.
Herz
Цитата(alexunder @ Apr 9 2015, 15:36) *
Не очень понял, Вы хотите получить то что на картинке или наоборот, картинка - "нежелательный" эффект матлаба? Если последнее, то Вы отобразили данные методом из семейства surf(). Для водопада есть функция waterfall(). Приведите пример как должна выглядеть картинка (из скайлаба) чтоб было понятнее.

Это именно картинка из Скайлаба, подобную которой я хочу получить в МАТЛАБе. Её и называют иногда "waterfall". Выполняется Скайлабовской grayplot(x, y, z).
Но уже весь МАТЛАБ перерыл, а подобного не нашёл, хотя вроде должно быть просто. А waterfall() в МАТЛАБе - трёхмерный график и совсем не то, что нужно.

Вот, кажется, image() подходит. Только с раскраской разобраться надо. Вот так всегда, стоит спросить - и неожиданно находишь ответ. rolleyes.gif
_pv
https://plot.ly/matlab/heatmaps/
alexunder
Цитата(Herz @ Apr 9 2015, 14:52) *
Это именно картинка из Скайлаба, подобную которой я хочу получить в МАТЛАБе. Её и называют иногда "waterfall". Выполняется Скайлабовской grayplot(x, y, z).
Но уже весь МАТЛАБ перерыл, а подобного не нашёл, хотя вроде должно быть просто. А waterfall() в МАТЛАБе - трёхмерный график и совсем не то, что нужно.

ясно. Да, waterfall() почти то же что и surf(), с которым получается 3D поверхность (ее можно повернуть так чтоб смотреть сверху, это и будет желаемая картинка). Вам нужен pcolor(), она сразу даст искомый результат (аналогично surf() с видом сверху).
Herz
Цитата(_pv @ Apr 9 2015, 16:03) *

Спасибо, даже не знал о существовании этого ресурса. Полезная вещь.

Цитата(alexunder @ Apr 9 2015, 16:04) *
ясно. Да, waterfall() почти то же что и surf(), с которым получается 3D поверхность (ее можно повернуть так чтоб смотреть сверху, это и будет желаемая картинка). Вам нужен pcolor(), она сразу даст искомый результат (аналогично surf() с видом сверху).

Да, похоже, это как раз оно. Спасибо!
Obi
наверное, вам необходимы pcolor или imagesc... в зависимости от деталей
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.