Create a logical vector
조회 수: 81 (최근 30일)
이전 댓글 표시
Hi All,
I have a cell array, where each cell in the first row contains a double of various lengths. Each double corresponds to sample numbers where a spike occurs (from a neuron - variable called cluster_split). I also have created an array of 0's the length of signal I am interested in (variable called LFP). I would like to index across each double (i.e.: cluster_split{1,1}) and create a logical vector of 1's and 0's.
For example, if in cluster_split{1,1} there is a value equal to 2502 (corresponding to sample 2502 in the LFP vector), then Matlab would output a 1 to the LFP array. I would like to create a separate "LFP" file for every double in the cluster_split cell array.
Thanks in advance for the help!
PK
댓글 수: 0
채택된 답변
Adam Danz
2018년 8월 2일
편집: Adam Danz
2018년 8월 2일
Does this help?
LFP = false(1, 3000);
LFP(2500) = true;
If LFP is at millisecond resolution and a spike occurs at 2500 milliseconds, you'll see a 1 in position 2500. Since I used true/false the vector is logical.
댓글 수: 9
Adam Danz
2018년 8월 3일
편집: Adam Danz
2018년 8월 3일
Does each array cluster_class{n} have the same size? In other words, are all cell arrays stored in cluster_class the same length? If so, this code can be simplified.
In any case, what is the value of 'clusters'? I think what you want is something like this
LFP = false(length(cluster_class), test);
for i = 1:length(cluster_class)
LFP(cluster_class{i}) = true;
end
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Behavior and Psychophysics에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!