2014-10-18 3 views
1

다른 큰 크기의 벡터가 있고 그 값은 01 사이입니다. 10 진수로 변경 될 요소의 인덱스를 저장하고 싶습니다. 작은 예를 들어,MATLAB : 벡터 요소의 변경

 i={2,4,5} 

당신이 날은 그것을 할 수있는 방법을 알려 주시기 바랍니다 것처럼

 V=[0.02,0.1,0.4,0.0054,0.05]; 

지금이의 ouptput가해야 가정 해 봅시다?

+2

에 비교할 수 있습니다 정수 값을 가지고 바닥을 사용하십시오 ', 결과물로 충분합니다. – Nemesis

+0

@ 천적 그 대답을하십시오. 그리고'~ = 0'을 삭제할 수 있습니다. –

답변

0

@Luis Mendo가 제안한대로 (~ = 0을 제거한 제안 포함)), 여기에 답변으로 대답. 대수 함수를 사용하여 소수점 이하 자릿수를 결정할 수 있습니다.

i = find(diff(floor(log10(V))))+1 

하면 사용할 때 아마`(차이 (층 (LOG10 (V))) ~ = 0) +1 찾기가 0

0
count = arrayfun(@(x) regexp(num2str(x),'\.','split'),V, 'UniformOutput', false) 
dp = cell2mat(arrayfun(@(x) length(x{2}),count, 'UniformOutput', false)) 
find(diff(dp))+1 

나는 이렇게했다. 먼저 번호를 분리하고 두 번째 용어의 길이를 찾은 다음 길이가 이전과 다른지 확인합니다.