이번 포스팅에서는 MATLAB 의 내장 함수 중 primes(), isprime()에 대해 알아보고, 소수인지 판별해주는 함수를 직접 작성해 보겠습니다.

 

  • 내장 함수 중 소수를 생성해주는 함수로는 primes(n) 라는 함수가 있습니다. 이 함수는 n 보다 작은 소수를 생성해 줍니다.

 


아래 예는 primes() 함수를 사용하여 30보다 작은 소수들을 생성한 것입니다.

 

 

  • 소수인지 판별하는 함수는 isprime(K) 라는 함수가 있습니다. 이 함수는 K 가 소수면 1 아니면 0을 반환하게 됩니다.

 

사용법은 다음과 같습니다.

 

 

  • 그럼 이제 소수인지 판별하는 함수를 직접 코딩 해 보죠. 함수 이름은 My_isprime() 이라 해 보죠.

 

제가 짠 함수는 아래와 같습니다.

 

일단 벡터나 매트릭스 입력에 대해서도 동작하게 하기 위해서 for ~ end 문이 두 개가 들어 갔고요.

 

 

다른 부분들은 주석을 보시면 쉽게 아실 수 있을 겁니다.

 

그런데 위 코드에서 주의 하실 점이 있습니다.

 

바로 빨간색 네모 부분인데요.

 

if 문의 조건이 벡터나 매트릭스 일 때는 모두가 참이어야 if 문 안의 코드가 실행 된다는 것을 염두에 두셔야 합니다.

 

아래 예 같은 경우에는 1 이 2보다 작으니깐 2보다 큰 수를 넣으라고 에러를 발생시키죠.

 

 

2 이상의 값을 넣으면 matrix 입력에 대해서도 정상적으로 동작하는 것을 확인 할 수 있습니다.

 

 

 


+ Recent posts