Mathematics |
Solving PDE Problems
pdepe
Example: A Single PDE
This example illustrates the straightforward formulation, solution, and plotting of the solution of a single PDE
This equation holds on an interval for times . At , the solution satisfies the initial condition
At and , the solution satisfies the boundary conditions
Note
The demo pdex1 contains the complete code for this example. The demo uses subfunctions to place all functions it requires in a single M-file. To run the demo type pdex1 at the command line. See PDE Solver Basic Syntax for more information.
|
pdepe
. See Introduction to PDE Problems for more information. For this example, the resulting equation is
pdepe
can use. The function must be of the form
c
, f
, and s
correspond to the , , and terms. The code below computes c
, f
, and s
for the example problem.
pdex1bc
.
In the function pdex1bc
, pl
and ql
correspond to the left boundary conditions (), and pr
and qr
correspond to the right boundary condition ().
pdepe
to evaluate the solution. Specify the points as vectors t
and x
.
t
and x
play different roles in the solver (see MATLAB Partial Differential Equation Solver). In particular, the cost and the accuracy of the solution depend strongly on the length of the vector x
. However, the computation is much less sensitive to the values in the vector t
.
This example requests the solution on the mesh produced by 20 equally spaced points from the spatial interval [0,1] and five values of t
from the time interval [0,2].
pdepe
with m = 0
, the functions pdex1pde, pdex1ic, and pdex1bc, and the mesh defined by x and t at which pdepe
is to evaluate the solution. The pdepe
function returns the numerical solution in a three-dimensional array sol
, where sol(i,j,k)
approximates the k
th component of the solution, , evaluated at t(i)
and x(j)
.
@
to pass pdex1pde
, pdex1ic
, and pdex1bc
as function handles to pdepe
.
Note
See the function_handle (@), func2str , and str2func reference pages, and the Function Handles chapter of "Programming and Data Types" in the MATLAB documentation for information about function handles.
|
u = sol(:,:,1); surf(x,t,u) title('Numerical solution computed with 20 mesh points') xlabel('Distance x') ylabel('Time t')
=
2
. See Evaluating the Solution at Specific Points for more
information.
MATLAB Partial Differential Equation Solver | Evaluating the Solution at Specific Points |
© 1994-2005 The MathWorks, Inc.