Can I use boolean of a variable on a column of another variable
조회 수: 4 (최근 30일)
이전 댓글 표시
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
채택된 답변
추가 답변 (1개)
Peter O
2020년 10월 7일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Performance and Memory에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!