MATLAB 사용자 정의 함수

(2020-09-25)

MATLAB 프로그래밍

1. MATLAB 사용자 정의 함수

  ㅇ 사용자 정의 함수의 특징
     - 내장함수 처럼 사용 가능
     - 사용자가 직접 정의할 수도, Mathworks社에서 만든 경우도 있음
        . 내용을 볼 수도 수정할 수도 있음

  ※ 사용자 정의 함수의 작성 규칙 및 편집 방법 : 아래 2.,3.항 참조

  ㅇ 검색 경로
     - 특정 함수(m 파일명과 같음)에 접근시, 
     - 우선 현재 폴더를 검색하고, 그 다음 지정된 검색 경로에서 찾음

  ㅇ 주 함수,지역 함수,사설 함수 비교
     - 주 함수(primary function) : m 파일 내 제일 위에 있는 함수 (m 파일명과 같음)
     - 지역 함수(subfunction) : 주 함수 다음에 정의되는 함수들
        . 동일 m 파일 내 다른 함수 만이 참조 가능
     - 사설 함수(private function) : private 명칭의 폴더 하의 함수들
        . private 폴더 및 직상위 폴더에 있는 함수들 만이 참조 가능

  ㅇ 사용자 정의 함수의 고급 기능
     - 함수의 함수 : 함수를 함수의 파라미터(인수)로써 전달 가능
     - 함수 핸들 : 함수를 참조할 때 필요한 정보들이 있는 곳을 가리키는 데이터형
     - 중첩 함수 : 호스트 함수라 불리는 또다른 함수의 본문(body) 내에 정의된 함수
        . 중첩 함수는 자신의 호스트 함수 및 해당 호스트 함수 내 동일 레벨 상의 다른 중첩 함수
          들 만이 참조 가능


2. MATLAB 사용자 정의 함수의 작성 규칙

  ㅇ 함수의 이름 규칙
     - 첫 글자는 문자
     - 이름에 문자,숫자,밑줄 가능
     - 예약어 사용 불가
     - 길이 제한 없음
     - 함수 파일(m 파일)을 저장할 때, 함수 이름과 파일 이름이 같아야 함

  ㅇ 함수 파일의 첫 줄 : 함수 선언문
     - function 으로 시작
     - 함수 출력 변수
     - 대입문 (=)
     - 함수 이름 및 괄호 ()
     - 함수 입력 변수 파라미터함수 선언문 직후 줄 : 함수 설명문
     - 함수 선언 바로 다음 줄에 주석 %로 써넣은 설명문이, 
     - `help 함수명` 명령에서 바로 이 설명문이 보이게 됨


3. MATLAB m 파일의 편집

  ㅇ m 파일 편집기
     - *.m 파일 편집기 (MATLAB 내장 편집기 또는 외부 워드드프로세서도 가능)
        . 편집기(editor) 및 디버거(debugger)를 하나의 패키지로 통합시켜 제공

  ㅇ m 파일
     - MATLAB 프로그램 코드를 작성하여 *.m 파일로 저장 및 실행 가능
     - 종류 : 스크립트 m 파일 (script m file), 함수 모음 m 파일 (functionn file)
     - 함수 모음 m 파일 (functionn file)
        . 함수 파일 첫번째 줄은, 함수 선언문으로 시작해야 함
        . 함수 선언문 例) function 외부 출력 변수들 = 함수명 (내부 입력 지역 변수들)
        . 함수 내 모든 변수지역 변수임

  ㅇ m 파일 함수를 만드는 방법의 종류
     - 함수 m 파일에 의한 사용자 정의 함수
     - inline() 객체를 이용하는 방법
     - 함수 핸들 이용 : 주어진 함수를 참조하는 방법

  ㅇ 편집 관련 주요 명령들 
     - edit (편집기 오픈)
     - which (DOS 경로 표시)
     - addpath (DOS 경로 설정)
     - input (키보드 입력을 통한 데이터 입력하기)
     - pause (프로그램 실행 일시 중지)
     - echo (실행되는 스크립트 파일을 화면에 표시)
     - % (주석)
     - nargin (입력 변수 개수)
     - nargout (출력 변수 개수) 등


[MATLAB 함수] 1. MATLAB 함수 2. 배열 행렬 함수 3. 삼각/지수/로그/쌍곡선 함수 4. 다항식 함수 5. 확률 통계 함수 6. 그래픽 함수 7. 사용자 정의 함수
  1.   기술공통
  2.   기초과학
        1. 과학
    1.   수학
          1. 수학
      1.   기초수학
      2.   집합,논리
      3.   해석학(미적분 등)
      4.   대수학
      5.   확률/통계
      6.   수치해법
            1. 수치 해석
            2. 천장,마루 함수
            3. R 언어
            4. 유한요소법
        1.   오차
        2.   근 찾기
        3.   곡선적합 (근사)
        4.   수치 미분/적분
        5.   수치 미분방정식
        6.   MATLAB
              1. MATLAB
              2. MATLAB 화면 구성
          1.   MATLAB 명령,변수,연산,제어구조
          2.   MATLAB 배열/행렬
          3.   MATLAB 함수
            1.   1. MATLAB 함수
                2. 배열 행렬 함수
                3. 삼각/지수/로그/쌍곡선 함수
                4. 다항식 함수
                5. 확률 통계 함수
                6. 그래픽 함수
                7. 사용자 정의 함수
          4.   MATLAB 기타
        7.   R 언어
    2.   물리
    3.   화학
    4.   지구,천체 과학
    5.   생명과학
    6.   뇌과학
  3.   진동/파동
  4.   전기전자공학
  5.   방송/멀티미디어/정보이론
  6.   통신/네트워킹
  7.   정보기술(IT)
  8.   공학일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌