홀수 정수를 계산하려면 어떻게 모듈러스 함수를 사용합니까?MATLAB : 홀수 정수를 합산하기위한 모듈러스 함수
나는 이상한 정수를 볼 수는 있었지만 함께 모을 수는 없었다. 내가 제대로 질문을 해석하고 경우
홀수 정수를 계산하려면 어떻게 모듈러스 함수를 사용합니까?MATLAB : 홀수 정수를 합산하기위한 모듈러스 함수
나는 이상한 정수를 볼 수는 있었지만 함께 모을 수는 없었다. 내가 제대로 질문을 해석하고 경우
, 당신은 홀수 정수 합계를 계수 기능 을 사용하지 않지만, 당신은 당신이 홀수와 합을 결정 도움말을 계수 기능을 사용하려면 홀수 인 인 데이터 세트의 해당 숫자 만 입니다. 언뜻보기에 이것을 읽으면 모듈러스 함수 과 모듈러스 함수 만을 합계 값으로 사용하려는 것처럼 들리므로 혼란 스럽습니다.
data
이라는 벡터에 정수가 있다고 가정 해 보겠습니다. 할 수있는 일은 정수가 홀수인지 여부를 확인하려는 경우 2로 나눈 나머지 값이 1 (즉, num mod 2 == 1
)인지 확인합니다. 홀수의 정의를 생각해보십시오. 즉, 임의의 정수를 취할 수 있으며 숫자가 2k + 1
으로 표시 될 수있는 정수 k
을 찾을 수 있도록 나타냅니다. 따라서 2를 기본으로이 숫자의 모듈러스를 취하면 대답으로 1을 얻게됩니다. 이 은 음수에을 적용하지 않습니다. 모듈로 기능이 위치를 사용하여 데이터를 요약하면 1.
는, 이러한 내가 당신이 할 것을 제안하는 단계입니다. 여기
function sumOdd = sumOddNumbers(data)
%// Step #1
ind = mod(data, 2) == 1;
%// Step #2
sumOdd = sum(data(ind));
우리는 우리가 할 수 있도록하는 함수를 만들 : 여기
data
을 지정하면 출력 (sumOdd
)에 홀수의 합이 포함됩니다. 따라서이 코드를 가져와 새로운 .m
파일에 저장하십시오. 또한 전화 번호는 sumOddNumbers.m
입니다. 다음으로 작업 디렉토리를이 파일을 저장 한 위치로 설정하십시오. 이제 data = 1 : 10; %// Create an array going from 1 to 10
sumOdd = sumOddNumbers(data); %// Answer should be 25... why?
대답은 그냥 홀수 정수를 얻기 위해 인덱싱을 사용할 수있는 25
ind = mod(data, 2) == 1; %// Should give us an array s.t. [1 0 1 0 1 0 1 0 1 0]
sumOdd = sum(data(ind)); %// Should sum over the following array [1 3 5 7 9]
%// Answer is 25
이제 알았습니다. 고맙습니다. 질문이 하나 더 있는데, 사용자 입력을 어떻게 처리할까요? – user3654953
간단합니다. 그것을 기능으로 바꾸십시오. 내 게시물을 수정하겠습니다. – rayryeng
감사합니다. 정말 감사. – user3654953
이유의 단계로 함수 단계를 가서 보자 :
의이 간단한 예를하자 'sum'을 사용하십시오. 지나치게 복잡하게 된 '모드'에 대해서는 이해하지 못합니다. – Divakar
@Divakar : 당신은 내 마음을 읽었습니다 : P – rayryeng
@rayryeng 나는 이것을 사람들에게합니다. D – Divakar