1. MATLAB 사용자 정의 함수
ㅇ 사용자 정의 함수의 특징
- 내장함수 처럼 사용 가능
- 사용자가 직접 정의할 수도, Mathworks社에서 만든 경우도 있음
- 내용을 볼 수도 수정할 수도 있음
※ 사용자 정의 함수의 작성 규칙 및 편집 방법 : 아래 2.,3.항 참조
ㅇ 검색 경로
- 특정 함수(m 파일명과 같음)에 접근시,
- 우선 현재 폴더를 검색하고, 그 다음 지정된 검색 경로에서 찾음
ㅇ 주 함수,지역 함수,사설 함수 비교
- 주 함수(primary function) : m 파일 내 제일 위에 있는 함수 (m 파일명과 같음)
- 지역 함수(subfunction) : 주 함수 다음에 정의되는 함수들
. 동일 m 파일 내 다른 함수 만이 참조 가능
- 사설 함수(private function) : private 명칭의 폴더 하의 함수들
. private 폴더 및 직상위 폴더에 있는 함수들 만이 참조 가능
2. 사용자 정의 함수의 고급 기능
ㅇ 익명 함수 : 이름 없이도 쓸 수 있는 함수
- 함수의 이름을 정의 않고도, 함수를 정의할 수 있는, 이름 없는 함수
- 함수를 명령창이나 m 파일에서 정의하여 만들 수 있음
ㅇ 함수의 함수 : 함수를 함수의 파라미터(인수)로써 전달 가능
- 다른 함수를 입력 인수으로 받아들일 수 있음
ㅇ 함수 핸들 : 함수의 참조
- 함수를 참조할 때 필요한 정보들이 있는 곳을 가리키는 데이터형
ㅇ 중첩 함수 : 호스트 함수라 불리는 또다른 함수의 본문(body) 내에 정의된 함수
- 중첩 함수는 자신의 호스트 함수 및 해당 호스트 함수 내 동일 레벨 상의 다른 중첩 함수
들 만이 참조 가능
3. MATLAB 사용자 정의 함수의 작성 규칙
ㅇ 함수 파일의 첫 줄 : 함수 선언문
- ① function 으로 시작
- ② 함수 출력 변수
- ③ 대입문 (=)
- ④ 함수 이름 및 괄호 ()
- ⑤ 함수 입력 변수 파라미터
* 例) function output = my_function(x)
. ① function ② output ③ = ④ my_function(⑤ x)
ㅇ 함수 선언문 직후 줄 : 함수 설명문
- 함수 선언 바로 다음 줄에 주석 %로 써넣은 설명문이,
- `help 함수명` 명령에서 바로 이 설명문이 보이게 됨
ㅇ 함수의 이름 규칙
- 첫 글자는 문자
- 이름에 문자,숫자,밑줄 가능
- 예약어 사용 불가
- 길이 제한 없음
- 함수 파일(m 파일)을 저장할 때,
, 반드시, 함수 이름과 파일 이름이 같아야 함
4. MATLAB m 파일의 편집
ㅇ m 파일 이란?
- MATLAB 프로그램 코드를 작성하여, *.m 파일로 저장 및 실행 가능
ㅇ m 파일의 편집
- *.m 파일 편집기
. (MATLAB 내장 편집기 또는 외부 워드드프로세서도 가능)
. 편집기(editor) 및 디버거(debugger)를 하나의 패키지로 통합시켜 제공
- 편집 관련 주요 명령들
. edit (편집기 오픈)
. which (DOS 경로 표시)
. addpath (DOS 경로 설정)
. input (키보드 입력을 통한 데이터 입력하기)
. pause (프로그램 실행 일시 중지)
. echo (실행되는 스크립트 파일을 화면에 표시)
. % (주석)
. nargin (입력 변수 개수)
. nargout (출력 변수 개수) 등
ㅇ m 파일의 종류
- 스크립트 m 파일 (script m file)
- 함수 m 파일 (function m file)
. 함수 파일 첫번째 줄은, 함수 선언문으로 시작해야 함
. 함수 선언문 例) function 외부 출력 변수들 = 함수명 (내부 입력 지역 변수들)
. 함수 내 모든 변수는 지역 변수임
ㅇ m 파일 함수를 만드는 방법의 종류
- 함수 m 파일에 의한 사용자 정의 함수
- inline() 객체를 이용하는 방법
- 함수 핸들 이용 : 주어진 함수를 참조하는 방법