реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> 2D surface в MATLAB
Herz
сообщение Apr 9 2015, 12:11
Сообщение #1


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



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

Прикрепленное изображение


В Skilab-е это просто. Используется функция grayplot(x, y, z) и нужный цвет подбирается автоматически, исходя из диапазона величин в таблице.
В МАТЛАБе такой способ используется для раскраски поверхностей.
Но вот аналога для плоского графика в нём никак найти не могу. Как нарисовать?
Go to the top of the page
 
+Quote Post
alexunder
сообщение Apr 9 2015, 12:36
Сообщение #2


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Herz @ Apr 9 2015, 14:11) *
Нужно изобразить плоскость в двух координатах по данным из таблицы, где столбцы и строки определят координаты Х и У, а сами знач

Не очень понял, Вы хотите получить то что на картинке или наоборот, картинка - "нежелательный" эффект матлаба? Если последнее, то Вы отобразили данные методом из семейства surf(). Для водопада есть функция waterfall(). Приведите пример как должна выглядеть картинка (из скайлаба) чтоб было понятнее.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Herz
сообщение Apr 9 2015, 12:52
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



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

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

Вот, кажется, image() подходит. Только с раскраской разобраться надо. Вот так всегда, стоит спросить - и неожиданно находишь ответ. rolleyes.gif
Go to the top of the page
 
+Quote Post
_pv
сообщение Apr 9 2015, 13:03
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



https://plot.ly/matlab/heatmaps/
Go to the top of the page
 
+Quote Post
alexunder
сообщение Apr 9 2015, 13:04
Сообщение #5


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



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

ясно. Да, waterfall() почти то же что и surf(), с которым получается 3D поверхность (ее можно повернуть так чтоб смотреть сверху, это и будет желаемая картинка). Вам нужен pcolor(), она сразу даст искомый результат (аналогично surf() с видом сверху).


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Herz
сообщение Apr 9 2015, 13:31
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(_pv @ Apr 9 2015, 16:03) *

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

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

Да, похоже, это как раз оно. Спасибо!
Go to the top of the page
 
+Quote Post
Obi
сообщение Apr 10 2015, 04:36
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-12-05
Из: Perth, WA
Пользователь №: 12 375



наверное, вам необходимы pcolor или imagesc... в зависимости от деталей


--------------------
"We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard,"
- John F. Kennedy in September 1962.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 00:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01414 секунд с 7
ELECTRONIX ©2004-2016