You can edit almost every page by Creating an account. Otherwise, see the FAQ.

매트랩 오픈 길라잡이

EverybodyWiki Bios & Wiki

스크립트 오류: "Unsubst" 모듈이 없습니다. package.lua 80번째 줄에서 Lua 오류: module 'Module:Namespace detect/data' not found. package.lua 80번째 줄에서 Lua 오류: module 'Module:Message box/localize' not found.

매스웍스(Mathworks) 사(社)에서 개발한 프로그래밍 언어이자 툴(Tool)인 매트랩(Matlab)을 쉽게 사용할 수 있도록 안내하기 위한 공개 길라잡이 문서다.

Matlab 카카오톡 오픈채팅방 유저들이 주도하여 2020년 9월 9일에 시작한 '구(9)글링이 어려워 구(9)슬피 우는 공대생들에게' 프로젝트다.

본 문서의 모티브로 알려진 '게으른 맽랩'은 2020년 9월 9일 현재 서울 소재 모 대학에서 매트랩(Matlab)을 가르치고 있으며, 공학도에 맞추어진 매트랩(Matlab) 공식 도움말보다 더 사용자 친화적인 도움말을 제시하기 위하여 기여하고 있는 사람이다. 매트랩(Matlab) 공식 도움말은 영문 및 한국어로 잘 정리되어 있다는 평가를 받지만, 공학 툴(Tool)로 사용되어 온 매트랩(Matlab)의 특성상 프로그래밍에 특화된 개발자보다 공학의 여러 연구 분야에서 대학원생이나 연구원이 다루는 경우가 빈번하기 때문에 프로그래밍에 낯선 유입자가 존재한다. 특히 공학적ㆍ수학적 전문지식을 갖추지 않은 대학생들이 공부하고자 할 때, 매트랩(Matlab) 공식 도움말은 공학적ㆍ수학적 배경지식을 전제로 설명하고 있기 때문에 별도로 공부를 요구한다는 인상이 있다.

따라서 해당 오픈채팅방 커뮤니티는 매트랩(Matlab) 학습 과정을 단계별로 분류, 내장함수를 성격별로 빈도에 따라 분류, 용례 제시, 실수하거나 오해하기 쉬운 부분의 교정 등을 제시하는 문서를 만들고자 '구(9)글링이 어려워 구(9)슬피 우는 공대생들에게' 프로젝트를 시작하였다. 해당 오픈채팅방 커뮤니티는 '내 손안의 교수님'이라는 콘셉트를 앞세우며 활발한 교류를 이어오고 있으며, 그간 수많은 질의응답 경험을 축적함으로써 사람들이 자주 실수하고 오해하는 부분을 포함하여 정리하고 있다.

코드 작성 및 실행[편집]

명령창과 편집창(Command Window and Edit Window)[편집]

매트랩(Matlab)스크립트 언어의 특징을 가지며, 명령창편집창이 존재한다.

입문자가 매트랩(Matlab) 화면을 처음 마주할 때 가장 필요한 정보는 '일단 편집창(새 스크립트, New Script)을 켜세요'라고 할 수 있다.

입문자 친화적으로 요약하면 명령창은 이미 작성한 코드의 수정이 안 되는 곳, 편집창은 메모장처럼 코드 수정이 가능한 곳이다.

편집창(Edit Window)[편집]

편집창에서 매트랩 소스코드를 작성하면 되는데, 실행을 하기 위하여 소스코드를 저장하여야 한다.

소스파일의 이름은 식별자 작성 규칙을 따르며, 식별자 작성 규칙은 '문법' 항목에 소개하고 있다.


명령창은 결과를 확인하거나, 간단하게 입력을 받을 때 활용하는 공간이다. 이곳에서 간단한 한두 줄 명령을 보내고 즉석에서 한두 가지 결과를 확인할 때는 적합하나 대부분 주요 코드 작성은 편집창에서 이루어진다.

편집창은 주로 매트랩 소스코드 파일인 m-파일(*.m)을 작성하는 공간으로, 코드 작성이 이곳에서 이루어진다.

작업 공간(Workspace)[편집]

다른 프로그래밍 언어를 사용하여 개발 프로젝트를 생성하는 경우 워크스페이스(Workspace)는 조금 더 큰 규모로 사용하는 경우가 많다. 매트랩에서 사용하는 작업 공간(Workspace)은 일반적인 소프트웨어 개발에서 사용하는 워크스페이스(Workspace)보다 오히려 일부 프로그래밍 언어에서 사용하는 네임스페이스(Namespace)에 가깝다고 볼 수 있다.

사용하고 있는 '변수(Variable)'라는 데이터를 보관해두는 공간이다. 이곳에 변수가 기록되어 있는 동안, 그 변수를 사용할 수 있다.

문법(Syntax)[편집]

매트랩(Matlab)은 여러 공학 분야에서 사용되는 툴(Tool)이자 프로그래밍 언어이기 때문에, 기존에 다른 프로그래밍 언어를 다뤘던 사용자가 유입되는 경우도 빈번한 편이다. 그러나 해당 사용자가 여러 프로그래밍 언어 중 어떤 언어에 익숙할지 보장할 수 없기 때문에 여러 프로그래밍 언어에서 지원하는 문법을 도입해두었다.


하지만 매트랩(Matlab) 사용에 해당 문법들이 모두 필수적인 것은 아니며, 실제로 매트랩(Matlab) 사용에 필수적인 기본 문법을 공부하면 매트랩(Matlab) 사용에 무리가 없는 것으로 본다.

식별자 작성 규칙(변수명 작성 규칙 등)[편집]

매트랩(Matlab)에서는 변수명 등 식별자를 작성함에 있어 다음과 같은 규칙을 따른다.

이 규칙은 변수 이름, 함수 이름, m-파일(Matlab script 파일) 이름 등에 동일하게 적용된다.

  1. 시작은 영문으로 하여야 한다.
  2. 이후 영문, 숫자를 사용할 수 있으며,
  3. 특수문자는 언더바(_)만 사용할 수 있다.
  4. 영문은 대소문자를 구별하기 때문에 Abc와 abc는 서로 다른 변수다.
  5. 예약어(keywords)는 이미 특별한 의미로 사용되니 겹쳐서는 안 된다.
  6. 최대 63글자까지 가능하다.

많은 프로그래밍 언어와 달리, 언더바(_)로 시작하는 식별자는 사용할 수 없다.

위 규칙과 별개로 내장함수, 내장변수, 내장상수와 이름이 겹치지 않는 것을 권장한다.

이름이 겹칠 경우 작업공간 등에 그 변수나 함수가 살아있는 동안 기존 내장 기능을 사용할 수 없게 된다.

기본 문법[편집]

  • 기본 연산자와 기본 출력
  • 다양한 수의 표현(지수 표현(과학적 표기법), 복소수 표현 등)
  • 반복문
  • 조건문
  • 사용자 정의 함수

기본 내장함수[편집]

매트랩(Matlab)은 지원하는 내장함수가 매우 다양하다.

매트랩(Matlab)은 반복문, 조건문을 통하여 직접 로직을 작성하는 것보다, 알맞은 내장함수를 찾아서 사용하는 것이 성능면, 안정성면에서 유리하다고 보기 때문에 내장함수가 있다면 내장함수 사용을 권장한다.

실제로 상당히 복잡한 과정도 내장함수로 매우 짤막한 코드를 통해 다룰 수 있는 경우가 많으며, 성능에서도 이점을 확실하게 취하는 경우가 많다.

행렬 생성[편집]

자주 사용되는 예약어(Keywords)[편집]

매트랩 시각화(2차원)[편집]

plot의 원리[편집]

figure, axes, get, set[편집]

다양한 2차원 그래프[편집]

기본 수학 함수[편집]

산술[편집]

행렬 다루기 및 통계[편집]

삼각함수[편집]

정수를 다루는 함수[편집]

복소수[편집]

매트랩 시각화(3차원)[편집]

매트랩 GUI(Graphic User Interface)[편집]

GUIDE(기존 GUI)[편집]

매트랩(Matlab)의 기존 GUI인 GUIDE는 2020b 버전부터 지원하지 않을 예정이다.

GUIDE는 m-파일(*.m)과 figure 파일(*.figure)의 짝으로 구성되며, 이 두 파일은 확장자만 다르고 파일명이 같아야 한다.

Guide 창 열기[편집]

객체(Object) 요소[편집]

콜백 함수와 handles 매개변수[편집]

axes 지정[편집]

오프닝 펑션(Opening Function)[편집]

타이머 활용[편집]

App Designer(새로운 GUI)[편집]

애드 온 패키지(Add on Package, Library)[편집]

여러 프로그래밍 언어에서 '라이브러리'라고 부르는 것이며, 매스웍스(Mathworks) 사(社)에서 유료로 제공한다.


This article "매트랩 오픈 길라잡이" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:매트랩 오픈 길라잡이. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.



Read or create/edit this page in another language[편집]