다른 큰 크기의 벡터가 있고 그 값은 0
과 1
사이입니다. 10 진수로 변경 될 요소의 인덱스를 저장하고 싶습니다. 작은 예를 들어,MATLAB : 벡터 요소의 변경
i={2,4,5}
당신이 날은 그것을 할 수있는 방법을 알려 주시기 바랍니다 것처럼
V=[0.02,0.1,0.4,0.0054,0.05];
지금이의 ouptput가해야 가정 해 봅시다?
다른 큰 크기의 벡터가 있고 그 값은 0
과 1
사이입니다. 10 진수로 변경 될 요소의 인덱스를 저장하고 싶습니다. 작은 예를 들어,MATLAB : 벡터 요소의 변경
i={2,4,5}
당신이 날은 그것을 할 수있는 방법을 알려 주시기 바랍니다 것처럼
V=[0.02,0.1,0.4,0.0054,0.05];
지금이의 ouptput가해야 가정 해 봅시다?
@Luis Mendo가 제안한대로 (~ = 0을 제거한 제안 포함)), 여기에 답변으로 대답. 대수 함수를 사용하여 소수점 이하 자릿수를 결정할 수 있습니다.
i = find(diff(floor(log10(V))))+1
하면 사용할 때 아마`(차이 (층 (LOG10 (V))) ~ = 0) +1 찾기가 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
나는 이렇게했다. 먼저 번호를 분리하고 두 번째 용어의 길이를 찾은 다음 길이가 이전과 다른지 확인합니다.
에 비교할 수 있습니다 정수 값을 가지고 바닥을 사용하십시오 ', 결과물로 충분합니다. – Nemesis
@ 천적 그 대답을하십시오. 그리고'~ = 0'을 삭제할 수 있습니다. –