Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: нарисовать многоканальный сигнал для ЭЭГ в матлабе
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Вопросы системного уровня проектирования
Iriwka
У нас есть 2 массива данных:
х -сигнал, размерность 49х144384
y- отфильтрованный сигнал , размерность 49х144384
по одному значению (каналу) соответсвует 144384 значения-для одного канала одна строка
Необходима графически отобразить по каждому каналу оба сигнала х, у

Т.е. получится 48 графиков на станице, масштаб которых можно было бы увеличивать и уменьшеть , на каждом из которых х1,у1; х2, у2 ...х49, у49 просто разным цветом
TSerg
Excel не пробовали?

Число значений необходимо уменьшить до разумного предела каким-либо методом, т.к. все равно больше 1000 пикселей на дисплее уже ни к чему.
Tanya
Цитата(TSerg @ Jan 23 2014, 20:38) *
Excel не пробовали?

Число значений необходимо уменьшить до разумного предела каким-либо методом, т.к. все равно больше 1000 пикселей на дисплее уже ни к чему.

Я вот пробовала Origin'ом тоже длиннющую последовательность. Точно не помню - несколько миллионов. Надо набраться терпения. ТЕРПЕНИЯ. Про пиксели не так уж и важно - масштаб можно менять, но вот смотреть на 49 графиков на одном листе...
Это ж какие нужно иметь глаза? И несущую их голову.
Александр77
Насколько понимаю, в ЭЭГ важно иметь возможность именно одновременно наблюдать множество кривых.
Решение наверное только одно: разбить область отрисовки на нужное число зон (49 в этом случае), каждую кривую привести к поддиапазону и отображать со смещением.
_4afc_
Цитата(Iriwka @ Jan 23 2014, 16:33) *
У нас есть 2 массива данных:
х -сигнал, размерность 49х144384
y- отфильтрованный сигнал , размерность 49х144384
по одному значению (каналу) соответсвует 144384 значения-для одного канала одна строка
Необходима графически отобразить по каждому каналу оба сигнала х, у

Т.е. получится 48 графиков на станице, масштаб которых можно было бы увеличивать и уменьшеть , на каждом из которых х1,у1; х2, у2 ...х49, у49 просто разным цветом


Если вы хотите на одном графике вывести 2 переменных разными цветами, то пишете:

figure; hold on; plot(x,'r');plot(y,'g');legend('x','y');hold off;

Если надо на одной фигуре несколько графиков друг под другом - добавляете перед графиком
subplot(49,1,1); ... subplot(49,1,49);

Только даже 8 графиков друг под другом по моему уже не информативны.
shf_05
вам нужно что-то вроде этого?
в матлабе можно вывести множество графиков при помощи subplot, как советует _4afc_, но вот еще вопрос - при измененииоси X(Y) на одном из графиков, остальные графики должны изменять положение области просмотра, масштаб, и.т.п.
Т.е. как соотносить картинки друг с другом при изменении областей просмотра, развернуть одну из картинок на весь экран тоже не получится.
_4afc_
Цитата(shf_05 @ Jan 24 2014, 15:31) *
в матлабе можно вывести множество графиков при помощи subplot, как советует _4afc_, но вот еще вопрос - при измененииоси X(Y) на одном из графиков, остальные графики должны изменять положение области просмотра, масштаб, и.т.п.


Наверно надо применить ко всем новые параметры например:
subplot(49,1,1); axis([10 100 -1 1]);
subplot(49,1,2); axis([10 100 -1 1]);
...
subplot(49,1,49); axis([10 100 -1 1]);

Stanislav
Цитата(Iriwka @ Jan 23 2014, 17:33) *
Т.е. получится 48 графиков на станице, масштаб которых можно было бы увеличивать и уменьшеть , на каждом из которых х1,у1; х2, у2 ...х49, у49 просто разным цветом
Слишком большая размерность по столбцам. Ничего толком разобрать будет не можно.
Попробуйте строки оставить все, разбить вдоль столбцов на страницы меньшей длины, и в таком виде выводить на экран.
Код
Len=500;
Wid=49;
M=rand(Wid, Len)-0.5;
b=ones(1,25);
M=filter(b,1,M,[],2);

N=M/4 + kron((1:Wid)',ones(1,Len));

figure (1)
plot(N')
ylim([-1 51])

figure(2)
pcolor(M)
shading flat

figure(3)
mesh(M)

clear all

Можно организовать интерактивное перелистывание, чтобы бегать по массиву туда-сюда.
Отдельные картинки для каждого канала, или субкартинки, МСМ, лучше не делать.
Если всё же решите, разбейте массив на 7 частей по 7 строк.
shf_05
Цитата(_4afc_ @ Jan 24 2014, 21:01) *
Наверно надо применить ко всем новые параметры например:
subplot(49,1,1); axis([10 100 -1 1]);
subplot(49,1,2); axis([10 100 -1 1]);
...
subplot(49,1,49); axis([10 100 -1 1]);

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