본문바로가기
주니어폴리매스 문제
문제를 찾고 일반화하세요!
[주니어폴리매스 문제] 코딩으로 '함수와 그래프' 정복하기
수학동아 2019.09.04

 

코딩 수학 9번째 시간입니다. 다들 코딩을 이용해 수학 문제를 효율적으로 풀고 계신가요? 간단한 수학 문제는 손으로도 풀고 코딩으로도 풀 수 있지만, 실생활 문제나 어렵고 복잡한 함수가 포함된 수학 문제는 손으로 풀기 어려운 경우가 많아요. 코딩을 활용하면 쉽게 해결할 수 있으니 열심히 익히고 활용해 보세요~. 

코딩 명령어를 익힌 뒤에는 해당 코딩 명령어로 풀 수 있는 수학 문제를 찾아 댓글로 달고 친구들과 토론해 보세요!

 

 

 

 

관계를 나타내는 ‘함수와 그래프'

 

 

이번에 코딩으로 정복해 볼 수학 개념은 ‘함수와 그래프’예요. 함수는 두 변수의 관계를 나타낸 것으로, 이 두 변수가 x, y라면 xy 좌표를 이용해 그래프로 표현할 수 있어요. 좌표 개념을 처음 도입한 사람은 17세기에 활동한 프랑스의 철학자이자 수학자 르네 데카르트입니다.  데카르트는 저서 <기하학>에서 x축을 그린 뒤 기울기를 이용해서 (x, y)를 나타냈어요. 현재 우리가 쓰는 xy 좌표와는 조금 다른 모습이지만, 이것이 현재까지 알려진 가장 오래된 좌표에 대한 기록이에요.

 

 

좌표평면과 함수의 그래프를 처음 연구한 르네 데카르트(1596~1650).

 

 

함수를 이해하려면 먼저 ‘변수’가 무엇인지 알아야 합니다. 변수는 정해진 값이 아닌 계속 바뀌는 값으로, 보통 xy 같은 문자로 나타냅니다. 이때 y=x+1처럼  x에 어떤 값을 대입하고 그 값에 따라 y 값이 결정되면 xy는 서로 관계가 있는 겁니다.

이때 y 값이 딱 하나로 결정되는 관계가 바로 함수입니다. 보통 함수는 등호 오른쪽의 관계를 나타내는 식을 f(x)로 적어 y=f(x)로 나타내고, x 값과 이에 대응하는 y 값을 순서쌍으로 나타내 좌표평면에 모두 점으로 나타낸 그림을 함수의 그래프라고 해요.

 

h

h

함수는 관계를 나타내는 식의 생김새에 따라 이름을 붙이는데, 는 최고차항의 차수가 1이므로 일차함수, 는 최고차항의 차수가 2이므로 이차함수 그리고 은 최고차항의 차수가 3이므로 삼차함수라고 합니다. 이번 호에서는 함수의 그래프를 그려주는 코딩 명령어를 이용해 다양한 함수의 그래프를 좌표평면에 쉽게 그려보도록 해요!

 

 

 

 

 

.

.

.

.

.

 

함수와 그래프

함수와 그래프

함수와 그래프

var, plot, show

 

 

함수을 지정하고 그 그래프를 그리는 코딩 명령어는 다음과 같다. 명령어의 구조를 이해한 뒤 Sage 코딩창에 명령어를 입력해 함수의 그래프를 그려보자.

 

 

 

<1> 명령어 살펴보기

 

수식에서 특정한 수만 바꿔가며 계산하려면 var(‘’) 명령어로 바뀌는 수를 변수로 지정하자. var(‘x’)로 변수를 1개 지정하고 수식을 3*x+2로 바꾸면, x값만 입력해도 결과가 나온다. 변수의 알파벳은 x가 아니어도 되고 변수가 여러 개면 ‘’ 안에 쉼표로 구분해 입력한다. 

 

3X1+2,  3X2+2,  3X3+2,  …

var('x')

 

 

❷ 좌표평면에 함수의 그래프를 그리려면 함수식을 만족하는 xy의 순서쌍 (x, y)를 점으로 찍어 이어야 한다. plot() 명령어의 괄호 안에 함수식과 (변수, 범위의 시작, 범위의 끝)을 쉼표로 구분해 적자. 이 명령어를 y=plot(f(x), (x, a, b)처럼 하나의 값으로 지정해 함수 y=f(x)를 입력한다. show(y)를 입력하면 그래프를 볼 수 있다.

 

 

plot(f(x), (x, a, b))

 

 

 

<2> Sage에서 명령어 실행하기

 

 

 

 

※ 아래 다양한 함수 명령어를 참고해 입력해보세요!

  • 무리함수→  sqrt(x)
  • 삼각함수→  sin(x), cos(x), tan(x)
  • 지수함수→  e^x
  • 로그함수→  log(x)

 

 

 

<3> 교과 연계 코너

 

기울기가 m인 모든 직선은 함수 y=mx 의그래프를 평행이동해서 구할 수 있다. 어떤 함수를 x축으로 a칸, y축으로 b칸 옮긴 함수는 원래 함수에서 x 대신 x-a, y 대신 y-b를 대입해 얻을 수 있다. 일차함수는 x축과 y축 중 한 방향으로만 이동해도 된다. 즉 x, m, a를 변수로 지정하고 plot 명령어의 함수식에 m*(x-a)를 입력한 뒤 ma 값만 바꾸면 모든 직선을 그릴 수 있다.

 

 

 

 

 

-----------------------

 

★도전 문제☆

 

① 한 연구에 따르면 초등학생의 일주일 평균 아침 식사 횟수가 1회 증가하면 수학 점수가 약 0.56점 높아지고 중학생은 약 0.47점 높아진다. 이를 함수로 나타낸 뒤, 아침 식사를 한 번도 하지 않던 학생이 10주 동안 아침 식사를 거르지 않았을 때 수학 점수가 몇 점이 오를 수 있는지 살펴보자.

 

 

 

var, plot, show 명령어로 해결할 수 있는 문제를 찾아 폴리매스 홈페이지에 올리고 친구들과 토론해보자.

 

 

 

-끝-

 

 

 

 

  •  
    je Lv.1 2019.09.05

    쉽게 이해할수 있어서 재밌게 공부할 수 있어서 좋아요ㅎㅎ 수학공부를 더 열심히 할 수 있게 아침을 꼭 먹어야 겠어용~!!

    댓글 작성하기 좋아요0 댓글수0
  •  
    이용현 Lv.1 2019.09.05

    수학에서 가장 중요한 함수를 코딩으로 배울 수 있어서 좋은 것 같습니다 ㅎㅎ 
     

    아침과 성적을 동시에 챙겨보도록 노력해야겠어요 ^^

    댓글 작성하기 좋아요0 댓글수0