본문 바로가기

프로그램/MATLAB

【MATLAB】 화학반응 Arrhenius 방정식 문제풀이

- Chapra의 응용수치해석 3판 문제 2.20

[문제]

화학반응의 온도에 대한 의존성은 다음과 같은 Arrhenius 방정식으로 계산할 수 있다.


여기서 k는 반응속도(s^-1), A는 진동(또는 주파수) 인자, E는 활성에너지(J/mol), R은 기체상수[8.314 J/(mole*K)], 그리고 Ta는 절대온도(K)이다. 혼합물은 E = 1 x 10^5 J/mol 이며 A = 7 x 10^16 이다. MATLAB을 사용하여 온도 253에서 325K까지 반응속도의 값을 구하라. subplot을 사용하여
(a) Ta에 대한 k(녹색 선)와,
(b) 1/Ta에 대한 log10k(붉은색 선)의 그래프를 나란히 그려라.
semilogy 함수를 적용하여 (b)를 구하라. 두 subplot의 축에 라벨과 제목을 포함하라. 이들 결과를 해석하라.

[문제풀이]

우선, 주어진 값들을 입력했습니다.


1번줄에는 예의상 clear로 변수의 중복을 방지했고, 3~5번째줄까지는 해당 변수에 값을 대입해주었습니다. 그리고 Ta는 구간을 주어졌기때문에 위와같이 콜론표기법으로 작성했습니다.

Ta를 풀어보면 아래와 같이 나옵니다.


다음으로, 문제에서 주어진 Arrehenius 방정식을 입력해줍니다.


8번째 줄이 방정식을 입력해준 것입니다. 그리고 Ta가 벡터이므로 나누기 연산자 앞에 콤마를 붙여서 './'로 표기했습니다.

10번째줄부터는 그래프로 표현하기 위해 적은 명령들입니다.


그리고 17번처럼 변수를 하나더 만들어서 두번째 그래프의 x축값이 될 것을 만들어줍니다. (이렇게 계산을 미리하고 다음 과정을 시작하면, 메모리 사용량이 줄어든다고 합니다.)

그리고 19번째 줄부터는 똑같이 그래프를 만들어준 것입니다.

아래는 전체 코드와 결과 그래프 입니다.



*해석 : 위 첫번째 그래프를 보시면 온도 Ta가 증가할 때마다 반응속도는 log 함수형태로 증가하는 것을 눈으로 살펴볼 수 있습니다. 그리고 아래의 그래프는 조금더 수학적으로 표현했지만, 같은 의미로 해석됩니다. 이상!