MATLAB

모델링 및 시뮬레이션

주요 기능

  • 수치 연산, 시각화응용 프로그램 개발을 위한 높은 수준의 언어
  • 반복적인 데이터 분석, 설계 및 문제 해결을 위한 쉬운 사용자 환경 제공
  • 선형 대수, 통계, 푸리에 해석, 필터링, 최적화, 수치 적분 및 상미분방정식 풀이
  • 데이터 시각화를 위한 내장 그래프와 사용자 전용 플롯 작성을 위한 툴 제공
  • 코드 품질 및 유지보수성을 향상시키고 성능을 극대화하는 개발 툴
  • 사용자 전용 그래픽 인터페이스가 있는 응용 프로그램 작성용 툴 지원 MATLAB 기반 알고리즘을 외부 응용 프로그램과 C, Java, .NET 및 Microsoft® Excel® 같은 언어로 통합하는 기능
MATLAB Desktop을 사용한 데이터 분석 및 시각화.
크게보기 MATLAB Desktop을 사용한 데이터 분석 및 시각화 또한 MATLAB 환경에서 프로그램을 작성하고 알고리즘 및 응용 프로그램을 개발할 수 있습니다.

수치 계산

MATLAB은 데이터 분석, 알고리즘 개발, 모델 작성을 위한 다양한 수치 연산 메소드를 제공합니다. MATLAB 언어에는 일반적인 엔지니어링 및 과학 연산을 지원하는 수학 함수가 포함됩니다. 핵심 수학 함수는 벡터와 행렬 연산을 빠르게 실행할 수 있도록 프로세서 최적화 라이브러리를 사용합니다.

다음과 같은 메소드를 사용할 수 있습니다.

  • 보간 및 회귀
  • 미분 및 적분
  • 선형 시스템 방정식 작성
  • 푸리에 해석
  • 고유값과 특이값 분해
  • 상미분방정식(ODE)
  • 희소 행렬작성

MATLAB 추가 기능 제품은 통계, 최적화, 신호 처리 및 기계 학습과 같은 전문화된 분야를 위한 기능을 제공합니다.

2-D 큐빅 보간을 사용한 격자 데이터의 개선
크게보기 2-D 큐빅 보간을 사용한 격자 데이터의 개선

데이터 분석 및 시각화

MATLAB은 데이터를 수집, 분석 및 시각화함으로써 스프레드시트나 기존의 프로그래밍 언어를 사용한 경우 보다 시간을 단축하실 수 있습니다.또한 플롯과 자동 리포트생성 기능을 통해, 또는 자동화된MATLAB 코드로 결과를 공유할 수 있습니다.

MATLAB을 활용한 데이터 분석 및 시각화
MATLAB을 활용하여 사용자의 데이터를 탐색, 시각화 및 모델링해 보십시오.

데이터 수집

MATLAB을 통해 파일, 다른 응용 프로그램, 데이터베이스 및 외부 장치에서 데이터를 액세스할 수 있습니다. Microsoft Excel과 같이 널리 쓰이는 파일 형식, 텍스트 또는 바이너리 파일, 이미지, 사운드 및 비디오 파일, netCDF 및 HDF와 같은 과학파일 형식에서 데이터를 읽을 수 있습니다. 파일 I/O 기능을 통해 모든 형식의 데이터 파일에 대한 작업이 가능합니다.

MATLAB과 추가 기능 제품을 사용함으로써 컴퓨터의 직렬 포트나 사운드 카드와 같은 하드웨어 장치에서 데이터를 수집하거나 스트림 데이터를 직접 MATLAB에서 스트리밍하여 분석 및 시각화할 수 있습니다. 오실로스코프, 함수 생성기 및 신호 분석기와 같은 도구를 통해 통신할 수도 있습니다.

가져오기 도구를 사용하여 MATLAB으로 가져올 혼합 수치 및 텍스트 파일
크게보기 Import 툴을사용하여 MATLAB으로 가져올 수치 및 텍스트혼합된 형태의 MATLAB은 자동으로 파일을 가져오는 스크립트나 함수를 자동으로 생성합니다.

데이터 분석

MATLAB을 통해 데이터를 관리, 필터링 및 사전 처리할 수 있습니다. 자료 분석을 수행하여 동향을 파악하고 가설을 테스트하며 설명 모델을 제작할 수 있습니다. MATLAB은 필터링 및 스무딩, 보간, 컨볼루션 및 FFT(fast Fourier transform)를 위한 함수를 제공합니다. 추가 기능은 Curve Fitting Toolbox, 다변량 통계, 스펙트럼 분석, 이미지 분석, 시스템 식별 및 기타 분석 작업을 위한 기능을 제공합니다.

MATLAB과 Curve Fitting Toolbox를 사용하여 사용자 전용 모델에서 표면을 데이터에 피팅.
크게보기 MATLAB과 Curve Fitting Toolbox를 사용하여 사용자 전용모델에서 표면을 데이터에 피팅.

데이터 시각화

MATLAB은 내장된 2-D 및 3-D 플롯 함수는 물론 볼륨 시각화 함수도 제공합니다. 이러한 함수를 사용하여 데이터를 시각화하고 이해하며 결과를 공유하실 수 있습니다. 사용자가 원하는 형태의 플롯은 대화식환경 또는 프로그래밍 방식으로  바꾸실 수 있습니다.

MATLAB 플롯 갤러리는 MATLAB에서 데이터를 시각적으로 표현하는 다양한 예제를 제공합니다. 각 예제에 대하여 MATLAB 응용 프로그램에서 사용할 소스 코드를 보거나 다운로드할 수 있습니다.

MATLAB 대화형 플롯 환경을 사용하여 표면 윤곽 플롯 편집
크게보기 MATLAB 대화식 플롯 환경을 사용하여 곡면 그래프 및 칸토르 플롯 편집

결과 문서화 및 공유

플롯 또는 완전한 보고서로 결과를 공유할 수 있습니다. MATLAB 플롯은 사용자 전용 보고서 작성 기능을 제공하며일반적인 그래픽 및 데이터 파일 형식으로 저장할 수 있습니다.

MATLAB 프로그램을 실행할 때 자동으로 보고서를 생성할 수 있습니다. 보고서에는 코드, 주석 및 플롯을 비롯한 프로그램 결과가 포함됩니다. 보고서는 HTML, PDF, Word 또는 LaTeX와 같은 다양한 형식으로 보고서를 생성하실 수 있습니다.

MATLAB Editor를 사용하여 HTML로 공개된 MATLAB 프로그램
크게보기 MATLAB Editor를 사용하여 HTML(우)로 공개된 MATLAB 프로그램(좌) Command Window에 표시되거나 플롯으로 표시되는 결과가 캡처 및 포함되고 코드 주석이 HTML에서 섹션 헤딩과 본문 텍스트로 바뀝니다.

프로그래밍 및 알고리즘 개발

MATLAB은 알고리즘과 응용 프로그램을 빠르게 개발 및 분석할 수 있는 높은 수준의 언어와 개발 도구를 제공합니다.

MATLAB을 활용한 프로그래밍 및 알고리즘 개발
MATLAB에서 상위 수준 언어(high-level language) 및 개발 툴을 사용하여 프로그램을 작성하고 알고리즘을 개발해 보십시오.

MATLAB 언어

MATLAB 언어는 엔지니어링 및 과학 문제 해결의 기초를 이루는 벡터 및 행렬 연산을 위한 지원을 기본적으로 제공하여 빠른 개발과 실행을 가능하게 합니다.

MATLAB 언어를 사용하면 변수 선언, 데이터 유형 지정, 메모리 할당과 같은 낮은 수준의 관리 작업을 수행할 필요가 없으므로 기존 언어보다 빠르게 프로그램을 작성하고 알고리즘을 개발할 수 있습니다. 대부분의 경우 벡터와 행렬 연산 지원은 for-loops를 필요 없게 합니다. 따라서 MATLAB 코드 한 줄로 C 또는 C++ 코드 여러 줄을 대체할 수 있는 경우가 많습니다.

MATLAB은 흐름 제어, 오류 취급 및 객체 지향적 프로그래밍(OOP)과 같은 기존 프로그래밍 언어의 특징을 제공합니다. 기본 데이터 유형 또는 고급 데이터 구조를 사용하거나 사용자 전용 데이터를 정의할 수 있습니다.

한 번에 하나씩 대화식으로 명령을 실행하여 즉각적인 결과를 얻을 수 있습니다. 이 접근 방식으로 여러 옵션을 빠르게 탐색하고 최적의 솔루션을 반복적으로 수행하실 수 있습니다. 대화형 환경에서 작업하고 이를 스크립트 및 함수로 자동화된 코드를 작성하고 재사용하여 작업을 자동화할 수 있습니다.

MATLAB 추가 기능 제품은 신호 처리 및 통신, 이미지 및 비디오 처리, 제어 시스템 및 기타 도메인을 위한 알고리즘을 내장하고 있습니다. 이러한 알고리즘을 자체 알고리즘과 결합하여 복잡한 프로그램과 응용 프로그램을 제작할 수 있습니다.

1024 임의 비트를 생성하고 벡터를 전송 신호로 변환하며 noise를 추가하고 9줄의 MATLAB 코드로 결과를 플롯하는 통신 알고리즘
크게보기 1024 임의 비트를 생성하고 벡터를 전송 신호로 변환하며 noise를 추가하고 9줄의 MATLAB 코드로 결과를 플롯하는 통신 알고리즘

개발 도구

MATLAB은 다음을 포함하여 효율적인 알고리즘 개발을 위한 다양한 도구를 포함합니다.

  • Command 창 - 대화식으로 데이터를 입력하고 명령 및 프로그램을 실행하며 결과를 표시할 수 있음
  • MATLAB Editor - 중단점 설정과 개별 코드 행 탐색과 같은 편집 및 디버깅 기능 제공
  • Code Analyzer - 코드 오류를 자동으로 검사하고 성능 및 유지보수성 극대화를 위한 수정 사항을 제안
  • MATLAB Profiler - MATLAB 프로그램의 성능을 측정하고 코드 영역을 파악하여 개선 사항을 수정

추가 툴은 코드와 데이터 파일을 비교하고 파일 종속성, 주석 미리 알림 및 코드 커버리지를 보여주는 보고서를 제공합니다.

문제 진단을 위해 디버그 모드에서 실행되는 MATLAB 프로그램
크게보기 문제 진단을 위해 디버그 모드에서 실행되는 MATLAB 프로그램

다른 언어 및 응용 프로그램과 통합

MATLAB 응용 프로그램을 다른 언어로 작성된 응용 프로그램과 통합할 수 있습니다. MATLAB에서 C, C++, Java 및 .NET으로 작성된 코드를 직접 호출할 수 있습니다. MATLAB 엔진 라이브러리를 사용하여 C, C++ 또는 Fortran 응용 프로그램에서 MATLAB을 호출할 수 있습니다.

성능

MATLAB은 빠른 행렬 및 벡터 연산 실행을 위해 프로세서 최적화 라이브러리를 사용합니다. 일반 용도 스칼라 연산의 경우 MATLAB은 JIT(just-in-time) 컴파일 기술을 사용하여 기존 프로그래밍 언어와 견줄만한 실행 속도를 제공합니다.

MATLAB은 멀티 코어 및 멀티 프로세서 컴퓨터를 활용하기 위해 다양한 멀티스레드 선형 대수 및 수치 함수를 제공합니다. 이러한 함수는 단일 MATLAB 세션의 여러 연산 스레드에서 자동으로 실행되어 멀티 코어 컴퓨터에서 빠른 실행이 가능합니다.

GPU나 클러스터와 같은 멀티코어 데스크탑과 기타 고성능 컴퓨팅 리소스를 Parallel ComputingToolbox  추가  제품과 함께 활용할 수 있습니다. 이러한 제품은 MATLAB 코드를 거의 바꾸지 않고 응용 프로그램을 병렬화할 수 있는 높은 수준의 구문을 제공합니다.

Parallel Computing
대용량 데이터 처리 프로젝트를 가속화 할 수 있는 병렬 컴퓨팅 솔루션에 대해 알아봅니다.

응용 프로그램 개발 및 배포

MATLAB 도구와 추가 기능 제품은 응용 프로그램 개발과 구현을 위한 다양한 옵션을 제공합니다. 개별 알고리즘과 응용 프로그램을 다른 MATLAB 사용자와 함께 공유하거나 MATLAB이 없는 다른 사람에게 로열티 없이 배포할 수 있습니다.

어플리케이션 개발 및 배포
MATLAB 어플리케이션을 코드, 실행파일 또는 소프트웨어 구성요소로 개발하고 공유해 보십시오.

그래픽 사용자 인터페이스 디자인

그래픽 사용자 인터페이스 개발 환경(GUIDE)을 사용하여 그래픽 사용자 인터페이스를 배치, 디자인 및 편집할 수 있습니다. 목록 상자, 풀다운 메뉴 및 푸시 버튼과 같은 일반 컨트롤은 물론 MATLAB 플롯도 포함할 수 있습니다. 그래픽 사용자 인터페이스는 MATLAB 함수를 사용하여 프로그래밍 방식으로 생성할 수도 있습니다.

바람 분석 GUI의 GUIDE 레이아웃과 완성된 인터페이스
크게보기 바람 분석 GUI(위)의 GUIDE 레이아웃과 완성된 인터페이스(아래)

응용 프로그램 배포

응용 프로그램을 다른 MATLAB 사용자에게 직접 배포하려면 배포를 위한 단일 파일을 제공하는 MATLAB 응용 프로그램으로 패키징할 수 있습니다. 응용 프로그램은 편리한 액세스를 위해 자동으로 MATLAB 응용 프로그램 갤러리에 설치됩니다.

MATLAB이 없는 다른 사람과 응용 프로그램을 공유하려면 응용 프로그램 배포 제품을 사용할 수 있습니다. 이러한 추가 기능 제품은 C, C++, Java, .NET 및 Excel 환경 통합을 위한 독립형 응용프로그램, 공유 라이브러리 및 소프트웨어 구성 요소를 자동으로 생성합니다. 실행 파일과 구성 요소는 로열티 없이 배포할 수 있습니다.

MATLAB Production Server를 사용하면 MATLAB Compiler를 통해 패키징된 MATLAB 프로그램을 생산 시스템 내에서 실행할 수 있으므로 웹, 데이터베이스 및 기업용 응용 프로그램에서 수치 분석을 통합할 수 있습니다.

MATLAB Compiler 개요
MATLAB Compiler™을 활용하여 MATLAB 프로그램으로부터 독립형 응용 프로그램 및 소프트웨어 구성 요소를 구축합니다.

C 코드 생성

MATLAB Coder를 사용하여 MATLAB 코드에서 독립된 C 코드를 생성할 수 있습니다. MATLAB Coder는 대규모 시스템의 구성요소로서 알고리즘을 개발하는 설계 엔지니어들이 흔히 사용하는 MATLAB 언어 서브세트를 지원합니다. 이 코드는 독립 실행, 다른 소프트웨어 응용 프로그램과의 통합을 위해 또는 임베디드 응용 프로그램의 일부로 사용될 수 있습니다.

MATLAB 코드와 생성된 C 코드를 보여주는 코드 생성 보고서
크게보기 MATLAB 코드(좌)와 생성된 C 코드를 보여주는 코드 생성 보고서(우)