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

 

 

만나서 반가워요! '코딩 수학' 연재를 맡은 이재윤 연구원입니다. 이번 달부터 폴리매스 친구들에게 코딩 명령어와 문제를 하나씩 소개할 거예요. 코딩을 이용하면 불필요한 시간 낭비를 줄일 수 있어 수학 문제를 효율적으로 풀 수 있으니 열심히 익혀 문제 풀이에 활용해보세요~.

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

 

 

 

울퉁불퉁한 면적의 넓이를 구하는 '적분'

 

 

처음 코딩해 볼 수학 개념은 고등학교에서 배우는 ‘적분’입니다. 그 유명한 '미분과 적분'의 한축을 담당하고 있는 어려운 개념이지요. 적분은 어떤 함수 f(x)의 그래프가 x축과 이루는 영역의 넓이를 구하는 수학 개념으로 \int_{a}^{b}f(x)dx로 나타냅니다.

s자를 쭉~ 늘려놓은 듯한 \int_{}^{}은 '적분을 시작한다!'는 기호고 작게 붙어있는 a(시작)와 b(끝)는 x축 위의 어떤 구간에서 넓이를 구할 건지 나타냅니다.  dxf(x)에서 x가 특정 수가 아닌 '변수'라는 뜻이지요. 그렇다면 함수의 그래프와 x축이 이루는 영역의 넓이는 어떻게 구할까요?

보통 함수의 그래프와 x축이 이루는 영역은 울퉁불퉁해서 삼각형이나 사각형처럼 공식을 이용해 구하기 어렵습니다. 그래서 이 울퉁불퉁한 영역을 밑변의 길이가 같고 높이가 다른 여러 직사각형으로 쪼갠 뒤(아래 왼쪽 그림) 이 직사각형들의 넓이를 모두 더해 넓이를 구합니다. 직사각형은 각진 모양이어서 원래 영역에 정확히 들어맞지 않지만, 아~주 잘게 쪼개면 원래 영역의 넓이와 가까워집니다.(아래 오른쪽 그림)

 

 

함수의 그래프와 x축이 이루는 영역(청록색)의 넓이를 구하기 위해 이 영역을 직사각형(빨간 선)으로 쪼갠다. 잘개 쪼갤수록 오차가 줄어든다.

 

 

적분은 실생활에서 무궁무진하게 쓰입니다. 예를 들어 적분을 이용하면 굉음을 내며 쏘아올린 우주선의 고도를 구하려면 직접 재지 않아도 됩니다. 물체가 이동한 거리는 물체의 속도와 걸린 시간을 곱해서 구할 수 있으니 시간-속도 함수를 적분하면 되거든요. 

문제는 원리에 비해 넓이를 수학적으로 계산하는 건 꽤 어렵다는 점입니다. 함수가 복잡하면 각 직사각형의 높이를 구하는 것도 복잡하고, 직사각형을 아주 잘개 쪼개려면 '극한'이라는 수학 개념을 이용해야 하거든요. 다행인 점은 함수와 넓이를 구하는 구간이 달라질 뿐이니 원리를 이해했다면, 매번 일일이 계산할 필요가 없다는 겁니다. 함수와 구간만 입력하면 넓이를 자동으로 구해주는 코딩 명령어를 이용해 적분을 쉽게 계산해 보도록 하죠.

 

.

.

.

코 딩 타 임

 

 

 

 

 

0단계 기초 익히기

 

함수 그래프 그리기

 plot(함수, 변수, 시작점, 끝점)은 함수의 그래프를 그리는 명령어다. 시작점과 끝점은 그래프를 그리고 싶은 x축의 범위를 나타낸다.

P+=line([좌표, 좌표], color='색')은 그래프에 선분을 추가하는 명령어다. 좌표는 선분의 양끝 좌표를 입력하고, 색은 영어로 입력하자. 선분을 추가하기 전에 P=plot(함수, 변수, 시작, 끝)이라고 입력해 그래프에 P라는 이름을 붙이는 걸 잊지 말자.

 

적분값 구하기

 integral(함수, 변수, 시작점, 끝점) 함수의 적분값을 구하는 명령어다. 그래프를 그리는 명령어의 plot을 integral로 바꾸기만 하면 된다. 

 

 

 

1단계 따라하기

 

①먼저 (0, 3) 구간에서 함수 \large f(x)=x^2의 그래프를 그려보자.

 

②(1, 2) 구간에서 함수 \large f(x)=x^2의 그래프와 \large x축이 만드는 영역을 살펴보자.

 

③적분 명령어를 이용해 (1, 2) 구간에서 \large f(x)=x^2\large x축이 이루는 넓이, 즉 적분값을 구하자.

 

 

 

2단계 나아가기

 

아래처럼 함수와 구간을 바꿔보자. 어떤 함수든 적분값을 쉽게 구할 수 있다. 

 

 

 

3단계 마무리하기 _동시에 해보기

 

 

 

 

도전 문제 중심이 (2, 0)이고 반지름의 길이가 1인 반원을 함수로 나타내면 \large \large \large f(x)=\sqrt{-x^2+4x-3}이다. 이 함수와 적분을 뜻하는 코딩 명령어를 이용해 중심(검은 점)으로부터 튜브까지의 거리가 1, 단면의 지름이 2인 튜브의 부피를 구해보자.

 

 

  •  
    디듀우 Lv.5 2019.01.04

    튜브의 위쪽 반 부분만 생각하고 2를 곱해서 풀어 보겠습니다. f(x)=\sqrt{x^2+4x-3}가 반원의 방정식이라고 하셨는데, 튜브를 안쪽부터 원기둥의 옆면처럼 잘게 나눠서 적분하여 부피를 구할 수 있습니다. 원기둥의 옆넓이는 2\pi rh인데 여기서 반지름이 x, 높이는 \sqrt{x^2+4x-3}이니까 2\int_{1}^{3}2\pi x\sqrt{x^2+4x-3} dx가 최종 식이 됩니다. 코딩으로 계산해 올리겠습니다.

    댓글 작성하기 좋아요1 댓글수5
    •  
      디듀우 Lv.5 2019.01.04

      \frac{4}{3}\pi(16\sqrt2 + 21log(6\sqrt2 + 10) - 21log(2\sqrt2 + 6))네요.

      좋아요0
    •  
      김우현 기자 Lv.4 2019.01.07

      앗차, 함수 식에 실수가 있었네요! 중심이 (2, 0)이고 반지름의 길이가 1인 반원은 f(x)=\sqrt{-x^2+4x-3}입니다.crying

      그리고 위 적분식에 관한 코딩 명령어도 함께 부탁해요!! :)

      좋아요0
    •  
      디듀우 Lv.5 2019.01.07

      integral(2*pi*x*sqrt(-x^2+4*x-3),x,1,3)로 코딩해서 답은 2\pi ^{2}가 되네요!

      좋아요0
    •  
      인천 오일러 Lv.1 2019.01.15

      디듀우님 2를 안 곱하신 것 같은데요?

      좋아요0
    •  
      가u스 Lv.5 2019.02.01

      그러면 4\pi ^2겠네요

      좋아요0
  •  
    김우현 기자 Lv.4 2019.01.07

    ※사칙연산 코딩 명령어 살펴보기!

    ①더하기: a+b → a+b

    ②빼기: a-b →a-b

    ③곱하기: a×b → a*b

    ④나누기: a÷b → a/b

    댓글 작성하기 좋아요0 댓글수5
    •  
      디듀우 Lv.5 2019.01.10

      궁금한 점이 있습니다. 수 대신 문자를 넣으면 그 문자를 포함하는 식으로 계산해주나요? 또, 세제곱의 명령어도 알려주실 수 있나요?

      좋아요0
    •  
      TOPIARY Lv.1 2019.01.10

      제곱 명령어는 n^2, n^3 .......등이 아닐까요?

      좋아요0
    •  
      김우현 기자 Lv.4 2019.01.13

      디듀우 친구 좋은 질문이에요! 숫자 대신 문자를 넣어서 함수를 적분한 식을 찾으려고 하는거죠?

      단순하게 생각하면 integral(x^2, x, 1, 2)에서 1, 2를 각각 a, b로 바꾸면 될 것 같지만, 그 전에 a, b가 '변수'라는 걸 컴퓨터에게 알려줘야 합니다. 그러지 않으면 a, b를 상수로 인식해서 오류가 납니다. 상수를 적분 구간에 넣을 수 없거든요.blush

      좋아요0
    •  
      김우현 기자 Lv.4 2019.01.13

      어떤 문자가 '변수'임을 선언하는 명령어는 var('문자')입니다. var★ 명령어에서 문자 좌우에 '를 붙이는 걸 명심하세요!

      var('a')

       

      즉, 위에 나온 적분값을 문자로 표현하려면 아래처럼 적으면 되겠죠? 코딩창에 아래 명령어를 복사해 붙여넣은 후 Evaluate 버튼을 눌러보세요!

      var('a')

      var('b')

      integral(x^2, x, a, b)

      ★var은 variable(변수)의 약자예요!

      좋아요0
    •  
      김우현 기자 Lv.4 2019.01.13

      ※거듭제곱 코딩 명령어 살펴보기!

      ab → a^b

      ①b가 분수인 경우 괄호를 해주세요! 예) 2^{\frac{1}{2}} → 2^(1/2)

      ②b=\tiny \frac{1}{2}이면 sqrt로 표시가 되며, sqrt는 제곱근(\small \sqrt{a})을 뜻하는 코딩 명령어는 입니다!

      ★sqrt는 square root(제곱근)의 약자예요!

      좋아요0
  •  
    codename Lv.1 2019.01.11

    궁금한게 있는데요.

    지금 위의 예제는 언제까지나 평면에 국한되어 있잖아요.

    그런데 문제는 3차원 상의 도형의 넓이를 구하라고 하고 있는데요.

    그렇다면 저 튜브를 바닥과 평행하게 잘게 잘라서 그것들을 모두 더해야하나요?

    또한 그것들을 어떻게 더할 수 있나요?

    그것을 더할 때에 삼각함수 값을 이용해서 그 사이 마다의 평균값으로도 오차가 없나요?

    적분을 몰라서 너무어렵네요.

    댓글 작성하기 좋아요0 댓글수2
    •  
      여백 패르마 Lv.1 2019.01.12

      음...이 문제는 적분을 알지 못하면 문제 이해조차도 힘들기 때문에, 적분을 먼저 알고 오시는 것이 어떨가 합니다. 

      좋아요0
    •  
      김우현 기자 Lv.4 2019.01.13

      좋을 질문이에요, codename 친구!

       

      3차원 도형의 넓이(정확하게는 부피!)는 2차원 도형의 넓이를 쌓아서 구한다는 걸 떠올려 보세요. 예를 들어, 원기둥의 부피는 원의 넓이(\small \pi r^2)를 높이(\small h)만큼 쌓아서 구하지요.(\small \pi r^2h문제에 나온 튜브도 잘~ 쪼개면 비슷한 방식으로 구할 수 있을 거예요. 바닥과 평행하게 자르면 자른 조각들이 복잡한 모양이니 다른 방향으로 잘라보면 어떨까요?smiley

      좋아요0
  •  
    Matrix Lv.1 2019.01.13

     

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

    엔지니어가 될 학생들은

    아래 21세기 디지털 세대를 위한 <최신 공학수학>  에서 여기서 배운 코딩 수학이 실제 대학에서는 어떻게 사용되는지 볼 수 있습니다.

    http://www.hanbit.co.kr/EM/sage/  (Math & Coding 특징을 보여주는 실습실) - 크롬 브라우저

    http://www.hanbit.co.kr/book/look.html?isbn=979-11-5664-209-1

    http://www.hanbit.co.kr/preview/4210/sample.pdf
    http://www.hanbit.co.kr/preview/4209/sample.pdf

    댓글 작성하기 좋아요0 댓글수0
  •  
    Matrix Lv.1 2019.01.13

    미적분 이란?

    http://matrix.skku.ac.kr/Calculus-Story/index.htm

    을 읽어보시면 도움이 될듯해요^^ 

    댓글 작성하기 좋아요0 댓글수0
  •  
    인천 오일러 Lv.1 2019.01.15

     저 튜브를 그냥 잘라서 원기둥으로 만들면 높이 4\pi 밑면의 넓이 \pi인  원기둥이니 곱하면 되긴 하지만 잘라서 원기둥으로 만든 것을 적분식으로 표현하면 

    integral (pi,x,0,4*pi) 이 나와요. 계산하면 여기서도 4\pi ^{2}이 나옵니다.

    댓글 작성하기 좋아요0 댓글수5
    •  
      디듀우 Lv.5 2019.01.16

      어떻게 자르면 그런 원기둥이 나오나요?

      좋아요0
    •  
      TOPIARY Lv.1 2019.01.16

      왼쪽그림에 있는 선대로 잘게 잘라서 엇갈려 붙이면 오른쪽그림대로 원기둥이될수있습니다.

      좋아요0
    •  
      인천 오일러 Lv.1 2019.01.16

      TOPIARY님 처럼 생각해도 되고 저는 그냥 한 지점을 잘라서 쭉 펼치면 높이는 위 그림의 빨간 원의 둘레이고 밑면이 저 단면이라고 생각했습니다.

      좋아요0
    •  
      아인수타인 Lv.6 2019.01.17

      도넛 모양은 좀 특수한 경우여서 그런 거 아닐까요? 만약 도넛의 굵기가 일정하지 않는다면 저렇게 해도 울퉁불퉁한 원기둥이 나올 거 같은데요?

      좋아요0
    •  
      인천 오일러 Lv.1 2019.01.17

       네. 그래서 위는 원을 한바퀴 빙 돌려서 두께가 일정한 경우라서 했습니다. 위와같은 토러스가 아닌 경우는 그런 원기둥이 안 나와요.

      좋아요0
  •  
    디듀우 Lv.5 2019.01.16

    이걸 이용해서 초구의 네제곱부피를 구할 수 있을까요? (초구는 구의 사차원 도형이고, 네제곱부피는 부피에서 차원을 하나 더 늘린 크기를 의미합니다)

    댓글 작성하기 좋아요0 댓글수1
    •  
      Undefined Lv.1 2019.06.01

      삼차원 구의 부피는 \frac{4}{3} \pi r^3이므로

      사차원 구의 부피는 \int_{-r}^{r} \frac{4}{3} \pi \sqrt{r^2-x^2}^3dx이므로 \frac{\pi^2}{2}r^4입니다.

      좋아요0
  •  
    인천 오일러 Lv.1 2019.01.16

    /resources/comment/2019/01/445319fe3dc7b54bdd31d2b171764920.jpg

    1.사진 속 도형에서 x의 값이 0부터 20까지 연속적으로 변화하고, 이것이 쌓여서 하나의 입체를 이룰 때, 이 입체의 부피는 얼마일까요?(단, x의 변화 속도는 높이의 변화 속도와 같습니다.)

    2. 사진 속 도형이 한 축을 중심으로 회전하여 생기는 도형의 부피는 얼마일까요? 위 도형의 중심이 축으로 부터 y만큼 떨어져있습니다.

    댓글 작성하기 좋아요0 댓글수7
    •  
      codename Lv.1 2019.01.17

      143.5^2*(3*PI+4) 인것으로 보이네요(계산과정에 착오가 있을 수 있습니다.)

      좋아요0
    •  
      인천 오일러 Lv.1 2019.01.18

       풀이도 올려주실 수 있으신가요?

      좋아요0
    •  
      code Lv.1 2019.01.18

      본계 codename 사라져서 부계파서 올립니다.

      143.5*20*(3*PI+4)을 올리려 했는데 실수했네요.

      먼저, 그림이 x^2*(3*PI+4) 이것을 뜻하는 걸을 알고 계실겁니다.

      이때, x의값이 연속적으로 변화한다고 보면 0에서 20 까지 제곱에 평균을 내면 답이 143.5입니다.

      그런데 지금보니까 정수만 고려한 답이네요.

      인천 오일러님이 찾으시는 답은 아닌 듯 하네요..

      좋아요0
    •  
      인천 오일러 Lv.1 2019.01.18

       네... 0부터 20까지 이산적인 변화가 아니라 연속적인 변화를 했으니까요. 그래도 식은 맞아요.

      좋아요0
    •  
      디듀우 Lv.5 2019.01.20

      codename님 적분만 하시면 될 것 같은데...

      좋아요0
    •  
      김우현 기자 Lv.4 2019.01.21

      연구원님의 한 마디!

      인천 오일러 친구, x가 0부터 20까지 변하는 속도와 높이가 변하는 속도를 지정해 줄 수 있나요?

      x가 변하는 속도와 높이가 변하는 속도가 다르면 아래 그림처럼 옆에서 본 모양이 달라질 수 있거든요!

      좋아요0
    •  
      인천 오일러 Lv.1 2019.01.21

       그건 생각하지 못했네요. 수정했습니다.

      좋아요0
  •  
    Undefined Lv.1 2019.06.01

    임의의 높이 h에 따른 단면적의 넓이를 구하자.

    바깥쪽 반지름은 2+\sqrt{1-h^2}, 안쪽 반지름은 2-\sqrt{1-h^2}이 된다.

    따라서 넓이 S(h)=\pi ((2+\sqrt{1-h^2})^2+(2-\sqrt{1-h^2})^2)

    =\pi(8+2(1-h^2))=10\pi -2\pi h^2

    그러므로 부피는 \int_{-1}^{1}(10\pi-2\pi h^2)dh=\left[10\pi h-\frac{2}{3}h^3\right]_{-1}^1=\frac{56}{3}\pi

    윗분들 답이랑 다른데 왜 그런지 찾아주세요...

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