[MATLAB] 문제 해결하기 1/2

YJ·2024년 10월 15일

MATLAB 공부하기

목록 보기
8/19
post-thumbnail

💡 MATLAB을 이용하여 함수를 정의하고 그래프를 그려보며 다양한 수학 문제들을 해결할 수 있다.

문제 예시

수열 관련 문제

a = zeros(10, 1); a(1) = 1;
for n = 1:9
	a(n+1) = a(n) * (1 - 1/(n+1)^2);
end
100*a(10)

a = zeros(8, 1); a(1) = 2;
b = a(1);
for n = 1:7
    a(n+1) = 2^(1+log2(a(n)));
    b = b * a(n+1);
end
log2(b)

xx = -6:0.01:8;
x = xx;
for i = 1:6
    y = f(xx);
    xx = y;
end
plot(x, y)

function y=f(x)
y = abs(x-1);
end

확률 관련 문제

주사위 구현하기

results = [];
for i=1:100000
    result = fix(rand*6) +1;
    results = [result results];
end

hist(results, 50)

영역에 들어갈 확률 계산하기

  • 위와 같은 영역에서 파란색점이 빨간색에 속하라 확률
  • 가정
    • 항상 영역 내를 맞춘다.
    • 영역 내에 어디든 맞출 확률은 동일하다.
in_red = 0; tries=10000000;
for i = 1:tries
    x = 3*rand; y=2*rand;
    if (y >= (1/3)*x + 1)
        in_red = in_red + 1;
    end
end
in_red/tries

영역에 들어갈 확률 계산하기 2

  • (참고) 두 곡선 사이에 영역은 항상 (f(x) - y)(g(x) - y) < 0에서 존재함
    • 여기서 y는 사각형 안에 찍은 점의 y 값
in_area = 0;
tries = 100000;

for i=1:tries
    x = 2*rand; y=rand;
    if (f(x) - y) * (g(x) - y) < 0
        in_area = in_area + 1;
    end
end
in_area/tries

function y = f(x)
y = exp(-x^2);
end

function y = g(x)
y = exp(x^2/10) - 1/2;
end

💡 도움이 되셨다면 ♡와 팔로우 부탁드려요!

profile
제 글이 유익하셨다면 ♡와 팔로우로 응원 부탁드립니다.

1개의 댓글

comment-user-thumbnail
2024년 10월 16일

역시 YJ님이세용

답글 달기