중고생들을 위한 매스매티카 기초#35:
오늘의 주제: Array(리스트안 리스트)2
(명령어: Table, Part, Grid)
-
* 이 영상은 콩글리쉬와 브로큰 잉글리쉬/코리안, 그리고 주변잡음을 포함하고 있습니다.
나레이터: John Lee
학생: 존리
선생님: Jon Lee
* 매스매티카는 무료 로 온라인에서 TRY할 수 있습니다. 자세한 내용은 이 화면 또는 설명에 있는 링크를 참고하세요. - JohnLeeEdu.Tistory.Com/28
Array에서 원소 뽑기
In[308]:= array0 = {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}}
Out[308]= {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}}
In[309]:= grid0 = Grid[array0, Frame → All]
Out[309]=
1 2 3 4 5
6 7 8 9 10 11 12 13 14 15
예를 들어 {i, j} 가 {2, 3}이면, 즉 행이 2이고 열이 3이면 그 원소는 8이 된다. 그것을 Part를 사용해서 뽑아보자.
In[310]:= array0
Out[310]= {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}}
In[311]:= array0[[2]]
Out[311]= {6, 7, 8, 9, 10}
In[312]:= array0[[2]][[3]]
Out[312]= 8
In[313]:= array0[[2, 3]]
Out[313]= 8
위처럼 2번째 행의 3번째 열이 아니라 모든 행의 3번째 열을 뽑고 싶으면
In[314]:= grid0
Out[314]=
1 2 3 4 5
6 7 8 9 10 11 12 13 14 15
In[315]:= array0[[All, 3]]
Out[315]= {3, 8, 13}
마찬가지로 모든 열을 가지고 있는 2번째 행을 뽑으려면
In[316]:= array0[[2, All]]
Out[316]= {6, 7, 8, 9, 10}
In[317]:= array0[[2, All]] ⩵ array0[[2]]
Out[317]= True
In[318]:= grid0
Out[318]=
1 2 3 4 5
6 7 8 9 10 11 12 13 14 15
2번째 행을 뽑는데 열은 2~4열만 포함해라
In[319]:= array0[[2, 2 ;; 4]]
Out[319]= {7, 8, 9}
모든 행 중에서 제일 마지막 열만 뽑아라.
In[320]:= array0[[All, -1]]
Out[320]= {5, 10, 15}
In[321]:= grid0
Out[321]=
1 2 3 4 5
6 7 8 9 10 11 12 13 14 15
In[322]:= Table[array0[[i]], {i, 3}]
Out[322]= {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}}
In[323]:= grid0
Out[323]=
1 2 3 4 5
6 7 8 9 10 11 12 13 14 15
In[324]:= Table[array0[[i, i]], {i, 3}]
Out[324]= {1, 7, 13}
Table로 Array만들기
In[325]:= Table[j, {j, 5}]
Out[325]= {1, 2, 3, 4, 5}
In[326]:= Table[Table[j, {j, 5}], {i, 3}]
Out[326]= {{1, 2, 3, 4, 5}, {1, 2, 3, 4, 5}, {1, 2, 3, 4, 5}}
In[327]:= Table[j, {i, 3}, {j, 5}]
Out[327]= {{1, 2, 3, 4, 5}, {1, 2, 3, 4, 5}, {1, 2, 3, 4, 5}}
In[328]:= Table[j + i - 1, {i, 1, 15, 5}, {j, 5}]
Out[328]= {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}}
In[329]:= Grid[Table[j + i - 1, {i, 1, 15, 5}, {j, 5}], Frame → All]
Out[329]=
1 2 3 4 5
6 7 8 9 10 11 12 13 14 15
In[330]:= Grid[Table[i + j, {i, 9}, {j, 9}], Frame → All]
Out[330]=
2 3 4 5 6 7 8 9 10
3 4 5 6 7 8 9 10 11 4 5 6 7 8 9 10 11 12 5 6 7 8 9 10 11 12 13 6 7 8 9 10 11 12 13 14 7 8 9 10 11 12 13 14 15 8 9 10 11 12 13 14 15 16 9 10 11 12 13 14 15 16 17 10 11 12 13 14 15 16 17 18
In[331]:= Grid[Table[i * j, {i, 9}, {j, 9}], Frame → All]
Out[331]=
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81
In[332]:= Grid[Table["Yes!", 3, 5], Frame → All]
Out[332]=
Yes! Yes! Yes! Yes! Yes!
Yes! Yes! Yes! Yes! Yes!
Yes! Yes! Yes! Yes! Yes!