본문 바로가기

CS/무통

Matlab 행렬

행렬 선언

; 로 행 구분

 

>> myGrades = [24,44,36;52,57,68;66,53,69;85,40,86;15,47,25;79,72,82]

myGrades =

    24    44    36
    52    57    68
    66    53    69
    85    40    86
    15    47    25
    79    72    82


proGraaaades = [36, 76, 73, 72, 28, 91]

proGraaaades =

    36    76    73    72    28    91

 

'를 쓰면 행이 열로 바뀜

 

>> proGraaaades'

ans =

    36
    76
    73
    72
    28
    91


열을 추가

 
>> myGrades = [myGrades, proGraaaades']

myGrades =

    24    44    36    36
    52    57    68    76
    66    53    69    73
    85    40    86    72
    15    47    25    28
    79    72    82    91


>> proMarks = [36. 76. 73. 72. 28. 91]

proMarks =

    36    76    73    72    28    91

 

>> proMarks = proMarks *0.5

proMarks =

   18.0000   38.0000   36.5000   36.0000   14.0000   45.5000

 

소수점 아래 4자리까지 표현됨


>> myGrades(:,4)

ans =

    36
    76
    73
    72
    28
    91

 

4번째 열 출력


>> myGrades(:,4) = proMarks'

myGrades =

   24.0000   44.0000   36.0000   18.0000
   52.0000   57.0000   68.0000   38.0000
   66.0000   53.0000   69.0000   36.5000
   85.0000   40.0000   86.0000   36.0000
   15.0000   47.0000   25.0000   14.0000
   79.0000   72.0000   82.0000   45.5000

 

4번째 열을 바꿔서 출력, 연관된 소수점 따라감?


>> scores = [1, 2, 3, 4, 5, 6]

scores =

     1     2     3     4     5     6

>> sum(scores)

ans =

    21

 

합 구하기 자동으로 ans에 저장됨


>> myGrades(3, :)

ans =

   66.0000   53.0000   69.0000   36.5000

>> sum(myGrades(3, :))

ans =

  224.5000

 

3행을 출력, 3행의 합


>> array = [1, 2, 3, 2, 6, 1]

array =

     1     2     3     2     6     1

>> max(array)

ans =

     6

 

max: 가장 큰 값


>> [v, i] = max(array)

v =

     6


i =

     5

 

 

v = 수, i = 인덱스


myGrades =

   24.0000   44.0000   36.0000   18.0000
   52.0000   57.0000   68.0000   38.0000
   66.0000   53.0000   69.0000   36.5000
   85.0000   40.0000   86.0000   36.0000
   15.0000   47.0000   25.0000   14.0000
   79.0000   72.0000   82.0000   45.5000

 

>> [v, i] = max(myGrades)

v =

   85.0000   72.0000   86.0000   45.5000


i =

     4     6     4     6

 

각 열의 가장 큰 값과 인덱스 출력


>> myGrades([4, 6], :)

ans =

   85.0000   40.0000   86.0000   36.0000
   79.0000   72.0000   82.0000   45.5000

 

4, 6번째 행 출력


>> max(myGrades([4, 6], :))

ans =

   85.0000   72.0000   86.0000   45.5000

 

4, 6번째 행렬에서 가장 큰 값 열에서 찾기

 

아마 열에서 찾기가 기본인듯

 

 


>> max(myGrades([4, 6], [1, 3]))

ans =

    85    86


>> myGrades(:,1)

ans =

    24
    52
    66
    85
    15
    79

>> mean(ans)

ans =

   53.5000

 

mean: 평균구하기