Can anyone please explain me this line of a code?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
jasmine
el 7 de Jun. de 2019
Comentada: jasmine
el 7 de Jun. de 2019
probability = arrayfun(@(x) mean(audR(audR(:,1)==x,2)==2) , contrast);
5 comentarios
Adam Danz
el 7 de Jun. de 2019
Editada: Adam Danz
el 7 de Jun. de 2019
Ahhh... yeah it's an array (blush).
audR(:,1)==x %this produces a logical index marking rows of the first
%column of audR that match the input value 'x'
audR(audR(:,1)==x,2) % for each of those rows from the comment above,
% you're extracting the data from the second
% column of audR.
(audR(audR(:,1)==x,2)==2) %and finally, you're determining whether those
% values are equal to 2.
Here's an example you can execute line by line to see what's going
% Produce fake data
audR = [[1;1;2;2;3;3],[1;2;1;2;1;2]];
x = 2
audR(:,1)==x
audR(audR(:,1)==x,2)
(audR(audR(:,1)==x,2)==2)
Respuesta aceptada
Stephen23
el 7 de Jun. de 2019
Editada: Stephen23
el 7 de Jun. de 2019
If audR is a matrix, then
audR(audR(:,1)==x,2)==2
% ^^^^^^^^^ % first column of audR
% ^^^ % ... is equal to x.
% ^^^^^^^^^^^^ % used as a logical index into the rows of audR
% ^ % second column of audR
% ^^^ % ... is equal to 2.
So the code takes the rows of audR where the first column equals x, and checks if their second column equals 2.
1 comentario
Más respuestas (0)
Ver también
Categorías
Más información sobre Whos en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!