You are on page 1of 25

2023

AI프로그래밍

Ch.5 ) 배열 관련 명령어

박지훈
부산대학교 항공우주공학과
vazihoon@pusan.ac.kr

부산대학교 항공우주공학과 -1- DEPARTMENT OF AEROSPACE ENGINEERING.


2023
AI프로그래밍

 오늘의 학습 목표

 배열연산에 사용되는 중요 명령어들

 프로그래밍에 필요한 기타 명령어

부산대학교 항공우주공학과 -2- DEPARTMENT OF AEROSPACE ENGINEERING.


2023
실습 AI프로그래밍

 구구단 결과표 만들기


 19단표의 답으로 이루어진 배열을 만들어보자

 zeros로 만든 0배열에 채워 넣어 볼 것

 저번 시간에 배웠던 기능들(특수 배열 생성, 배열의 사칙연산 등)을 적극적으로 활용해볼 것

▲ 19단표 예시

부산대학교 항공우주공학과 -3- DEPARTMENT OF AEROSPACE ENGINEERING.


2023
실습 AI프로그래밍

 구구단 결과표 만들기


 19단표의 답으로 이루어진 배열을 만들어보자

 zeros로 만든 0배열에 채워 넣어 볼 것

 저번 시간에 배웠던 기능들(특수 배열 생성, 배열의 사칙연산 등)을 적극적으로 활용해볼 것

▲ 여러분이 만들어야 하는 것

부산대학교 항공우주공학과 -4- DEPARTMENT OF AEROSPACE ENGINEERING.


2023
배열의 조작 AI프로그래밍

 배열 내 최대/최소값 찾기
 내장함수 : max(), min()

 1차원의 경우

 배열 내 최대값을 반환함

 최대값인 원소의 인덱스를 함께 반환 가능

[M, I] = max(A)

min의 경우 사용법이 같으므로 생략

부산대학교 항공우주공학과 -5- DEPARTMENT OF AEROSPACE ENGINEERING.


2023
배열의 조작 AI프로그래밍

 배열 내 최대/최소값 찾기
 내장함수 : max(), min()

 2차원의 경우

 배열 내 최대값을 반환함

 최대값인 원소의 인덱스를 함께 반환 가능

[M, I] = max(A)

 2차원의 경우 max(A)는 각 열의 최댓값이 포함된 행 벡터

부산대학교 항공우주공학과 -6- DEPARTMENT OF AEROSPACE ENGINEERING.


2023
배열의 조작 AI프로그래밍

 배열 내 최대/최소값 찾기
 내장함수 : max(), min()

 2차원의 경우

 max 함수의 공식적인 표현은

단순화
[M, I] = max(A,[],1) [M, I] = max(A)

대상 배열 방향(1, 2, 'all')

??????

부산대학교 항공우주공학과 -7- DEPARTMENT OF AEROSPACE ENGINEERING.


2023
짤팁 AI프로그래밍

 MATLAB에서 명령어 쓰는 법 기억 안 날 경우
 명령창에 doc

 doc 띄우고 명령어

부산대학교 항공우주공학과 -8- DEPARTMENT OF AEROSPACE ENGINEERING.


2023
배열의 조작 AI프로그래밍

 배열 내 최대/최소값 찾기
 내장함수 : max(), min() min의 경우 사용법이 같으므로 생략
 2차원의 경우

 배열 내 전체 원소 중 가장 큰 값을 얻고 싶을 때

[M] = max(A,[],'all')
[M,I] = max(A,[],'all')
[M] = max(max(A))

부산대학교 항공우주공학과 -9- DEPARTMENT OF AEROSPACE ENGINEERING.


2023
배열의 조작 AI프로그래밍

 배열 내 최대/최소값 찾기
 내장함수 : max(), min() min의 경우 사용법이 같으므로 생략
 두 배열 간 비교에도 쓰임

 입력 변수 중 가운데가 비어있던 이유

M = max(A,B)

부산대학교 항공우주공학과 - 10 - DEPARTMENT OF AEROSPACE ENGINEERING.


2023
배열의 조작 AI프로그래밍

 배열 내 원소 합, 평균 구하기
 내장함수 : sum(), mean()

 2차원의 경우

 행, 열방향으로 합계를 반환, 'all' 사용 시 모든 원소의 합 반환

M = sum(A,1)

대상 배열

방향 : 1, 2, 'all'
생략 가능(기본 1)

 2018b 이전 버전에는 'all'이 지원이 안되었음

부산대학교 항공우주공학과 - 11 - DEPARTMENT OF AEROSPACE ENGINEERING.


2023
배열의 조작 AI프로그래밍

 배열 내 원소 정렬
 내장함수 : sort()

 벡터 내 원소를 오름차순/내림차순으로 정렬

S = sort(A)
S = sort(A,1)
S = sort(A,'정렬방향')
S = sort(A,1,'정렬방향')

대상 배열

방향 : 1, 2
생략 가능(기본 1)

▲ 1차원 배열
'ascend'
'descend'
생략 가능
(기본 'ascend')

부산대학교 항공우주공학과 - 12 - DEPARTMENT OF AEROSPACE ENGINEERING.


2023
배열의 조작 AI프로그래밍

 배열 내 원소 정렬
 내장함수 : sort()

 벡터 내 원소를 오름차순/내림차순으로 정렬

S = sort(A)
S = sort(A,1)
S = sort(A,'정렬방향')
S = sort(A,1,'정렬방향')

대상 배열

방향 : 1, 2
생략 가능(기본 1)

▲ 2차원 배열
'ascend'
'descend'
생략 가능
(기본 'ascend')

부산대학교 항공우주공학과 - 13 - DEPARTMENT OF AEROSPACE ENGINEERING.


2023
배열의 조작 AI프로그래밍

 배열 내 원소 정렬
 내장함수 : sort()

 정렬된 결과를 인덱스로 반환할 수 있음

[S,I] = sort(A,1,'정렬방향')

애초에 정렬이 된 친구를 예로 들면 →

부산대학교 항공우주공학과 - 14 - DEPARTMENT OF AEROSPACE ENGINEERING.


2023
AI프로그래밍

MATLAB 기타 기능
- 알고리즘 설계를 위한 기본 기능 -

부산대학교 항공우주공학과 - 15 - DEPARTMENT OF AEROSPACE ENGINEERING.


2023
문자 변수 AI프로그래밍

 문자 변수란
 변수의 내용이 숫자가 아닌 문자(character)로 이루어진 것

 작은 따옴표 ( ' ' )로 정의함

 문자열도 배열처럼 지정 가능 : 문자열(string)

부산대학교 항공우주공학과 - 16 - DEPARTMENT OF AEROSPACE ENGINEERING.


2023
문자열 AI프로그래밍

 문자열 변수란
 변수의 내용이 숫자가 아닌 문자로 이루어진 것

 숫자와 문자열의 차이를 이해할 것!!

??? : 아니 이거 뭐임 대체

부산대학교 항공우주공학과 - 17 - DEPARTMENT OF AEROSPACE ENGINEERING.


2023
문자열 AI프로그래밍

 문자열 변수란
 변수의 내용이 숫자가 아닌 문자로 이루어진 것

 숫자와 문자열의 차이를 이해할 것!!

??? : 아니 이거 뭐임 대체

부산대학교 항공우주공학과 - 18 - DEPARTMENT OF AEROSPACE ENGINEERING.


2023
문자열 AI프로그래밍

 문자열 ↔ 숫자
 내장함수 : str2num, num2str

 숫자로 구성된 문자열!!을 진짜 숫자로 바꿔주는


str2num('문자열')

숫자 이외의 문자가 끼면 안됨

 숫자를 문자열로 바꿔주는


num2str(n)

부산대학교 항공우주공학과 - 19 - DEPARTMENT OF AEROSPACE ENGINEERING.


2023
문자열 AI프로그래밍

 문자열 출력
 내장함수 : disp( )

 문자열을 직접 입력해도 됨

 문자열을 변수로 지정하고, 변수명을 입력해도 됨 (추천!!)

부산대학교 항공우주공학과 - 20 - DEPARTMENT OF AEROSPACE ENGINEERING.


2023
엑셀 파일 읽고 쓰기 AI프로그래밍

 xlsread와 xlswrite
 내장함수 : xlsread('파일명')

 엑셀파일을 MATLAB의 배열로 읽어올 수 있음

부산대학교 항공우주공학과 - 21 - DEPARTMENT OF AEROSPACE ENGINEERING.


2023
엑셀 파일 읽고 쓰기 AI프로그래밍

 xlsread와 xlswrite
 내장함수 : xlswrite('파일명', 배열변수)

 MATLAB의 배열을 엑셀파일로 만들 수 있음

 문자열 기능을 이용하여 파일명을 쉽게 지정할 수 있음

다음 시간에 배울 반복문에 연관됨

부산대학교 항공우주공학과 - 22 - DEPARTMENT OF AEROSPACE ENGINEERING.


2023
실습 : 일단 따라하기 AI프로그래밍

 성적표 데이터
 20230322_example_sheet.xlsx 파일이 주어졌다

 75명의 항공우주공학과 학생의 성적이 정리되어 있음

 총 50개의 과제와 중간/기말고사 각 1회의 성적이 포함됨

 "임의의 학생을 골라" 학번과 기말고사 성적을 출력하기

부산대학교 항공우주공학과 - 23 - DEPARTMENT OF AEROSPACE ENGINEERING.


2023
과제? 실습? AI프로그래밍

 성적표 데이터
 20230322_example_sheet.xlsx 파일이 주어졌다

 75명의 항공우주공학과 학생의 성적이 정리되어 있음

 총 50개의 과제와 중간/기말고사 각 1회의 성적이 포함됨

 "중간고사 성적을 기준으로" 내림차순 정렬을 실시

 그리고 중간고사 성적이 제일 좋은 학생의 학번과 점수를 출력

 disp( ) 기능을 사용

 학번, 점수 직접 입력 금지 → 데이터를 인덱싱해서 num2str 사용할 것

부산대학교 항공우주공학과 - 24 - DEPARTMENT OF AEROSPACE ENGINEERING.


2023
마무리 AI프로그래밍

부산대학교 항공우주공학과 - 25 - DEPARTMENT OF AEROSPACE ENGINEERING.

You might also like