Solution Instability for the Explicit Method

Solution Instability for the Explicit Method:

As we observed in experiments using myheat.m the solution can befall unbounded unless the time steps are small.

Text the Difference Equations in Matrix Form:

If we use the boundary conditions u(0) = u(L) = 0 then the explicit method of the previous section has the form:

ui,j+1 = rui−1,j + (1 − 2r)ui,j + rui+1,j , 1 ≤ i ≤ m − 1, 0 ≤ j ≤ n − 1,

where u0,j = 0 and um,j= 0. This is equal to the matrix equation:

uj+1 = Auj,

where uj is the column vector (u1,j, u2,j, . . . , um,j)′ representing the state at the jth time step and A is the matrix:


Unluckily this matrix can have a property which is extremely bad in this context. Specifically it can cause exponential growth of error unless r is small. To observe how this happens suppose that Ujis the vector of correct values of u at time step tjand Ejis the error of the approximation uj, then

uj= Uj+ Ej.

The estimation at the next time step will be:

uj+1 = AUj+ AEj,

And if we continue for k steps,

uj+k= AkUj+ AkEj.

The problem with this is the term AkEj. This term is precisely what we would do in the power method for finding the eigenvalue of A with the largest absolute value. If the matrix A has ew’s with total value greater than 1 then this term will grow exponentially. The largest complete value of an ew of A as a function of the parameter r for various sizes of the matrix.

A. As you can observe for r >1/2 the largest absolute ew grows rapidly for any m and rapidly becomes greater than 1.

2089_complete eigenvalue.jpg

Maximum complete eigenvalue EW as a function of r for the matrix A from the explicit method for the heat equation calculated for matrices A of sizes m = 2 . . . 10. When EW >1 the method is unstable that is errors grow exponentially with each step. When by means of the explicit method r <1/2 is a safe choice.


Recall that r = ck/h2. Since this should be less than 1/2, we have:

k <h2/2c.

The first consequence is observable k should be relatively small. The second is that h can’t be too small. Ever since h2 appears in the formula making h small would force k to be extremely small!

A third consequence is that we comprise a converse of this analysis. Presume r < .5. Then every eigenvalues will be less than one. Evoke that the error terms satisfy:

uj+k= AkUj+ AkEj.

If all the eigenvalues of A are less than 1 in complete value then AkEj grows smaller and smaller as k increases. This is actually good. Rather than building up the consequence of any error diminishes as time passes! From this we get there at the following principle- If the explicit numerical solution for a parabolic equation doesn’t blow up then errors from previous steps fade away!

Ultimately we note that if we have other boundary conditions then instead of equation we have:

uj+1 = Auj+ rbj

Where the first as well as last entries of bjcontain the boundary conditions and all the other entries are zero. In this case the errors perform just as before if r >1/2 then the errors grow and if r <1/2 the errors fade away.

We are able to write a function program myexppmatrix that produces the matrix A in for given inputs m and r. Without using loops we are able to use the diag command to set up the matrix

function A = myexpmatrix(m,r)
% produces the matrix for the explicit method for a parabolic equation
% Inputs: m -- the size of the matrix
% r -- the main parameter, ck/h^2
% Output: A -- an m by m matrix
u = (1-2*r)*ones(m,1);
v = r*ones(m-1,1);
A = diag(u) + diag(v,1) + diag(v,-1);

Test this by means of m = 6 and r = .4.6, Check the eigenvalues as well as eigenvectors of the resulting matirices

> A = myexpmatrix
> [v e] = eig(A)

What is the ‘mode’ represented by the eigenvector with the largest absolute eigenvalue? How is that reproduce in the unstable solutions?

Latest technology based Matlab Programming Online Tutoring Assistance

Tutors, at the, take pledge to provide full satisfaction and assurance in Matlab Programming help via online tutoring. Students are getting 100% satisfaction by online tutors across the globe. Here you can get homework help for Matlab Programming, project ideas and tutorials. We provide email based Matlab Programming help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Matlab Programming. Through Online Tutoring, you would be able to complete your homework or assignments at your home. Tutors at the TutorsGlobe are committed to provide the best quality online tutoring assistance for Matlab Programming Homework help and assignment help services. They use their experience, as they have solved thousands of the Matlab Programming assignments, which may help you to solve your complex issues of Matlab Programming. TutorsGlobe assure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide the homework help as per the deadline or given instruction by the student, we refund the money of the student without any delay.