존리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개 뽑는 거랑 같은 문제인데...
음... 이거 그냥 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
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개 적어서 보내주면 될 것 같네요.
그렇기 때문에 제니가 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, 즉 하나.
위의 오른쪽에 있는 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!
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}
헷갈리지 않기 위해서 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 이라 짓고 제니한테 보내자!
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}}
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}}
그럼 이번엔 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!
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개 리스트, 평균값}
평균값을 보내달라고 한다. 총 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
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}
막대 그래프로 그리면
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
* 매스매티카는 무료 로 온라인에서 TRY할 수 있습니다. 자세한 내용은 이 화면 또는 설명에 있는 링크를 참고하세요. - JohnLeeEdu.Tistory.Com/28
Memo