Can I use boolean of a variable on a column of another variable
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Femke R
el 6 de Oct. de 2020
Comentada: Femke R
el 7 de Oct. de 2020
Hi,
I'm new here to mathworks so I apologise if I don't give all the relevant information right away.
Say I have the variables target(range 1:4) and response(matrix with 10000x16 values)
I want to iterate through each response column and extract the values linked to a specific target and add them to a different vector (Like response(target==2) but for each column seperately)
Right now I have something like:
Resp=[]
For i=1:16
Resp=[Resp, response(:,i)(target==2)]
End
This doesn't work. How can i rewrite it?
0 comentarios
Respuesta aceptada
Más respuestas (1)
Peter O
el 7 de Oct. de 2020
Hi, to confirm/rephrase, you're looking to extract 16 separate arrays, each one corresponding to the case where the response matches a target value? If so:
% Setup
target = 1:4;
response = randi(max(target),10000, 16); % Dummy data
% Get 16 different variables, one for each column.
% Because the variables are of potentially different lengths, you'll need to assign them to a cell array.
V = cell(16,1);
my_target = 2;
for ix=1:16
V{ix} = response(response(:,ix) == my_target, ix);
end
Ver también
Categorías
Más información sobre Performance and Memory 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!