MATLAB 정보 공유

MATLAB 함수 A to Z 종합 가이드 📌

경제적자유기원 2025. 3. 11. 12:37
728x90
반응형

안녕하세요! MATLAB을 배우고 싶은 분들을 위한 완벽 가이드를 준비했어요 😊
MATLAB은 강력한 프로그래밍 도구인데, 그 핵심은 바로 **함수(function)**예요!
코드를 재사용할 수 있게 하고, 복잡한 문제를 작고 관리하기 쉽게 만들어주죠.

이 글에서는 MATLAB 함수 사용법을 처음부터 끝까지 배워볼 거예요!
기본적인 함수 정의부터 고급 기술까지, 다양한 예제와 함께 하나씩 익혀봐요! 🚀


📌 MATLAB 함수란?

함수란 입력값을 받아 특정 연산을 수행한 후 결과를 반환하는 코드 블록이에요.
쉽게 말해, 입력 데이터를 가공해서 원하는 결과를 뽑아내는 계산 상자라고 생각하면 돼요!

MATLAB에서 함수를 만들 때 기본적인 구조는 다음과 같아요.

function [출력1, 출력2, ...] = 함수이름(입력1, 입력2, ...)
    % 함수 설명 (도움말 텍스트)
    % 실행할 코드 작성
end

📍 중요한 특징:

  • 함수의 이름과 파일 이름(.m 파일)이 같아야 해요!
  • 여러 개의 입력과 출력을 가질 수 있어요.
  • 코드가 길어질수록 함수를 활용하면 가독성이 좋아지고 유지보수가 쉬워져요!

✅ MATLAB 함수의 3가지 유형

1️⃣ 글로벌 함수 (Global Function)

가장 일반적인 형태로, 별도의 .m 파일에서 정의하는 함수예요.
파일 이름은 반드시 함수 이름과 동일해야 해요.

🔹 예제: 두 숫자 중 큰 값을 반환하는 함수

function result = findMax(a, b)
    if a > b
        result = a;
    else
        result = b;
    end
end

이 함수를 사용하려면 findMax.m 파일로 저장한 후, MATLAB에서 이렇게 실행하면 돼요!

x = findMax(10, 20);  % 결과: 20

2️⃣ 로컬 함수 (Local Function)

한 .m 파일 안에서 여러 개의 함수를 정의할 수 있어요.
이 경우, 주 함수(main function) 뒤에 로컬 함수들을 추가하면 돼요!

🔹 예제: 삼각형 넓이를 계산하는 주 함수 + 로컬 함수

function area = mainFunction(base, height)
    area = triangleArea(base, height);
end

% 로컬 함수
function area = triangleArea(b, h)
    area = 0.5 * b * h;
end

3️⃣ 익명 함수 (Anonymous Function)

파일을 만들지 않고, 한 줄짜리 간단한 함수를 만들 때 사용해요.
특히 함수 핸들을 전달할 때 유용하답니다!

🔹 예제: 제곱을 계산하는 익명 함수

sqr = @(x) x.^2;
result = sqr(5);  % 결과: 25

익명 함수는 다음과 같이 활용할 수도 있어요.

f = @(x, y) x.^2 + y.^2;
z = f(3, 4);  % 결과: 25

📊 MATLAB 함수에서 수학 연산 활용하기

🔹 기본 연산

MATLAB에서는 다음과 같은 기본 연산을 함수 내에서 자유롭게 사용할 수 있어요.

연산 연산자

덧셈 +
뺄셈 -
곱셈 *
나눗셈 /
거듭제곱 ^

🔹 예제: 기본 연산을 수행하는 함수

function [sumResult, powerResult] = basicMath(a, b)
    sumResult = a + b;
    powerResult = a^b;
end

🔹 행렬 연산

MATLAB은 행렬 기반 프로그래밍 언어이므로, 행렬 연산이 매우 중요해요!

A = [1 2; 3 4];   % 2x2 행렬
B = [5 6; 7 8];

C = A * B;   % 행렬 곱셈
D = A .* B;  % 요소별 곱셈 (각 요소끼리 곱하기)

🔹 복소수 연산

MATLAB에서는 복소수 연산도 쉽게 할 수 있어요!

z = 3 + 4j;  % 복소수 정의
mag = abs(z);  % 크기 계산
phase = angle(z);  % 위상 계산

📈 MATLAB 함수 시각화 (그래프 그리기)

함수를 그래프로 그리면 데이터의 변화를 쉽게 이해할 수 있어요!

🔹 기본 그래프 그리기

MATLAB에서 가장 많이 쓰는 그래프 함수는 plot()이에요.

x = 0:0.1:10;  % 0부터 10까지 0.1 간격으로 값 생성
y = sin(x);  
plot(x, y, 'r--');  % 빨간색 점선 그래프

🔹 3D 그래프

3차원 그래프도 쉽게 그릴 수 있어요!

[X, Y] = meshgrid(-5:0.5:5, -5:0.5:5);
Z = X.^2 + Y.^2;
surf(X, Y, Z);  % 3D 곡면 그래프

🏆 MATLAB 고급 함수 활용

🔹 비선형 방정식 풀이 (fzero)

어떤 함수가 f(x) = 0을 만족하는 값을 찾고 싶다면?
MATLAB의 fzero()를 사용하면 돼요!

f = @(x) x^2 - 4;
root = fzero(f, 1);  % x^2 - 4 = 0의 해 (x=2 또는 -2 중 하나)

🔹 텍스트 데이터 분석

문장을 단어로 나누고 싶다면 tokenizedDocument()를 사용하면 돼요!

txt = "MATLAB은 데이터 분석에 유용합니다.";
doc = tokenizedDocument(txt);

🎯 MATLAB 함수 작성 꿀팁!

🔹 가독성을 높이자!

  • 함수명은 의미 있게 정하기 (calcArea 대신 triangleArea)
  • help 명령어를 위한 설명 추가하기
function y = myFunction(x)
    % 이 함수는 x의 제곱을 반환합니다.
    y = x^2;
end

🔹 연산 최적화!

  • for 루프 대신 벡터 연산 활용하기
  • 미리 행렬 크기를 지정해서 속도를 높이기
% 비효율적인 코드
for i = 1:length(A)
    B(i) = A(i) * 2;
end

% 효율적인 코드
B = A * 2;

✨ 결론

이제 MATLAB 함수의 기본 개념부터 고급 활용법까지 모두 배웠어요! 🎉
📌 핵심 요약

  • 함수는 입력을 받아 연산 후 결과를 반환하는 코드 블록
  • 글로벌, 로컬, 익명 함수 활용 가능
  • 함수에서 기본 연산, 행렬 연산, 그래프 그리기 가능
  • 고급 활용법(비선형 방정식, 텍스트 분석)까지 가능!

이제 직접 MATLAB에서 다양한 함수를 만들어보고 실행해보세요!
궁금한 점이 있다면 언제든지 댓글로 남겨주세요! 😊

 

728x90
반응형