• 검색 결과가 없습니다.

중고생들을 위한 매스매티카 기초#27~31:

N/A
N/A
Protected

Academic year: 2021

Share "중고생들을 위한 매스매티카 기초#27~31:"

Copied!
15
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

존리edu 수학적 디지털 교육 시리즈 (JohnLeeEdu.Tistory.Com)

중고생들을 위한 매스매티카 기초#27~31:

오늘의 주제: 파이 프로젝트1~5 (복습/예습을 위한 아카데믹 exercise) -

* 이 영상은 콩글리쉬와 브로큰 잉글리쉬/코리안, 그리고 주변잡음을 포함하고 있습니다.

나레이터: John Lee

학생: 존리

선생님: Jon Lee

* 매스매티카는 무료 로 온라인에서 TRY할 수 있습니다. 자세한 내용은 이 화면 또는 설명에 있는 링크를 참고하세요. - JohnLeeEdu.Tistory.Com/28

#0 파이는 어떻게 구하지?

얼마전 3월14일이 파이(3.14) day라서 갑자기 π 에 대해서 궁금해졌다.

원의 둘레 길이 = 2 π x 반지름

π = 원의 둘레 길이

2 x 반지름 = 원의 둘레 길이 지름

Pi 가 원의 둘레 길이와 지름과의 비, 즉 원주율이라는 사실은 배웠는데...

근데 Pi 는 매스매티카가 없으면 어떻게 구하지?

원을 그려서 둘레길이와 지름을 측정해서 구해야 하나?

어떻게 계산해서 구할 수는 없을까?

Pi 를 계산할 수 있는 함수가 있으면 좋을텐데...

다음에 선생님 만나면 물어봐야겠다.

#1 제니의 메세지

“존리야, 0에서 9까지 정수중에 랜덤으로 매일 하나를 뽑아서 사용하고 싶으니까 한달치 사용할 랜덤 넘버 리스트 좀 만들어줘... 근데 RandomChoice나 RandomSample 또는 RandomInteger 같은 명령어 쓰지 말고 다른 방법으로 좀 해줘, thank you!”

음... 이거 그냥 RandomChoice 또는 RandomSample 쓰면 간단한데 왜 못쓰게하지? 한달치니까 그냥 0에서 9까지 정수중에 중복을 허락해서 30개 뽑는 거랑 같은 문제인데...

(2)

음... 이거 그냥 RandomChoice 또는 RandomSample 쓰면 간단한데 왜 못쓰게하지? 한달치니까 그냥 0에서 9까지 정수중에 중복을 허락해서 30개 뽑는 거랑 같은 문제인데...

In[1]:= RandomChoice[Range[0, 9], 30]

Out[1]= {9, 7, 6, 7, 9, 5, 5, 6, 8, 0, 2, 9, 9, 8, 8, 4, 8, 8, 9, 3, 6, 7, 1, 5, 0, 4, 5, 5, 5, 8}

RandomSample 은 중복이 허락이 안되니까 그 명령어 자체를 냥 30회 돌리면 되고...

In[2]:= Table[RandomSample[Range[0, 9], 1], 30]

Out[2]= {{4}, {8}, {5}, {9}, {7}, {6}, {8}, {4}, {4}, {1}, {0}, {8}, {0}, {6}, {0},

{1}, {0}, {2}, {1}, {9}, {2}, {2}, {5}, {4}, {6}, {1}, {8}, {1}, {7}, {6}}

이렇게 괄호들이 많으면 Flatten써서 없애주면 되고...

In[3]:= Flatten[Table[RandomSample[Range[0, 9], 1], 30]]

Out[3]= {8, 8, 4, 8, 0, 8, 8, 8, 9, 7, 9, 2, 2, 6, 0, 8, 5, 6, 0, 5, 7, 4, 8, 8, 8, 7, 0, 0, 6, 3}

RandomInteger은 또 뭐지? 선생님이 아직 안가르쳐주셨는데... 하여간 빨리 다른 방법으로 랜덤넘버를 만들어야겠다...

#2 파이와 랜덤 넘버 - Pi, N

In[4]:= Pi (* 대문자 P, 소문자 i *)

Out[4]= π

In[5]:= N[Pi]

Out[5]= 3.14159

(3)

In[6]:= N[Pi, 3]

Out[6]= 3.14

N[Pi, 100 ] (*101번째 숫자에서 반올림 되어 계산 *)

Out[7]= 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089%

98628034825342117068

소수점 이하 100자리

In[8]:= N[Pi, 101 ] (* 소수점 이하 101번째자리에서 반올림 되어 계산 *)

Out[8]= 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089%

986280348253421170680

In[9]:= N[Pi, 102 ] (* 소수점 이하 102번째자리에서 반올림 되어 계산 *)

Out[9]= 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089%

9862803482534211706798

무한대 자리까지 파이는 간답니다!

In[10]:= N[Pi, 100 000];

그런데 Pi에 나오는 숫자를 잘 보면 규칙성이 없이 0과 9사이를 아주 랜덤하게 왔다갔다하는 듯이 보입니다.

In[11]:= N[Pi, 100]

Out[11]= 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089%

98628034825342117068

그렇기 때문에 제니가 0과 9사이의 랜덤 숫자를 한달치 보내달라고 했으니까 별 다른 매스매티카 명령어 사용할 필요없이 그냥 Pi에 나오는 숫자를 차례대로 30개 적어서 보내주면 될 것 같네요.

(4)

그렇기 때문에 제니가 0과 9사이의 랜덤 숫자를 한달치 보내달라고 했으니까 별 다른 매스매티카 명령어 사용할 필요없이 그냥 Pi에 나오는 숫자를 차례대로 30개 적어서 보내주면 될 것 같네요.

In[12]:= N[Pi, 30]

Out[12]= 3.14159265358979323846264338328

#3 파이를 리스트로 - IntegerDigits, RealDigits

자 그럼 제니에게 쉽게 보낼 수 있게 Pi 에 있는 각각의 수를 원소로 하는 리스트를 만들어 볼까요?

예를 들어 234832487과 같은 정수를 {2, 3, 4, 8, 3, 2, 4, 8, 7}와 같이 리스트로 만들고 싶으면 아직 안 배웠지만 IntegerDigits 라는 명령어를 쓰면 됩니다.

In[13]:= IntegerDigits[234 832 487]

Out[13]= {2, 3, 4, 8, 3, 2, 4, 8, 7}

그런데 이 IntegerDigits 는 정수에만 작동한답니다... 소수는 안되고... 혹시나 해볼까요?

In[14]:= IntegerDigits[3.14159]

IntegerDigits:Integer expected at position 1 in IntegerDigits[3.14159].

Out[14]= IntegerDigits[3.14159]

그래서 우리 존리가 help를 뒤진 끝에 발견한 아주 파워풀한 명령어 RealDigits

In[15]:= RealDigits[Pi, 10, 7]

(* 파이에 나오는 숫자를 10진수로 7개 보여줘 *)

Out[15]= {{3, 1, 4, 1, 5, 9, 2}, 1}

위의 오른쪽에 있는 1은 원래 숫자에서 소수점 왼쪽에 있는 digit의 갯수를 나타낸답니다. Pi 의 경우 3.14xxx 이니까 소수점 왼쪽에 있는 숫자는 3 하나뿐, 그래서 그 갯수는 1, 즉 하나.

(5)

위의 오른쪽에 있는 1은 원래 숫자에서 소수점 왼쪽에 있는 digit의 갯수를 나타낸답니다. Pi 의 경우 3.14xxx 이니까 소수점 왼쪽에 있는 숫자는 3 하나뿐, 그래서 그 갯수는 1, 즉 하나.

그런데 우리가 원하는 건 처음에 나오는 리스트 {3,1,4,1,5,9,2} 부분이기 때문에 그 부분을 뽑으려면 Take, Part, First, Last 등등 많은 명령어들을 사용할 수 있습니다. 오늘은 그 중에 제일 간단한 First 로

해보겠습니다.

In[16]:= First[RealDigits[Pi, 10, 30]]

Out[16]= {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4, 6, 2, 6, 4, 3, 3, 8, 3, 2, 7}

정말로 랜덤한지 우선 ListPlot 사용해서 그래프로 한번 그려보자. 다소 주관적이지만 많이 왔다갔다 하면 랜덤이라고 인정해버리자!

In[17]:= First[RealDigits[Pi, 10, 20]]

Out[17]= {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4}

In[18]:= ListPlot[First[RealDigits[Pi, 10, 20]], ImageSize → Small]

Out[18]=

5 10 15 20

2 4 6 8

역시 점들은 보기가 어려워... ListLinePlot 사용해서 선으로 그려야겠다.

In[19]:= ListLinePlot[First[RealDigits[Pi, 10, 100]], ImageSize → Small]

Out[19]=

20 40 60 80 100

2 4 6 8

Yes, it looks pretty random. Great!

(6)

Yes, it looks pretty random. Great!

#4 함수(function) 만들기 - function

앞으로 이 조합 First[RealDigits[Pi,10,20]] 을 이용해 100자리, 200자리까지의 리스트 만들기 등등 많이 쓸 것 같아서 함수로 만들겠습니다.

In[20]:= First[RealDigits[Pi, 10, n]]

RealDigits:Non-negative machine-sized integer expected at position 3 in RealDigits[π, 10, n].

Out[20]= π

In[21]:= jennyPi[n_] := First[RealDigits[Pi, 10, n]]

In[22]:= jennyPi[10]

Out[22]= {3, 1, 4, 1, 5, 9, 2, 6, 5, 3}

In[23]:= jennyPi[30]

Out[23]= {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4, 6, 2, 6, 4, 3, 3, 8, 3, 2, 7}

#5 한달치 순서쌍 만들기: Table, Part

In[24]:= jennyPi[30] (*한달치 랜덤 넘버*)

Out[24]= {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4, 6, 2, 6, 4, 3, 3, 8, 3, 2, 7}

헷갈리지 않기 위해서 30일분의 숫자를 아래와 같이 순서쌍으로 만들어 보겠습니다.

{1,3}

{2,1}

{3,4}

...

{30,1}

(7)

헷갈리지 않기 위해서 30일분의 숫자를 아래와 같이 순서쌍으로 만들어 보겠습니다.

{1,3}

{2,1}

{3,4}

...

{30,1}

우선 밑작업으로 Table 과 Part 를 이용해서 30일분 리스트를 다시 써보자.

In[25]:= jennyPi[30][[10]] (*10번째 원소*)

Out[25]= 3

In[26]:= Table[jennyPi[30][[i]], {i, 30}]

Out[26]= {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4, 6, 2, 6, 4, 3, 3, 8, 3, 2, 7}

결국 위의 것은 jennyPi[30] 랑 똑같다. 그치만 순서쌍 만들때 유용하게 쓰일거야!

In[27]:= Table[jennyPi[30][[i]], {i, 30}] ⩵ jennyPi[30]

Out[27]= True

이번엔 순서쌍을 만들기 위해 interator 와 작은 리스트를 만들어 짝을 지어주면

In[28]:= Table[{i, jennyPi[30][[i]]}, {i, 30}]

Out[28]= {{1, 3}, {2, 1}, {3, 4}, {4, 1}, {5, 5}, {6, 9}, {7, 2}, {8, 6}, {9, 5}, {10, 3}, {11, 5},

{12, 8}, {13, 9}, {14, 7}, {15, 9}, {16, 3}, {17, 2}, {18, 3}, {19, 8}, {20, 4}, {21, 6}, {22, 2}, {23, 6}, {24, 4}, {25, 3}, {26, 3}, {27, 8}, {28, 3}, {29, 2}, {30, 7}}

Finally, 순서쌍 완성! 이 순서쌍의 이름을 jenny1 이라 짓고 제니한테 보내자!

(8)

In[29]:= jenny1 = Table[{i, jennyPi[30][[i]]}, {i, 30}]

Out[29]= {{1, 3}, {2, 1}, {3, 4}, {4, 1}, {5, 5}, {6, 9}, {7, 2}, {8, 6}, {9, 5}, {10, 3}, {11, 5},

{12, 8}, {13, 9}, {14, 7}, {15, 9}, {16, 3}, {17, 2}, {18, 3}, {19, 8}, {20, 4}, {21, 6}, {22, 2}, {23, 6}, {24, 4}, {25, 3}, {26, 3}, {27, 8}, {28, 3}, {29, 2}, {30, 7}}

#6 리스트 손보기: Append, Delete, Insert

제니가 jenny1 를 보고 난 후 또 다른 요구를 했다. “그 랜덤 넘버 5월달에 쓸 거니까 마지막에 31일 것 추가 시키고 또 10일째 되는 날은 랜덤 넘버가 아니라 번호가 무조건 1이어야 돼.”

추가라... 음... Prepend 는 앞에 추가하니까 이번엔 Append 를 쓰자.

In[30]:= (*31번째 넘버 from Pi *)jennyPi[31][[31]]

Out[30]= 9

In[31]:= Append[jenny1, {31, jennyPi[31][[31]]}]

Out[31]= {{1, 3}, {2, 1}, {3, 4}, {4, 1}, {5, 5}, {6, 9}, {7, 2}, {8, 6}, {9, 5}, {10, 3}, {11, 5},

{12, 8}, {13, 9}, {14, 7}, {15, 9}, {16, 3}, {17, 2}, {18, 3}, {19, 8}, {20, 4}, {21, 6}, {22, 2}, {23, 6}, {24, 4}, {25, 3}, {26, 3}, {27, 8}, {28, 3}, {29, 2}, {30, 7}, {31, 9}}

10일째는 무조건 1이어야 하니까 일단 원래 10번째 순서쌍을 지우고 새로운 순서쌍 {10,1}을 10번째 자리에에 넣자.

In[32]:= Delete[Append[jenny1, {31, jennyPi[31][[31]]}], 10]

Out[32]= {{1, 3}, {2, 1}, {3, 4}, {4, 1}, {5, 5}, {6, 9}, {7, 2}, {8, 6}, {9, 5}, {11, 5}, {12, 8},

{13, 9}, {14, 7}, {15, 9}, {16, 3}, {17, 2}, {18, 3}, {19, 8}, {20, 4}, {21, 6}, {22, 2}, {23, 6}, {24, 4}, {25, 3}, {26, 3}, {27, 8}, {28, 3}, {29, 2}, {30, 7}, {31, 9}}

(9)

In[33]:= Insert[Delete[Append[jenny1, {31, jennyPi[31][[31]]}], 10], {10, 1}, 10]

Out[33]= {{1, 3}, {2, 1}, {3, 4}, {4, 1}, {5, 5}, {6, 9}, {7, 2}, {8, 6}, {9, 5}, {10, 1}, {11, 5},

{12, 8}, {13, 9}, {14, 7}, {15, 9}, {16, 3}, {17, 2}, {18, 3}, {19, 8}, {20, 4}, {21, 6}, {22, 2}, {23, 6}, {24, 4}, {25, 3}, {26, 3}, {27, 8}, {28, 3}, {29, 2}, {30, 7}, {31, 9}}

완성! 이 순서쌍의 이름을 jenny2 라 짓고 제니한테 보내자!

In[34]:= jenny2 = Insert[Delete[Append[jenny1, {31, jennyPi[31][[31]]}], 10], {10, 1}, 10]

Out[34]= {{1, 3}, {2, 1}, {3, 4}, {4, 1}, {5, 5}, {6, 9}, {7, 2}, {8, 6}, {9, 5}, {10, 1}, {11, 5},

{12, 8}, {13, 9}, {14, 7}, {15, 9}, {16, 3}, {17, 2}, {18, 3}, {19, 8}, {20, 4}, {21, 6}, {22, 2}, {23, 6}, {24, 4}, {25, 3}, {26, 3}, {27, 8}, {28, 3}, {29, 2}, {30, 7}, {31, 9}}

#7 리스트 꾸미기: Table(불규칙), Part, Row, Column

제니가 또 연락이 왔다. 숫자들만 계속 뭉쳐 있어서 보기가 힘들다면서 날짜 앞에 “Day”라는 말을 붙이고 또 각각의 순서쌍을 세로로 정렬시켜 달라는 것이다.

sure...

처음엔 jenny1 부터 다시 손봐야 될 것 같았는데 가만히 생각해 보니 Table 의 불규칙 리스트 기능을 이용하면 될 것 같다. 해보자!

우선 prep work 으로 jenny2 를 Table 을 써서 다시 나타내보자.

In[35]:= Table[i, {i, jenny2}] (* 이 경우 i 는 각각의 순서쌍이 된다 *)

Out[35]= {{1, 3}, {2, 1}, {3, 4}, {4, 1}, {5, 5}, {6, 9}, {7, 2}, {8, 6}, {9, 5}, {10, 1}, {11, 5},

{12, 8}, {13, 9}, {14, 7}, {15, 9}, {16, 3}, {17, 2}, {18, 3}, {19, 8}, {20, 4}, {21, 6}, {22, 2}, {23, 6}, {24, 4}, {25, 3}, {26, 3}, {27, 8}, {28, 3}, {29, 2}, {30, 7}, {31, 9}}

(10)

그럼 이번엔 Part 를 써서 순서쌍 안 으로 들어가 날짜만 나타내보자.

In[36]:= Table[i[[1]], {i, jenny2}]

Out[36]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,

16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}

이번엔 Row 를 써서 날짜앞에 “Day”를 붙이자.

In[37]:= Table[Row[{"Day", i[[1]]}], {i, jenny2}]

Out[37]= {Day1, Day2, Day3, Day4, Day5, Day6, Day7, Day8, Day9, Day10, Day11,

Day12, Day13, Day14, Day15, Day16, Day17, Day18, Day19, Day20, Day21, Day22, Day23, Day24, Day25, Day26, Day27, Day28, Day29, Day30, Day31}

된다! 그럼 랜덤 넘버도 순서쌍 형식으로 리스트를 만들어 주자.

In[38]:= Table[{Row[{"Day", i[[1]]}], i[[2]]}, {i, jenny2}]

Out[38]= {{Day1, 3}, {Day2, 1}, {Day3, 4}, {Day4, 1}, {Day5, 5}, {Day6, 9}, {Day7, 2},

{Day8, 6}, {Day9, 5}, {Day10, 1}, {Day11, 5}, {Day12, 8}, {Day13, 9}, {Day14, 7}, {Day15, 9}, {Day16, 3}, {Day17, 2}, {Day18, 3}, {Day19, 8}, {Day20, 4}, {Day21, 6}, {Day22, 2}, {Day23, 6}, {Day24, 4}, {Day25, 3}, {Day26, 3}, {Day27, 8}, {Day28, 3}, {Day29, 2}, {Day30, 7}, {Day31, 9}}

뷰티풀!!! 이제 Column 으로 감싸주면 All set!

(11)

In[39]:= Column[Table[{Row[{"Day", i[[1]]}], i[[2]]}, {i, jenny2}]]

Out[39]=

{Day1, 3}

{Day2, 1}

{Day3, 4}

{Day4, 1}

{Day5, 5}

{Day6, 9}

{Day7, 2}

{Day8, 6}

{Day9, 5}

{Day10, 1}

{Day11, 5}

{Day12, 8}

{Day13, 9}

{Day14, 7}

{Day15, 9}

{Day16, 3}

{Day17, 2}

{Day18, 3}

{Day19, 8}

{Day20, 4}

{Day21, 6}

{Day22, 2}

{Day23, 6}

{Day24, 4}

{Day25, 3}

{Day26, 3}

{Day27, 8}

{Day28, 3}

{Day29, 2}

{Day30, 7}

{Day31, 9}

#8 작은 리스트 만들기: Drop, Partition, Table, Part, Column, Row

이번엔 지니(Genie)가 전화가 와서 7자리로 된 일주일치 0에서 9사이의 랜덤넘버랑 보안상의 이유로 그 평균값을 보내달라고 한다. 총 10주분을 보내주는데 형식은 다음과 같고 세로로 정렬된 리스트를 원한다.

{Week1, 랜덤넘버 7개 리스트, 평균값}

{Week1, 랜덤넘버 7개 리스트, 평균값}

...

{Week10, 랜덤넘버 7개 리스트, 평균값}

(12)

평균값을 보내달라고 한다. 총 10주분을 보내주는데 형식은 다음과 같고 세로로 정렬된 리스트를 원한다.

{Week1, 랜덤넘버 7개 리스트, 평균값}

{Week1, 랜덤넘버 7개 리스트, 평균값}

...

{Week10, 랜덤넘버 7개 리스트, 평균값}

우선 jennyPi 를 사용해서 총 7 x 10 즉 Pi로부터 랜덤넘버 70개를 만들자. 근데 jennyPi 는 제니한테 Pi 의 첫부분을 사용했으니까 지니한테는 Pi 의 10001자리 부터 시작해서 총 70숫자를 랜덤넘버로 주자.

In[40]:= Drop[jennyPi[10 000 + 70], 10 000]

Out[40]= {8, 5, 6, 6, 7, 2, 2, 7, 9, 6, 6, 1, 9, 8, 8, 5, 7, 8, 2, 7, 9, 4,

8, 4, 8, 8, 5, 5, 8, 3, 4, 3, 9, 7, 5, 1, 8, 7, 4, 4, 5, 4, 5, 5, 1, 2, 9, 6, 5, 6, 3, 4, 4, 3, 4, 8, 0, 3, 9, 6, 6, 4, 2, 0, 5, 5, 7, 9, 8, 2}

이번엔 7개씩 묶어 주자

In[41]:= Partition[Drop[jennyPi[10 000 + 70], 10 000], 7]

Out[41]= {{8, 5, 6, 6, 7, 2, 2}, {7, 9, 6, 6, 1, 9, 8}, {8, 5, 7, 8, 2, 7, 9},

{4, 8, 4, 8, 8, 5, 5}, {8, 3, 4, 3, 9, 7, 5}, {1, 8, 7, 4, 4, 5, 4},

{5, 5, 1, 2, 9, 6, 5}, {6, 3, 4, 4, 3, 4, 8}, {0, 3, 9, 6, 6, 4, 2}, {0, 5, 5, 7, 9, 8, 2}}

이걸 genie1 이라 이름 붙이자

In[42]:= genie1 = Partition[Drop[jennyPi[10 000 + 70], 10 000], 7]

Out[42]= {{8, 5, 6, 6, 7, 2, 2}, {7, 9, 6, 6, 1, 9, 8}, {8, 5, 7, 8, 2, 7, 9},

{4, 8, 4, 8, 8, 5, 5}, {8, 3, 4, 3, 9, 7, 5}, {1, 8, 7, 4, 4, 5, 4},

{5, 5, 1, 2, 9, 6, 5}, {6, 3, 4, 4, 3, 4, 8}, {0, 3, 9, 6, 6, 4, 2}, {0, 5, 5, 7, 9, 8, 2}}

순서쌍 10개도 만들어야 되니까... Table 이랑 Part 를 이용하자. 하는 김에 모든 걸 한 꺼번에 다 해버리자!!!

평균값은 Mean 으로 구하면 된다.

12 Note27to31- .nb

(13)

In[43]:= Column[Table[{Row[{"Week", i}], genie1[[i]], Mean[genie1[[i]]]}, {i, 10}]]

Out[43]=

Week1, {8, 5, 6, 6, 7, 2, 2}, 367

Week2, {7, 9, 6, 6, 1, 9, 8}, 467

Week3, {8, 5, 7, 8, 2, 7, 9}, 467  {Week4, {4, 8, 4, 8, 8, 5, 5}, 6}

Week5, {8, 3, 4, 3, 9, 7, 5}, 397

Week6, {1, 8, 7, 4, 4, 5, 4}, 337

Week7, {5, 5, 1, 2, 9, 6, 5}, 337

Week8, {6, 3, 4, 4, 3, 4, 8}, 327

Week9, {0, 3, 9, 6, 6, 4, 2}, 307

Week10, {0, 5, 5, 7, 9, 8, 2}, 367

완전 뷰티풀하다!!! 존리만세!!!

#9 랜덤넘버 테스트: Count

제니한테 또 연락이 왔는데 이번엔 Pi 로 만든 랜덤넘버 1000개 중에 각각의 숫자가 몇개씩 있는지 표로 만들어 달라는 것이다.

각각의 숫자들의 갯수가 서로 비슷하면 랜덤하다고 제니는 생각하고 있는 것 같다.

일단 1000개중에 7이 몇개나 있을까? Count 를 사용하자.

In[44]:= Count[jennyPi[1000], 7]

Out[44]= 95

이제 Table 을 써서 한번에 해 보자.

In[45]:= Table[Count[jennyPi[10 000], i], {i, 0, 9}]

Out[45]= {968, 1026, 1021, 975, 1012, 1046, 1021, 970, 947, 1014}

(14)

막대 그래프로 그리면

In[46]:= BarChart[Table[Count[jennyPi[1000], i], {i, 0, 9}],

ChartLabels → Range[0, 9], ImageSize → Small]

Out[46]=

마지막으로 파이니까 PieChart 로 그리면

In[47]:= PieChart[Table[Count[jennyPi[1000], i], {i, 0, 9}],

ChartLabels → Range[0, 9], ImageSize → Small]

Out[47]=

강의노트 다운로드

강의노트는 JohnLeeEdu.Tistory.Com 의 자료실에 보관되어 있습니다.

* 매스매티카는 무료 로 온라인에서 TRY할 수 있습니다. 자세한 내용은 이 화면 또는 설명에

있는 링크를 참고하세요. - JohnLeeEdu.Tistory.Com/28

(15)

* 매스매티카는 무료 로 온라인에서 TRY할 수 있습니다. 자세한 내용은 이 화면 또는 설명에 있는 링크를 참고하세요. - JohnLeeEdu.Tistory.Com/28

Memo

참조

관련 문서

계획: 유효 숫자의 개수는 소수점에 대한 영의 위치에 특별히 주의하면서 숫자를 세어서 결정한다... 계획: 유효 숫자의 개수는 소수점에 대한 영의

전류가 흐를때 1, 흐르지 않을 때 0으로만 숫자를 표현할 수 있음 이진수 한자리를 bit라 칭하고 8개의 bit는

 노트북 컴퓨터 등을 보유한 면접자가 응답자의 가정/직장을 직접 방문 하거나, 컴퓨터가 있는 곳으로 응답자를 오게 하여 면접을 진행하는

자유롭게 사용할 권리를 침해하는 것이다. 분배정의의 두가지 조건을 제시.. 소득재분배 반대의 철학적 기초: Robert Nozick.. 분배정의의 두가지 조건을

그렇기 때문에 우리가 말하는 동화를 영 어로 번역한다면 뭐라고 해야 할지 의견이 분분하다. 그 어려움에 그냥 우리말 발음 그대로 ‘Dongwha’라고 하 자는

– 트리의 마지막 레벨을 제외하곤 모든 레벨에 노드가 빠짐없이 존재해야 하며, 마지막 레벨엔 왼쪽부터 노드가 채워져 있어야 한다...

각각의 경우에 대하여 천의 자리와 백의 자리에는 십의 자리와 일의 자리에 오는 숫자를 제외한 3개의 숫자 중에서 2개 를

해야 한다는 내용이 포함되어 있다 그렇기 때문에 방송 편집시 의견이 대립하고 있는 문제에.. , 대해서는 가능한 다양한 각도에서