Лаборатория нейрофизиологии когнитивной деятельности MatLab
Институт возрастной физиологии РАО

Конспекты лекций по MatLab

clc - очистить экран

clear - очистить память

clear (name1,name2,..) - очистить переменную

whos - показать все переменные в памяти

 

help elfun - список всех функций (тригонометрических, экспоненциальных, комплексных, скругленных и остатков)

 

help + -список математических и логических функций

 

отношения (< <= => > ~=[не равно] ==[равно]) - в случае верности значение становится равным единице, если нет- нулю

[ a=1; b=2; c=3

res=(a<b)+(c~=b)+(b == a) ]

 

fopen

fclose

fprint

 

вытаскивание из таблицы

Plot (mtx(:,1),mtx(:,3))

: - все строки

1 - первый столбик

Ginput - graphic input (определение координат точки, для определения пика)

 

ANS - answer (текущая переменная, если не задана другая)

 

find(mtx(:,end) == 1)

найти в последнем столбце матрицы числа равные 1це и вывести порядковый номер этой строки

 

peremennaya = find(mtx(:,end) == 1)

присвоить peremennaya значения найденных номеров строк

 

peremennaya(n) - выдает число под номером n в этой переменной

 

per=1:3:12 - создает одномерный массив от 1 до 12 с шагом 3

 

x(:) - превращает матрицу в столбец

 

diff - выдает разницу между 1-2,2-3,3-4,.. элементами (2 минус 1, 3 минус 2)

 

length(per) - выдает длинну масива

 

hold on;

не стирать график (с которым работаем)

 

qcf - переменная окна рисунка

acf - данные системы координат

qca - хендлер окна

get(qca) - выдает все данные окна

set(qca, 'xLim', [0, 45000], 'yLim', [0, 45000]); - установить параметры, полученные из get(установить длинну координат)

set (gca, 'Xtick', [0:10]) - указывает что на графике нужно подписать числами координаты X от 0 до 10 (для красоты и удобства)

'XtickLabel'

axis square; - сделать рисунок пропорциональным

subplot - нарисовать графики в одном окне

 

 

y=x.*z - точка означает,  что действие применяется не ко всему вектору (матрице), а к каждому элементу.

 

function rabota - можно создать готовый скрипт, обозвать и в дальнейшем просто вызывать по имени, не выписывая все действия еще раз.

/

xp=x_power(x,3);

e; plot(x,xp,'-k')

 

funltion xp = x_power(x,p);

xp=x.^p

-----

Пример:

Файл по выборке движения глаз, где отбираются пары начала и конца движения глаз

% test_trj

mtx1=load(fname);

ind_1=find(mtx1:,end) == 1);

ind_2=reshape(ind_1, 2, []);

ind_3=ind'

nn=length (ind_3);

 

for count= 1:nn

t1=mtx1(ind_2(1, count),2);

t2=mtx2(ind_1(2, count),2);

tt1(count)=t2-t1;

end

 

-----

вытащить первый столбик и найти те строчки, где числа перескакивают больше чем на единицу

 

dd=diff(matrix(:,1));

razryv=find (dd ~= 1)

matrix2=matrix (1:razryv(1),:);

matrix2=matrix (razryv(1):razryv(2),:);

matrix2=matrix (razryv(2):end,:);

 

% ----- 9.10.06

Plot 

Randn(100,1) - белый гаусовский шум в районе нуля с

; - позволяет писать несколько функций на одной строчке

abc(x) - абсолютная величина

 

Plot(x, y, 's') где x,y- столбцы, 's'- особенности картинки графика

pcolor(x) - строит цветную матрицу

surf(x) - строит цветную поверхность с высотами

 

gca - возможные особенности осей, которые мы можем изменять. get(gca) - узнать список параметров, которые можем менять. set(gca, 'XLim',[-4, 4], 'YLim', [-4 4]) - установит параметры

close all - закрыть все открытые окна фигур.

y(10) - показывает десятый элемент матрицы y

ind = find (y > 0) - найти индексы y больше нуля

find(y > 0 & y < 1) - И

find(y > 0 | y < 1) - ИЛИ

 

Пример:

ind_positive_y= find (y > 0)

ind_negative_y= find (y < 0)

 

y_positive = y(ind_positive_y)

y_negative = y(ind_negative_y)

 

x_positive = x(ind_positive_y)

y_negative = x(ind_negative_y)

 

figure

plot(x_positive, y_positive, '+r'); hold on;

plot(x_negative, y_negative, '^b); hold off;

 

%------ 16.10.06

set(gca, 'XLim', [4, 4]) - установить границы оси X

 

mtx = load(file_name) - загрузить файл

 

hist (Y) bins - строит график гистограммы, по умолчанию находит min и max и разбивает на 10 частей (bins)

 

disp('a') - печатает 'a' в окне

 

text = 'abc'; text(1) - выводит первую букву текстовой переменной

 

Пример:

Glo_mtx = load (file);

colors= 'rgb';

figure;

 

for k = 1:size(Glo_mtx,2)

plot(Glo_mtx(:,k),['o',colors(k)]);

hold on;

end

-----

 

subplot (m,n,p) - строит графики на одном холсте с заданным кол-вом графиков по строкам и столбцам (m,n) и встаем на конкретный (p)

for k =1:15

subplot (3,5,k)

end - строим набор графиков по одному

 

C= {2, 'a'} - объединяет разнородные элементы

C{2} - выдает значение ячейки: a

C(2) - выдает содержимое ячейки: 'a'

 

x= ('a', 'b' ...

'c') - троеточие позволяет переносить на другую строку если не влезает

 

%------ 23.10.06

 

ischar(x) - проверяет, является ли эта переменная текстом или числом (1- число,

 

hist - гистограмма

 

bar - строит график в виде столбиков

 

area - закрашивает заданный диапазон под кривой

 

whos показывает что  хранится в памяти Matlab на данный момент (все переменные в памяти)

 

Структура: help struct

A.nmb = 10 - nmb это один из компонентов структуры A.

 

% --- 30.10.06

 

C:/Matlab/work/Startup.m - всегда выполняется при загрузке

 

addpath(genpat('c:/mat_path/')) - добавляет путь к файлам с поддиректориями (на 1 сеанс работы с MatLab)

 

Содержимое файла *.EEG как его видит MatLab

eeg_info - структура, содержащая:

.SamplingRate - частота оцифровки

.Units_in_mkv - кэфициент пересчета чисел из *.eeg, чтобы получит реальные микровольты

.rf_label - показывает какие электроды были референтными

N_of_vectors - столько раз были записаны векторы событий /по 1-ому в 4мс (если поделить на частоту оцифровки, то получим время)

.Ev_supp - события из программы Дъяченко:

RecordBeg - момент начала записи нового блока

event_vector - момент события

event_comment - комментарий к этому событию (то, что у вас написано в строке Дъяченко блока в момент постановки метки)

  Создание и поддержка: Синицын Сергей NeurodevLabGmail.com