
ode45 함수의 형식에 맞춰서 입력하면 미분방정식 해를 구해 그래프를 그릴 수 있다.
@ydot 은 함수 핸들러 파일이다.(input이 t와 y이고 output 이 dy/dt를 나타내는 벡터여야 함)
tspan 은 독립변수 t의 범위를 포함하고 있다.
y0은 y의 초기값을 의미한다.
미분방정식이 1차라면(1계도함수) y0은 스칼라 값이다.
(더 higher 하다면, y0은 벡터값이다.)
function hdot = height(t,h)
hdot = -(0.0344*sqrt(h))/(10*h-h^2);
end
[t,h] = ode45(@height, [0,2465], 9);
plot(t,h)
%%ode45 함수는 matlab의 미분방정식을 풀어주는 solver이다.
%%To solve the equation dy/dt = f(t,y)

xdot 행렬을 만든 뒤,

[t, x] = ode45(@example_1, [0, 6], [3, 9]);
문제에서 t의 범위와 x(함숫값)의 처음 위치를 알려준다.
여기서는 이계도함수이므로 y0이 벡터값이다. ( [3,9] 임 )
이렇게 plot 을 그리면
plot(t,x(:,1),t,x(:,2))
[ 현재 x 벡터에는 xdot1과 xdot2 가 같이 있을 것이다. 따라서 모든행 1열(xdot1 값) x(:,1) 만 출력해주면 아래 그래프와 같이 표현된다. ]

'Yonsei Univ > Matlab' 카테고리의 다른 글
Matlab simulink 활용 문제 풀이 - 1차,2차 미분방정식 풀이, 삼각함수 설계 (0) | 2022.12.28 |
---|---|
Matlab 8 - Simulink 시뮬링크 ( 시뮬레이션 및 모델 기반 설계 ) (0) | 2022.12.28 |
Matlab 6 - 행렬곱 , 다항식 적분 , 적분 (0) | 2022.12.28 |
Matlab Study 5 (If,while,else,switch,end,for 문) (0) | 2022.12.28 |
Matlab - Study 4 (If, elseif , end, 논리연산자 &~|) (0) | 2022.12.28 |