- publishing free software manuals
GNU Octave Manual Version 3
by John W. Eaton, David Bateman, Søren Hauberg
Paperback (6"x9"), 568 pages
ISBN 095461206X
RRP £24.95 ($39.95)

Get a printed copy>>>

21.2 Orthogonal Collocation

Loadable Function: [r, amat, bmat, q] = colloc (n, "left", "right")
Compute derivative and integral weight matrices for orthogonal collocation using the subroutines given in J. Villadsen and M. L. Michelsen, Solution of Differential Equation Models by Polynomial Approximation.

Here is an example of using colloc to generate weight matrices for solving the second order differential equation u' - alpha * u” = 0 with the boundary conditions u(0) = 0 and u(1) = 1.

First, we can generate the weight matrices for n points (including the endpoints of the interval), and incorporate the boundary conditions in the right hand side (for a specific value of alpha).

n = 7;
alpha = 0.1;
[r, a, b] = colloc (n-2, "left", "right");
at = a(2:n-1,2:n-1);
bt = b(2:n-1,2:n-1);
rhs = alpha * b(2:n-1,n) - a(2:n-1,n);

Then the solution at the roots r is

u = [ 0; (at - alpha * bt) \ rhs; 1]
     => [ 0.00; 0.004; 0.01 0.00; 0.12; 0.62; 1.00 ]
ISBN 095461206XGNU Octave Manual Version 3See the print edition