\[ \begin{align*} \begin{Bmatrix} \mathrm{rate \, of \, change} \\ \mathrm{of \, heat ~in ~section } \end{Bmatrix} &= \begin{Bmatrix} \mathrm{rate \, heat } \\ \mathrm{conducted \, in~at~} x \end{Bmatrix} \\ \\ & - \begin{Bmatrix} \mathrm{rate ~ heat ~ conducted } \\ \mathrm{out~at~} x + \Delta x \end{Bmatrix} \end{align*} \\ \]
\[ \begin{Bmatrix} \mathrm{rate \, heat } \\ \mathrm{conducted \, in~at~} x \end{Bmatrix} = J(x)A \]
\[ \begin{Bmatrix} \mathrm{rate ~ heat ~ conducted } \\ \mathrm{out~at~} x + \Delta x \end{Bmatrix} = J(x+ \Delta x)A \]
\[ \begin{Bmatrix} \mathrm{rate \, of \, change} \\ \mathrm{of \, heat ~in ~section } \end{Bmatrix} = 0 \]
\[ J(x)A - J(x+ \Delta x)A = 0 \]
\[ \frac{J(x+ \Delta x) - J(x)}{\Delta x} = 0 \]
\[ \frac{J(x+ \Delta x) - J(x)}{\Delta x} = 0 \]
\[ \frac{dJ}{dx} = 0 \]
\[ \frac{d}{dx} \left(-k \frac{dU}{dx} \right) = 0 \]
\[ \frac{d^2 U}{dx^2} = 0 \]
\[ U(x) = a x + b \]
\[ U(x) = a x + b \]
\[ \frac{d^2 U}{dx^2} = 0 \]
\[ y'' + ay' + cy = 0, ~y(0) = y_{10}, ~y'(0) = y_{20} \]
\[ \begin{align*} y_1' & = y_2,~y_1(0) = y_{10} \\ y_2' & = -ay_2-by_1, ~y_2(0) = y_{20}\\ \end{align*} \]
\[ y'' = 0, ~y(0) = y_{10}, ~y'(0) = y_{20} \]
\[ \begin{align*} y_1' &= y_2,~~ y_1(0) = y_{10} \\ y_2' &= 0, ~~ y_2(0) = y_{20} = (-1/k)J(0) \end{align*} \]
\[ \begin{align*} y_1' &= y_2,~~ y_1(0) = y_{10} \\ y_2' &= 0, ~~ y_2(0) = y_{20} = (-1/k)J(0) \end{align*} \]
Ch95Ex1(1,100)
Ch95Ex1 <- function(L,n) {
#Ch9.5 Example
#Perform Rk4 for temperature y1 and
#scaled heat flux y2 = (-1/k)J(x)
#L is the width of slab or plate: [0, L]
#n is the number of time steps
h = L/n #This is the time step size
#System Parameters
x0 <- 0
y10 <- 10 #initial value for y1 = y(0)
y20 <- -1 #initial value for y2 = y'(0)
k <- 1 #k value for conductivity (heat flux)
#System of ODEs
a <- 0
b <- 0
f1 <- function(y2) {y2}
f2 <- function(y1,y2) {-a*y2-b*y1}
#Initialize vectors
x <- rep(0, n)
y1 <- rep(0, n)
y2 <- rep(0, n)
x[1] <- x0
y1[1] <- y10
y2[1] <- y20
#Runge-Kutta Loop (Generate vectors x, y1 and y2)
for(i in 1:n) {
a1 <- h*f1(y2[i]); #f1= slope of y1
a2 <- h*f2(y1[i],y2[i]); #f2= slope of y2
b1 <- h*f1(y2[i]+0.5*a1); #Half-step predictor
b2 <- h*f2(y1[i]+0.5*a2,y2[i]+0.5*a2);
c1 <- h*f1(y2[i]+0.5*b1); #Half-step predictor
c2 <- h*f2(y1[i]+0.5*b2,y2[i]+0.5*b2);
d1 <- h*f1(y2[i]+c1); #Full-step predictor
d2 <- h*f2(y1[i]+c2,y2[i]+c2);
y1[i+1] <- y1[i]+(1/6)*(a1+2*b1+2*c1+d1);
y2[i+1] <- y2[i]+(1/6)*(a2+2*b2+2*c2+d2);
x[i+1] <- x[i] + h }
\[ y'' + ay' + cy = 0, ~y(0) = y_{10}, ~y'(0) = y_{20} \]
\[ \begin{align*} y_1' & = y_2,~y_1(0) = y_{10} \\ y_2' & = -ay_2-by_1, y_2(0) = y_{20}\\ \end{align*} \]
\[ y'' - y' - 2y = 0, ~y(0) = 4, ~y'(0) = 2 \]
\[ \begin{align*} y_1' & = \mathrm{Your~answer~here} \\ y_2' & = \mathrm{Your~answer~here} \\ \end{align*} \]
\[ y'' - y' - 2y = 0, ~y(0) = 4, ~y'(0) = 2 \]
\[ \begin{align*} y_1' & = y_2, ~y_1(0) = 4 \\ y_2' & = y_2 + 2y_1, ~y_2(0) = 2\\ \end{align*} \]
\[ y'' +3y' + 2y = 0, ~y(0) = 2, ~y'(0) = -3 \]
\[ \begin{align*} y_1' & = \mathrm{Your~answer~here} \\ y_2' & = \mathrm{Your~answer~here} \\ \end{align*} \]
\[ y'' +3y' + 2y = 0, ~y(0) = 2, ~y'(0) = -3 \]
\[ \begin{align*} y_1' & = y_2,~y_1(0) = 2 \\ y_2' & = -3y_2-2y_1, ~y_2(0) =-3\\ \end{align*} \]