이의이 array a=[1,3,8,10,11,15,24]
및 logical array b=[1,0,0,1,1,1,0,0,0,1,1,1,1,1]
을 가정 해 봅시다, [1,1,3,1,3,8,1,3,8,1,2,3,8,10]
을 얻는 방법을 참조, a
재설정의 배열 인덱스 그것은 처음부터 같은 곳을 시작 있도록 논리는 처음부터 0 a array
시작되고 b
변경 후 a
에 대한 인덱스를 생성하는 arrayfun
을 사용하는 경우matlab에
Q
matlab에
2
에서 논리 배열에 배열을 매핑
A
답변
1
1,3,8,10..etc.
당신이 찾을 diff
을 사용할 수 있습니다 계속 :
a=[1,3,8,10,11,15,24];
b=[1,0,0,1,1,1,0,0,0,1,1,1,1,1];
idxs = find(diff(b) ~= 0) + 1; % where b changes
startidxs = [1 idxs];
endidxs = [idxs - 1,length(b)];
% indexes for a
ia = cell2mat(arrayfun(@(x,y) 1:(y-x+1),startidxs,endidxs,'UniformOutput',0));
res = a(ia);
1
하면 루프를 사용하고 b
어레이 상태 (또는 0
1
) 추적 할 수
a = [1,3,8,10,11,15,24];
b = [1,0,0,1,1,1,0,0,0,1,1,1,1,1];
final = []
index = 0;
state = b(1);
for i = 1:numel(b)
if b(i) ~= state
state = b(i);
index = 1;
else
index = index+1;
end
final = [final, a(index) ];
end
을
관련 문제
- 1. matlab에
- 2. matlab에
- 3. matlab에
- 4. matlab에
- 5. matlab에 :
- 6. matlab에 :
- 7. matlab에,
- 8. matlab에
- 9. matlab에
- 10. matlab에
- 11. matlab에
- 12. matlab에
- 13. matlab에
- 14. matlab에
- 15. matlab에 -
- 16. matlab에
- 17. - matlab에
- 18. matlab에
- 19. matlab에
- 20. matlab에
- 21. matlab에
- 22. matlab에
- 23. matlab에
- 24. matlab에
- 25. matlab에 :
- 26. matlab에 -
- 27. matlab에 -
- 28. matlab에
- 29. 나는 다음과 적분을 계산하는 matlab에 사용하고 matlab에
- 30. 어떻게 matlab에