고유값(Eigenvalues)과 고유벡터(Eigenvectors)는 선형대수학의 근본 개념으로 물리학, 공학, 데이터 분석 등 다양한 분야에서 널리 쓰입니다. MATLAB에서 이 개념들을 쉽게 탐색하고 계산할 수 있습니다. 고유값(Eigenvalues)이란? 고유값(λ)은 벡터 공간의 선형 변환과 연관된 스칼라입니다. 변환 중 해당 고유벡터가 스케일링되는 비율을 나타냅니다. 고유벡터(Eigenvectors)란? 고유벡터는 선형 변환이 적용될 때 스칼라 배수만으로 변하는 0이 아닌 벡터입니다. 즉, A가 행렬이고 v가 A의 고유벡
강력한 수치 계산 환경인 MATLAB은 복잡하고 재사용 가능한 코드 생성을 돕기 위해 객체지향 프로그래밍(OOP)을 지원합니다. MATLAB의 OOP는 클래스와 객체 개념을 중심으로 돌아갑니다. MATLAB이 지원하는 객체지향 기능: 객체(Object) 클래스(Class) 캡슐화(Encapsulation) 상속(Inheritance) 다형성(Polymorphism) 추상화(Abstraction) 속성(Properties) 메서드 오버로딩(Method Overloading) OOP의 네 가지 핵심
역 코사인 변환(Inverse Cosine Transform, ICT 또는 IDCT)은 코사인 변환의 역연산입니다. 신호 및 이미지 처리에서 주파수 영역 표현으로부터 신호나 이미지를 재구성하는 데 특히 유용합니다. 2D 신호나 이미지 맥락에서 2D 역 코사인 변환(2D IDCT)은 코사인 계수 행렬(신호/이미지의 주파수 성분 표현)을 공간 영역으로 변환해 원래 신호나 이미지를 복원합니다. MATLAB에서 2D 역 코사인 변환은 코사인 값 행렬을 공간 영역 이미지로 변환하는 데 사용됩니다. 2D 코사인 변환의 역연산으로 이미지 처
가우시안 필터는 이미지 처리에서 이미지를 블러 처리하거나 부드럽게 만드는 선형 필터입니다. 가우시안 함수를 사용해 필터 형태를 정의하며, 노이즈와 디테일을 줄여 후처리나 분석에 적합하게 만듭니다. 라플라시안-가우시안(LoG) 필터는 이미지 향상과 에지 검출에 널리 쓰이는 필터로, 가우시안 필터와 라플라시안 필터를 결합한 것입니다. 가우시안 필터로 이미지를 평활화하고 노이즈를 줄인 뒤, 라플라시안 필터로 에지를 검출합니다. LoG 필터는 이미지에서 다양한 스케일의 에지를 검출하는 데 유용합니다. 가우시안 필터의 표준편차를 조절해
수학에서 미분은 함수가 변수에 대해 변화하는 비율을 나타냅니다. 간단히 말해, 함수가 주어진 점에서 어떻게 변화하는지 알려줍니다. 미분은 미적분학의 기초이며 물리학, 공학, 경제학 등에서 변화와 운동을 모델링하는 데 널리 쓰입니다. 예를 들어, 자동차 위치를 시간 함수로 표현하면 그 미분은 속도(위치 변화율)가 됩니다. 다항식 미분 다항식은 변수가 서로 다른 거듭제곱으로 결합된 수학적 표현입니다. 예: P(x) = 3x² + 2x + 5 (2차 다항식). 다항식 함수의 미분은 간단한 규칙으로 구합니다: 각 항의 계수에 지수를 곱하
MATLAB은 수식이나 함수를 시각화하는 강력한 도구를 제공합니다. 단순한 선형 방정식부터 복잡한 수식까지 다양한 함수를 플로팅하고 2D 또는 3D 공간에서 시각화할 수 있습니다. 이 기능은 수학적 함수의 동작을 분석하고 이해해야 하는 엔지니어, 과학자, 수학자에게 특히 유용합니다. 표현식 또는 함수 플로팅은 MATLAB에서 다음 메서드로 수행할 수 있습니다. `fplot()` — 2D 플로팅용 `fplot3()` — 3D 플로팅용 MATLAB에서 fplot() 사용하기 MATLAB의 `fplot()` 함수는 지정된
Simulink 개요 Simulink는 MATLAB과 통합된 동적/임베디드 시스템 시뮬레이션 및 모델 기반 설계 환경입니다. MathWorks 개발로, 데이터플로 그래픽 프로그래밍 언어로 다중 영역 동적 시스템 모델링, 시뮬레이션, 분석을 지원합니다. 사용자 정의 가능한 블록 라이브러리를 제공하는 그래픽 블록 다이어그램 도구입니다. MATLAB 알고리즘을 모델에 통합하고 시뮬레이션 결과를 MATLAB로 내보내 추가 분석 가능. Simulink 지원 기능 시스템 레벨 설계 시뮬레이션 자동 코드 생성 임베디드 시스템 테스트 및 검증
GNU Octave 개요 GNU Octave는 MATLAB과 거의 호환되는 고수준 프로그래밍 언어로 수치 계산에 사용됩니다. GPL 라이선스로 자유롭게 재배포/수정 가능. MATLAB과 공통 특징 행렬이 기본 데이터 타입 복소수 내장 지원 내장 수학 함수/라이브러리 사용자 정의 함수 지원 MATLAB vs Octave 호환성 대부분 MATLAB 프로그램은 Octave에서 실행되지만, Octave 전용 구문(큰따옴표 문자열 등)은 MATLAB에서 안 될 수 있습니다. 호환되는 예제: 3D 표면 플롯 [x,y] = meshgr
라플라스 변환 (Laplace Transform) 시간 함수 f(t)의 라플라스 변환: F(s) = ∫₀^∞ f(t)e^{-st} dt. 미분방정식을 대수방정식으로 변환해 풀이 단순화. MATLAB: laplace(f(t)) 예제: 주요 함수 라플라스 변환 syms s t a b w laplace(a) % a/s laplace(t^2) % 2/s^3 laplace(t^9) % 362880/s^10 laplace(exp(-b*t)) % 1/(b+s) laplace(sin(w*t))
다항식 표현 MATLAB은 다항식을 내림차순 계수 행 벡터로 표현합니다. 예: P(x) = x⁴ + 7x³ - 5x + 9 → p = [1 7 0 -5 9] (x² 항 계수 0 명시). 다항식 평가 (polyval, polyvalm) polyval(p, x): 스칼라 x에서 다항식 값 계산 polyvalm(p, X): 행렬 X에 대한 행렬 다항식 계산 (X는 정방행렬) 예제: x=4에서 평가 p = [1 7 0 -5 9]; polyval(p, 4) 결과: 693 예제: 행렬 다항식 평가 p = [1 7 0 -5 9]; X
적분의 두 가지 유형 부정적분(Indefinite Integral): 도함수가 주어졌을 때 원함수 찾기 (미분의 역과정). 임의 상수 c 포함. 정적분(Definite Integral): 미세한 양들의 합의 극한으로 면적, 부피, 질량중심, 관성모멘트, 일 등 계산. MATLAB로 부정적분 구하기 (int 함수) int(f)로 부정적분 계산. 예: int(2*x) → x^2. 예제 1: 자주 쓰이는 표현식 적분 syms x n int(sym(x^n)) f = sin(n*t); int(sym(f)) syms a t; int(a
diff 명령으로 도함수 계산 MATLAB diff 명령은 심볼릭 도함수를 계산합니다. 기본 형태: diff(f). 예제: f(t) = 3t² + 2t⁻² 미분 syms t f = 3*t^2 + 2*t^(-2); diff(f) 결과: ans = 6*t - 4/t^3 Octave equivalent pkg load symbolic symbols t = sym(t); f = 3*t^2 + 2*t^(-2); differentiate(f, t) 미분 기본 규칙 검증 주요 규칙: 선형성: (af+bg) = af + bg 합/차: (f
극한 계산 (limit 함수) MATLAB limit 함수는 표현식의 극한을 계산합니다. 기본 형태는 독립 변수가 0으로 갈 때 극한을 구합니다. 심볼릭 변수 선언(syms)이 필요합니다. 예제: x→0에서 (x³+5)/(x⁴+7) 극한 syms x limit((x^3 + 5)/(x^4 + 7)) 결과: ans = 5/7 x→a 극한 구하기 limit((x - 3)/(x-1), 1) % x→1 limit(x^2 + 5, 3) % x→3 결과: NaN (발산), 14 Octave에서 극한 계산 (symbolic 패
MATLAB에서 기본 대수 방정식 풀기 solve 함수는 대수 방정식을 풉니다. 가장 간단한 형태는 방정식을 따옴표로 감싸 인수로 전달하는 것입니다. 예제: x - 5 = 0 풀기 solve(x-5=0) 결과: ans = 5 변수에 저장: y = solve(x-5 = 0) → y = 5 우변 생략 가능: solve(x-5) → ans = 5 여러 심볼이 있을 때 변수 지정 solve(equation, variable) 예: v - u - 3*t^2 = 0을 v에 대해 풀기 solve(v-u-3*t^2=0, v) 결과: ans =
막대 차트(Bar Charts) 그리기 bar 명령으로 2차원 막대 차트를 그립니다. 예제: 학생 성적 막대 차트 10명 학생 점수: 75, 58, 90, 87, 50, 85, 92, 75, 60, 95 x = [1:10]; y = [75, 58, 90, 87, 50, 85, 92, 75, 60, 95]; bar(x,y), xlabel(Student), ylabel(Score), title(First Sem:) print -deps graph.eps 학생 번호(x축) 대비 점수(y축) 막대 차트가 생성됩니다. 등고선(Contou
함수 그래프 그리기 기본 3단계 x 정의: 독립 변수 x의 값 범위 지정 함수 정의: y = f(x) 계산 plot 호출: plot(x, y) 실행 예제 1: y = x (0~100, 증분 5) x = [0:5:100]; y = x; plot(x, y) 직선 그래프가 표시됩니다. 예제 2: y = x² (증분 크기에 따른 부드러움 차이) x = [-100:20:100]; y = x.^2; plot(x, y) 증분 20으로 거친 곡선 나옴. 증분을 5로 줄이면: x = [-100:5:100]; y = x.^2; plot(x,
데이터 내보내기 개요 MATLAB에서 데이터 내보내기란 데이터를 파일에 쓰는 것입니다. ASCII 파일을 읽는 다른 응용프로그램에서 데이터를 활용할 수 있도록 여러 내보내기 옵션을 제공합니다. 생성 가능한 파일 유형 배열로부터 구분된 직사각형 ASCII 데이터 파일 키스트로크와 텍스트 출력의 일지(diary/log) 파일 fprintf 등 저수준 함수로 만드는 특수 ASCII 파일 특정 텍스트 파일 형식을 쓰는 C/C++/Fortran 루틴에 접근하는 MEX 파일 스프레드시트로도 내보낼 수 있습니다. 숫자 배열을 구분된 AS
importdata 함수 개요 MATLAB에서 데이터 가져오기란 외부 파일에서 데이터를 로드하는 것입니다. importdata 함수는 다양한 형식의 파일을 불러올 수 있으며 5가지 구문을 제공합니다. 번호구문 및 설명 1A = importdata(filename) - 파일에서 배열 A로 데이터 로드 2A = importdata(-pastespecial) - 시스템 클립보드에서 데이터 로드 3A = importdata(___, delimiterIn) - ASCII 파일/클립보드에서 열 구분자 지정 4A = importdata
함수 기초 함수는 특정 작업을 수행하는 문장들의 집합입니다. MATLAB에서 함수는 별도 파일에 정의되며, 파일명과 함수명이 동일해야 합니다. 함수는 자신만의 로컬 워크스페이스에서 변수를 다루며, 이는 MATLAB 명령 프롬프트의 기본 워크스페이스(base workspace)와 분리됩니다. 여러 입력 인수를 받고 여러 출력 인수를 반환할 수 있습니다. 함수 구문 function [out1,out2,...,outN] = myfun(in1,in2,in3,...,inN) 예제: 최댓값 구하는 함수 mymax 파일명: mymax.m
문자열 생성 기초 MATLAB에서 문자열 생성은 간단합니다. 명령 프롬프트에 다음과 같이 입력하면 됩니다. my_string = Tutorials Point 실행 결과: my_string = Tutorials Point MATLAB은 모든 변수를 배열로 다루며, 문자열은 문자 배열(character array)로 간주됩니다. whos 명령으로 확인해 보겠습니다. whos 실행 결과: Name Size Bytes Class Attributes my_string 1x16 32 char
MATLAB