0% found this document useful (0 votes)
3 views

EXAMPLES

Uploaded by

Trần Vũ
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

EXAMPLES

Uploaded by

Trần Vũ
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 75

Manipulating Multidimensional Arrays

This example shows how to work with arrays having more than two dimensions. Multidimensional arrays can be
numeric, character, cell, or structure arrays.
Multidimensional arrays can be used to represent multivariate data. MATLAB® provides a number of functions that
directly support multidimensional arrays.

Creating Multi-Dimensional Arrays


Multidimensional arrays in MATLAB are created the same way as two-dimensional arrays. For example, first define
the 3-by-3 matrix, and then add a third dimension.
A = [5 7 8;
0 1 9;
4 3 6];
A(:,:,2) = [1 0 4;
3 5 6;
9 8 7]
A=

(:,:,1) =

5 7 8
0 1 9
4 3 6

(:,:,2) =

1 0 4
3 5 6
9 8 7

The cat function is a useful tool for building multidimensional arrays. B = cat(DIM,A1,A2,...) builds a
multidimensional array by concatenating A1, A2 ... along the dimension DIM.
B = cat( 3, [2 8; 0 5], [1 3; 7 9], [2 3; 4 6])
B=

(:,:,1) =

2 8
0 5

(:,:,2) =

1 3
7 9

(:,:,3) =

2 3
4 6

Calls to cat can be nested.


A = cat(3,[9 2; 6 5], [7 1; 8 4]);
B = cat(3,[3 5; 0 1], [5 6; 2 1]);
C = cat(4,A,B,cat(3,[1 2; 3 4], [4 3; 2 1]));

Finding the Dimensions


size and ndims return the size and number of dimensions of matrices.
SzA = size(A)
SzA =

2 2 2

DimsA = ndims(A)
DimsA = 3
SzC = size(C)
SzC =

2 2 2 3

DimsC = ndims(C)
DimsC = 4

Accessing Elements
To access a single element of a multidimensional array, use integer subscripts. For example, using A defined from
above, A(1,2,2) returns 1.
Array subscripts can also be vectors. For example:
K = C(:,:,1,[1 3])
K=

(:,:,1,1) =

9 2
6 5

(:,:,1,2) =

1 2
3 4

Manipulating Multi-Dimensional Arrays


reshape, permute, and squeeze are used to manipulate N-dimensional arrays. reshape behaves as it does for 2-D
arrays. The operation of permute is illustrated below.
Let A be a 3-by-3-by-2 array. permute(A,[2 1 3]) returns an array with the row and column subscripts reversed
(dimension 1 is the row, dimension 2 is the column, dimension 3 is the depth and so on). Similarly, permute(A,
[3,2,1]) returns an array with the first and third subscripts interchanged.
A = rand(3,3,2);
B = permute(A, [2 1 3]);
C = permute(A, [3 2 1]);

Selecting 2-D Matrices From Multi-Dimensional Arrays


Functions like eig that operate on planes or 2-D matrices do not accept multi-dimensional arrays as arguments. To
apply such functions to different planes of the multi-dimensional arrays, use indexing or for loops. For example:
A = cat( 3, [1 2 3; 9 8 7; 4 6 5], [0 3 2; 8 8 4; 5 3 5], ...
[6 4 7; 6 8 5; 5 4 3]);
% The EIG function is applied to each of the horizontal 'slices' of A.
for i = 1:3
eig(squeeze(A(i,:,:)))
end
ans =

10.3589
-1.0000
1.6411

ans =
21.2293 + 0.0000i
0.3854 + 1.5778i
0.3854 - 1.5778i

ans =
13.3706 + 0.0000i
-1.6853 + 0.4757i
-1.6853 - 0.4757i

interp3, interpn, and ndgrid are examples of interpolation and data gridding functions that operate specifically on
multidimensional data. Here is an example of ndgrid applied to an N-dimensional matrix.
x1 = -2*pi:pi/10:0;
x2 = 2*pi:pi/10:4*pi;
x3 = 0:pi/10:2*pi;
[x1,x2,x3] = ndgrid(x1,x2,x3);
z = x1 + exp(cos(2*x2.^2)) + sin(x3.^3);
slice(z,[5 10 15], 10, [5 12]);
axis tight
You can build multidimensional cell arrays and multidimensional structure arrays, and can also convert between
multidimensional numeric and cell arrays.
To find out more, consult the MATLAB documentation on multidimensional arrays.

MATLAB Plot Gallery - Subplot (2)


his is an example of how to create subplots with multiple plot types in MATLAB®.

Read about the subplot function in the MATLAB documentation.

% Create the data to be plotted


TBdata = [1990 4889 16.4; 1991 5273 17.4; 1992 5382 17.4; 1993 5173 16.5;
1994 4860 15.4; 1995 4675 14.7; 1996 4313 13.5; 1997 4059 12.5;
1998 3855 11.7; 1999 3608 10.8; 2000 3297 9.7; 2001 3332 9.6;
2002 3169 9.0; 2003 3227 9.0; 2004 2989 8.2; 2005 2903 7.9;
2006 2779 7.4; 2007 2725 7.2];

measles = [38556 24472 14556 18060 19549 8122 28541 7880 3283 4135 7953 1884]';
mumps = [20178 23536 34561 37395 36072 32237 18597 9408 6005 6268 8963 13882]';
chickenPox = [37140 32169 37533 39103 33244 23269 16737 5411 3435 6052 12825 23332]';
years = TBdata(:, 1);
cases = TBdata(:, 2);
rate = TBdata(:, 3);

% Create the pie chart in position 1 of a 2x2 grid


figure
subplot(2, 2, 1)
pie([sum(measles) sum(mumps) sum(chickenPox)], {'Measles', 'Mumps', 'Chicken Pox'})
title('Childhood Diseases')

% Create the bar chart in position 2 of a 2x2 grid


subplot(2, 2, 2)
bar(1:12, [measles/1000 mumps/1000 chickenPox/1000], 0.5, 'stack')
xlabel('Month')
ylabel('Cases (in thousands)')
title('Childhood Diseases')
axis([0 13 0 100])
set(gca, 'XTick', 1:12)

% Create the stem chart in position 3 of a 2x2 grid


subplot(2, 2, 3)
stem(years, cases)
xlabel('Years')
ylabel('Cases')
title('Tuberculosis Cases')
axis([1988 2009 0 6000])

% Create the line plot in position 4 of a 2x2 grid


subplot(2, 2, 4)
plot(years, rate)
xlabel('Years')
ylabel('Infection Rate')
title('Tuberculosis Cases')
axis([1988 2009 5 20])
MATLAB Plot Gallery - Curve with Lower and Upper
Bounds
This is an example of how to create a curve with lower and upper bounds in MATLAB®.

% Load the data for x, y, and yfit


load fitdata x y yfit

% Create a scatter plot of the original x and y data


figure
scatter(x, y, 'k')

% Plot yfit
line(x, yfit, 'Color', 'k', 'LineStyle', '-', 'LineWidth', 2)

% Plot upper and lower bounds, calculated as 0.3 from yfit


line(x, yfit + 0.3, 'Color', 'r', 'LineStyle', '--', 'LineWidth', 2)
line(x, yfit - 0.3, 'Color', 'r', 'LineStyle', '--', 'LineWidth', 2)

% Add a legend and axis labels


legend('Data', 'Fit', 'Lower/Upper Bounds', 'Location', 'NorthWest')
xlabel('X')
ylabel('Noisy')

=>>THAM KHẢO NHIỀU VÍ DỤ HƠN TẠI ĐÂY:


https://www.mathworks.com/products/matlab/plot-gallery.html

MATLAB Source Codes

1. alpert_rule, a library which can set up an Alpert quadrature rule for functions
which are regular, log(x) singular, or 1/sqrt(x) singular.
2. analemma, a program which evaluates the equation of time, a formula for the
difference between the uniform 24 hour day and the actual position of the
sun, based on a C program by Brian Tung.
3. area_under_curve, a function which displays the area under a curve, that is,
the points (x,y) between the x axis and the curve y=f(x).
4. args, a program which shows how to count and report command line
arguments;
5. arpack, a library which computes eigenvalues and eigenvectors of large sparse
matrices, accessible via MATLAB's built-in eigs() command;
6. asa005, a library which evaluates the lower tail of the noncentral Student's T
distribution, by BE Cooper. This is a version of Applied Statistics Algorithm 5;
7. asa006, a library which computes the Cholesky factor of a positive definite
symmetric matrix, by Michael Healy; This is a version of Applied Statistics
Algorithm 6;
8. asa007, a library which computes the inverse of a positive definite symmetric
matrix, by Michael Healy; This is a version of Applied Statistics Algorithm 7.
9. asa032, a library which evaluates the incomplete Gamma function, by G
Bhattacharjee. This is a version of Applied Statistics Algorithm 32;
10.asa047, a library which minimizes a scalar function of several variables using
the Nelder-Mead algorithm, by R ONeill. This is a version of Applied Statistics
Algorithm 47;
11.asa053, a library which produces sample matrices from the Wishart
distribution, by William Smith and Ronald Hocking. This is a version of Applied
Statistics Algorithm 53.
12.asa058, a library which carries out clustering of data, by David Sparks. This is a
version of Applied Statistics Algorithm 58;
13.asa063, a library which evaluates the incomplete Beta function, by KL
Majumder and G Bhattacharjee. This is a version of Applied Statistics
Algorithm 63;
14.asa066, a library which computes the cumulative density function (CDF) of the
standard normal distribution, by David Hill. This is a version of Applied
Statistics Algorithm 66;
15.asa076, a library which evaluates Owen's T function, by Young and Minder.
This is a version of Applied Statistics Algorithm 76;
16.asa091, a library which computes the percentage points of the Chi-square
distribution, by Best and Roberts. This is a version of Applied Statistics
Algorithm 91;
17.asa103, a library which evaluates the digamma or psi function, by Jose
Bernardo. This is a version of Applied Statistics Algorithm 103;
18.asa109 a library which inverts the incomplete Beta function, by Cran, Martin
and Thomas. This is a version of Applied Statistics Algorithm 109;
19.asa111 a library which evaluates the percentage points of the normal
distribution, by Beasley and Springer. This is a version of Applied Statistics
Algorithm 111;
20.asa113 a library which clusters data using a transfer and swap algorithm, by
Banfield and Bassill; This is a version of Applied Statistics Algorithm 113;
21.asa121, a library which evaluates the trigamma function, by BE Schneider. This
is a version of Applied Statistics Algorithm 121;
22.asa136, a library which implements a clustering algorithm, by Hartigan and
Wong. This is a version of Applied Statistics Algorithm 136;
23.asa144, a library which randomly generates tables with given row and column
sums, by James Boyett. This is a version of Applied Statistics Algorithm 144;
24.asa147, a library which evaluates the incomplete Gamma function, by Chi
Leung Lau. This is a version of Applied Statistics Algorithm 147;
25.asa152, a library which evaluates the probability density function (PDF) and
cumulative density function (CDF) associated with the hypergeometric
distribution, by Richard Lund; This is a version of Applied Statistics Algorithm
152;
26.asa159, a library which computes a random table with given row and column
sums, by Michael Patefield; This is a version of Applied Statistics Algorithm
159;
27.asa172, a library which generates all M dimensional indices in a given range,
simulating the behavior of an arbitrary number of nested loops, by OFlaherty
and MacKenzie; this is a version of Applied Statistics Algorithm 172;
28.asa183, a library which implements a random number generator (RNG), by
Wichman and Hill; this is a version of Applied Statistics Algorithm 183;
29.asa226, a library which evaluates the noncentral incomplete Beta function, by
Russell Lenth; this is a version of Applied Statistics Algorithm 226;
30.asa239, a library which evaluates the incomplete Gamma function, by Shea;
this is a version of Applied Statistics Algorithm 239;
31.asa241, a library which computes the inverse of the normal cumulative density
function (CDF), by Michael Wichura; this is a version of Applied Statistics
Algorithm 241;
32.asa243, a library which evaluates the lower tail of the noncentral Student's T
distribution, by Russell Lenth; this is a version of Applied Statistics Algorithm
243;
33.asa245, a library which evaluates the logarithm of the Gamma function, by
Allan Mcleod; this is a version of Applied Statistics Algorithm 245;
34.asa266, a library which evaluates various properties of the Dirichlet probability
density function (PDF); this is a version of Applied Statistics Algorithm 266;
35.asa299, a library which computes the lattice points (integer coordinates) in an
M dimensional simplex, by Chasalow and Brand; this is a version of Applied
Statistics Algorithm 299;
36.asa310, a library which evaluates the noncentral incomplete Beta function, by
Chattamvelli and Shanmugam. This is a version of Applied Statistics Algorithm
310;
37.asa314, a library which computes the inverse of a matrix whose elements are
subject to modulo arithmetic, by Roger Payne. This is a version of Applied
Statistics Algorithm 314.
38.atbash, a library which applies the Atbash substitution cipher to a string of
text.
39.backtrack_binary_rc, a library which carries out a backtrack search for a set of
binary decisions, using reverse communication (RC).
40.ball_and_stick_display, a program which demonstrates the creation of a 3D
image constructed from balls and sticks;
41.ball_grid, a library which computes a grid of points over the interior of the unit
ball in 3D.
42.ball_integrals, a library which returns the exact value of the integral of any
monomial over the interior of the unit ball in 3D.
43.ball_monte_carlo, a library which applies a Monte Carlo method to estimate
integrals of a function over the interior of the unit ball in 3D;
44.bank, a library which computes the check digit associated with a US Bank
Routing Number check digit, or reports whether a 9-digit code is actually valid.
45.barycentric_interp_1d, a library which defines and evaluates the barycentric
Lagrange polynomial p(x) which interpolates a set of data, so that p(x(i)) = y(i).
The barycentric approach means that very high degree polynomials can safely
be used.
46.bellman_ford, a library which implements the Bellman-Ford algorithm for
finding the shortest distance from a given node to all other nodes in a directed
graph whose edges have been assigned real-valued lengths.
47.bernstein_approximation, a library which looks at some simple cases of
approximation of a function f(x) by a Bernstein polynomial.
48.bernstein_polynomial, a library which evaluates the Bernstein polynomials;
49.besselj, a library which evaluates Bessel J functions of noninteger order;
50.beta_nc, a library which evaluates the cumulative density function (CDF) of
the noncentral Beta distribution;
51.bezier_surface, a library which reads, writes, prints and manipulates the data
that defines a Bezier surface;
52.bezier_surface_display, a program which displays a Bezier surface;
53.birthday_remote, a program which runs a Monte Carlo simulation of the
birthday paradox, and includes instructions on how to run the job, via
MATLAB's batch facility, on a remote system such as Virginia Tech's Ithaca
cluster.
54.bisection_integer, a library which seeks an integer solution to the equation
F(X)=0, using bisection within a user-supplied change of sign interval [A,B].
55.bisection_rc, a library which seeks a solution to the equation F(X)=0 using
bisection within a user-supplied change of sign interval [A,B]. The procedure is
written using reverse communication (RC).
56.black_scholes, a library which implements some simple approaches to the
Black-Scholes option valuation theory, by Desmond Higham.
57.blas, a library which contains the Basic Linear Algebra Subprograms (BLAS) for
level 1, 2 and 3, for single and double precision, and for real and complex
arithmetic.
58.blas0, a library which contains auxilliary functions for the Basic Linear Algebra
Subprograms (BLAS).
59.blas1, a library which contains the Basic Linear Algebra Subprograms (BLAS)
for level 1 (vector-vector operations), for single and double precision, and for
real and complex arithmetic.
60.blas1_c, a library which implements the Level 1 Basic Linear Algebra
Subprograms (BLAS), using single precision complex arithmetic;
61.blas1_d, a library which implements the Level 1 Basic Linear Algebra
Subprograms (BLAS), using double precision real arithmetic;
62.blas1_s, a library which implements the Level 1 Basic Linear Algebra
Subprograms (BLAS), using single precision real arithmetic;
63.blas1_z, a library which implements the Level 1 Basic Linear Algebra
Subprograms (BLAS), using double precision complex arithmetic;
64.blas2, a library which contains the Level 2 Basic Linear Algebra Subprograms
(BLAS) for matrix-vector operations;
65.blas3, a library which contains the Level 3 Basic Linear Algebra Subprograms
(BLAS) for matrix-matrix operations.
66.blend, a library which carries out 1D/2D/3D blending interpolation;
67.blsprice, programs which demonstrate the use of the BLSPRICE function, for
Black-Scholes option pricing, from the MATLAB Financial Mathematics
toolbox.
68.box_behnken, a library which computes a Box-Behnken design, that is, a set of
arguments to sample the behavior of a function of multiple parameters;
69.box_display, a program which displays a box plot, over integer pairs of data, of
a function defined by two formulas.
70.box_plot, a program which displays a box plot of data that consists of pairs of
integers;
71.brain_sensor_pod, a program which applies the method of Proper Orthogonal
Decomposition (POD) to seek underlying patterns in sets of 40 sensor readings
of brain activity.
72.brent, a library which contains routines for finding zeroes or minima of a scalar
function of a scalar variable, without the use of derivative information,
including a reverse communication (RC) option, by Richard Brent.
73.brownian_motion_simulation, a library which simulates Brownian motion in
an M dimensional region.
74.buckling_spring, a program which plots solutions of the buckling spring
equations.
75.burgers_solution, a library which evaluates exact solutions of the time-
dependent 1D viscous Burgers equation.
76.burgers_steady_viscous, a library which solves the steady (time-independent)
viscous Burgers equation using the finite difference method (FDM) applied to
the conservative form of the equation, using Newton's method to solve the
resulting nonlinear system.
77.burgers_time_inviscid, a library which solves the time-dependent inviscid
Burgers equation using the finite difference method (FDM), and one of six
solution methods selected by the user.
78.burgers_time_viscous, a library which solves the time-dependent viscous
Burgers equation using the finite difference method (FDM) applied to the
conservative form of the equation.
79.bvec, a library which demonstrates how signed integers can be stored as
binary vectors, and arithmetic can be performed on them.
80.bvp4c, programs which illustrate how to use the MATLAB command bvp4c(),
which can solve boundary value problems (BVP's) in one spatial dimension.
81.c4lib, a library which implements certain elementary functions for single
precision complex ("C4") variables;
82.c8lib, a library which implements certain elementary functions for double
precision complex ("C8") variables;
83.caesar, a library which can apply a Caesar Shift Cipher to a string of text.
84.calendar_nyt, a library which shows the correspondence between dates and
the New York Times volume and issue number;
85.calpak, a library which makes various calendar calculations;
86.cauchy_principal_value, a library which uses Gauss-Legendre quadrature to
estimate the Cauchy Principal Value (CPV) of certain singular integrals.
87.cavity_flow_display, a library which displays a single velocity field solution for
the driven cavity;
88.cavity_flow_movie, a library which animates the velocity solutions for the
driven cavity;
89.cc_display, a program which displays the points used in a 2D Clenshaw-Curtis
quadrature rule;
90.cc_io a library which reads and writes sparse linear systems stored in the
Compressed Column (CC) format.
91.cc_project, a library which investigates generalized Clenshaw-Curtis
quadrature rules for semi-infinite and infinite intervals, by John Boyd.
92.cc_to_st a library which converts a sparse matrix from compressed column
(CC) to sparse triplet (ST) format.
93.ccl, a program which estimates the Lebesgue constants for sets of points in [-
1,+1] computed in several ways. The program is probably of limited interest
except as an example of an application of the lebesgue_constant() function.
94.ccn_rule, a program which defines a Clenshaw Curtis Nested (CCN) quadrature
rule.
95.ccvt_box, a program which calculates a Constrained Centroidal Voronoi
Tessellation (CCVT) for points constrained to lie in a box, with some points
moved to the boundary;
96.ccvt_reflect, a program which calculates a Constrained Centroidal Voronoi
Tessellation (CCVT) for points constrained to lie in a box, with some points
pushed towards the boundary;
97.cell, a library which defines a cell array, a generalization of an array which can
compactly store and retrieve vector or matrix data of varying size, such as the
rows of a triangular matrix.
98.cell_detection_tasks, a program which creates modified versions of a
sequence of gray-scale tagged image files (TIF's) containing images of
biological cells; the process of each file is carried out independently, using the
task feature of MATLAB's parallel computing toolbox.
99.cellular_automaton, a program which demonstrates the 1D Cellular
Automaton known as rule #30.
100. centralize, a library which estimates the centroid and radius of a shape,
or a set of data points, in a space of arbitrary dimension.
101. cg, a library which implements a simple version of the conjugate
gradient (CG) method for solving a system of linear equations of the form
A*x=b, suitable for situations in which the matrix A is positive definite (only
real, positive eigenvalues) and symmetric.
102. cg_distributed, a program which implements a version of the NAS
conjugate gradient (CG) benchmark, using distributed memory.
103. cg_lab_triangles, a collection of programs associated with a computer
lab assignment on computational geometry and triangles;
104. cg_rc, a library which implements the conjugate gradient (CG) method
for solving a positive definite sparse linear system A*x=b, using reverse
communication (RC).
105. chain_letter_tree, a program which analyzes a similarity matrix for 11
versions of a single chain letter and produces a dendrogram or tree diagram
that suggests the degrees of relatedness and the evolutionary history of the
letters.
106. change_making, a library which considers the change making problem,
in which a given sum is to be formed using coins of various denominations.
107. chebyshev, a library which computes the Chebyshev
interpolant/approximant to a given function over an interval.
108. chebyshev_interp_1d, a library which determines the combination of
Chebyshev polynomials which interpolates a set of data, so that p(x(i)) = y(i).
109. chebyshev_polynomial, a library which considers the Chebyshev
polynomials T(i,x), U(i,x), V(i,x) and W(i,x). Functions are provided to evaluate
the polynomials, determine their zeros, produce their polynomial coefficients,
produce related quadrature rules, project other functions onto these
polynomial bases, and integrate double and triple products of the
polynomials.
110. chebyshev_series, a library which can evaluate a Chebyshev series
approximating a function f(x), while efficiently computing one, two or three
derivatives of the series, which approximate f'(x), f''(x), and f'''(x), by Manfred
Zimmer.
111. chebyshev1_rule, a program which computes and writes out a Gauss-
Chebyshev type 1 quadrature rule of given order.
112. chebyshev2_rule, a program which computes and writes out a Gauss-
Chebyshev type 2 quadrature rule of given order.
113. chrpak, a library which manipulates characters and strings;
114. circle_arc_grid, a program which computes grid points along a circular
arc.
115. circle_grid_display a program which reads a matrix of integers, and
draws a corresponding grid of circles filled with color.
116. circle_integrals, a library which returns the exact value of the integral of
any monomial over the circumference of the unit circle in 2D.
117. circle_monte_carlo, a library which applies a Monte Carlo method to
estimate the integral of a function along the circumference of the unit circle in
2D;
118. circle_rule, a library which computes quadrature rules for the unit circle
in 2D, that is, the circumference of the circle of radius 1 and center (0,0).
119. circle_segment, a library which carries out computations associated
with a circle segment, including height, angle, area, centroid, sampling, and
quadrature.
120. circles, a library which can be used, when creating graphics, to draw
one or more circles, while controlling the center locations, radii, colors, edge
colors, and transparency, by Chad Greene.
121. cities, a library which works with city-to-city distance matrices;
122. clausen, a library which evaluates a Chebyshev interpolant to the
Clausen function Cl2(x).
123. clenshaw_curtis_rule, a program which implements a Clenshaw Curtis
quadrature rule;
124. cnoise, a library which generates samples of noise obeying a 1/f^alpha
power law, by Miroslav Stoyanov.
125. coin_simulation, a library which looks at ways of simulating or
visualizing the results of many tosses of a fair or biased coin.
126. collatz, a library which computes and analyzes the Collatz sequence,
also known as the hailstone sequence or 3n+1 sequence;
127. collatz_parfor, a program which seeks the maximum Collatz sequence
between 1 and N; it runs in parallel using MATLAB's parfor facility.
128. collatz_recursive, a library which demonstrates recursive programming
by considering the simple Collatz 3n+1 problem.
129. collocation, a library which demonstrates some simple examples of the
use of collocation to produce a function g(x) that satisfies the same constraints
as a function f(x), but only at a discrete set of points.
130. color_remote, a program which carries out the color segmentation of
an image in parallel, using MATLAB's spmd facility; this includes instructions
on how to run the job, via MATLAB's batch facility, on a remote system such as
Virginia Tech's ithaca cluster.
131. colored_noise, a library which generates samples of noise obeying a
1/f^alpha power law.
132. combination_lock, a program which simulates the process of
determining the secret combination of a lock.
133. combo, a library which includes routines for ranking, unranking,
enumerating and randomly selecting balanced sequences, cycles, graphs, Gray
codes, subsets, partitions, permutations, restricted growth functions, Pruefer
codes and trees.
134. compass_search, a library which seeks the minimizer of a scalar
function of several variables using compass search, a direct search algorithm
that does not use derivatives.
135. complex_numbers, a program which demonstrates some simple
features involved in the use of complex numbers in programming.
136. complexity, programs which measure the complexity of a few simple
algorithms with increasing problem size.
137. condition, a library which implements methods of computing or
estimating the condition number of a matrix.
138. continuation, a library which implements the continuation method for a
simple 2D problem, which involves finding a point on the unit circle, and then
finding a sequence of nearby points which trace out the full curve, using only
the information available in the implicit definition of the curve from the
function f(x,y)=x^2+y^2-1.
139. contour_gradient, a program which displays contours and gradient
vectors for a function f(x,y).
140. contour_gradient_3d, a program which displays contours and gradient
vectors for a function f(x,y) in a 3D display.
141. contour_sequence4, a program which creates images suitable for
animation from one XY file and a sequence of u(x,y) data files;
142. contrast_spmd, a program which demonstrates spmd parallel
programming for image operations; the client reads an image, the workers
heighten contrast over portions of it, and the client assembles and displays the
results.
143. contrast2_spmd, a program which demonstrates spmd parallel
programming for image operations; it improves on contrast_spmd by allowing
the workers to communicate, and so eliminates artificial seams that would
otherwise appear in the processed image.
144. convex_hull, a program which demonstrates the computation of the
convex hull of a set of 2D points.
145. coordinate_search, a program which seeks the minimizer of a scalar
function of several variables, by Jeff Borggaard.
146. cordic, a library which computes a few special functions using the
CORDIC algorithm.
147. correlation, a library which contains examples of statistical correlation
functions.
148. correlation_chebfun, a library which uses the chebfun library to
compute truncated Karhunen-Loeve expansions of stochastic processes with a
given correlation function.
149. cosine_transform, a library which demonstrates some simple properties
of the discrete cosine transform (DCT).
150. cube_arbq_rule, a library which returns quadrature rules, with
exactness up to total degree 15, over the interior of the symmetric cube in 3D,
by Hong Xiao and Zydrunas Gimbutas.
151. cube_exactness, a library which investigates the polynomial exactness
of quadrature rules over the interior of a cube in 3D.
152. cube_felippa_rule, a library which returns Felippa's quadratures rules
for approximating integrals over the interior of a cube in 3D.
153. cube_grid, a library which computes a grid of points over the interior of
a cube in 3D.
154. cube_integrals, a library which returns the exact value of the integral of
any monomial over the interior of the unit cube in 3D.
155. cube_monte_carlo, a library which applies a Monte Carlo method to
estimate the integral of a function over the interior of the unit cube in 3D.
156. cvt, a library which computes an N-point Centroidal Voronoi
Tessellation (CVT) in M dimensions;
157. cvt_1d_lloyd, a program which computes an N-point Centroidal Voronoi
Tessellation (CVT) within the interval [0,1], under a uniform density, using
Lloyd's method to compute the Voronoi regions exactly.
158. cvt_1d_lumping, a program which allows the user to carry out a lumped
version of Lloyd's iterative algorithm for a centroidal Voronoi Tessellation
(CVT() in the interval [-1,+1], and is applied to investigate a relationship
between CVT's and the Chebyshev Zero nodes.
159. cvt_1d_nonuniform, a program which computes an N-point Centroidal
Voronoi Tessellation (CVT) in 1 dimension, under a nonuniform density, and
plots the evolution of the locations of the generators during the iteration;
160. cvt_1d_sampling, a program which computes an N-point Centroidal
Voronoi Tessellation (CVT) within the interval [0,1], under a uniform density,
using sampling to estimate the Voronoi regions.
161. cvt_2d_lumping, a program which computes an N-point Centroidal
Voronoi Tessellation (CVT) within the unit square [-1,1]^2, under a Chebyshev
density, using weighted sampling ("lumping") to estimate the Voronoi regions.
162. cvt_2d_sampling, a program which computes an N-point Centroidal
Voronoi Tessellation (CVT) within the unit square [0,1]x[0,1], under a uniform
density, using sampling to estimate the Voronoi regions.
163. cvt_3d_lumping, a program which computes an N-point Centroidal
Voronoi Tessellation (CVT) within the unit cube [-1,1]^3, under a Chebyshev
density, using weighted sampling ("lumping") to estimate the Voronoi regions.
164. cvt_3d_sampling, a program which computes an N-point Centroidal
Voronoi Tessellation (CVT) within the unit cube [0,1]x[0,1]x[0,1], under a
uniform density, using sampling to estimate the Voronoi regions.
165. cvt_circle_nonuniform, a program which demonstrates the
computation of a centroidal Voronoi Tessellation (CVT) over a circular region,
using a nonuniform density.
166. cvt_circle_uniform, a program which demonstrates the computation of
a centroidal Voronoi Tessellation (CVT) over a circular region, using a uniform
density.
167. cvt_corn, a program which studies a 2D model of the growth of a corn
kernel, by treating the surface and interior biological cells as points to be
organized by a Centroidal Voronoi Tessellation (CVT) with a nonuniform
density; during a sequence of growth steps, new biological cells are randomly
added to the surface and interior.
168. cvt_dataset, a program which creates a Centroidal Voronoi Tessellation
(CVT) dataset;
169. cvt_ellipse_uniform, a program which iteratively calculates a Centroidal
Voronoi Tessellation (CVT) over an ellipse, with a uniform density.
170. cvt_example_fifty_points, a program which illustrates the steps
involved in the calculation of a Centroidal Voronoi Tessellation (CVT) of the
unit square, with 50 generator points.
171. cvt_example_five_points, a program which illustrates the steps
involved in the calculation of a Centroidal Voronoi Tessellation (CVT) of the
unit square, with 5 generator points.
172. cvt_metric, a program which computes a Centroidal Voronoi
Tessellation (CVT) under a spatially varying metric;
173. cvt_movie, a program which creates an animation of the evolution of a
Centroidal Voronoi Tessellation (CVT);
174. cvt_movie2, a program which creates a Centroidal Voronoi Tessellation
(CVT) movie;
175. cvt_movie3, a program which creates a Centroidal Voronoi Tessellation
(CVT) movie in a region of unusual shape;
176. cvt_movie4, a program which creates a Centroidal Voronoi Tessellation
(CVT) movie in a square, with a density function that drives points to the
corners;
177. cvt_movie5, a program which repeats cvt_movie3, but with hexagonal
grid initialization, fixed points, and boundary projection;
178. cvt_square_nonuniform, a program which iteratively calculates a
Centroidal Voronoi Tessellation (CVT) over a square, with a nonuniform
density.
179. cvt_square_pdf_discrete, a program which iteratively calculates a
Centroidal Voronoi Tessellation (CVT) over a square, with a density
determined from a discrete PDF.
180. cvt_square_uniform, a program which iteratively calculates a Centroidal
Voronoi Tessellation (CVT) over a square, with a uniform density.
181. cvt_triangle_uniform, a program which iteratively calculates a
Centroidal Voronoi Tessellation (CVT) over a triangle, with a uniform density.
182. cvtm_1d, a program which estimates a mirror-periodic centroidal
Voronoi Tessellation (CVTM) in the periodic interval [0,1], using a version of
Lloyd's iteration.
183. cvtp, a library which creates a CVTP dataset, that is, a Centroidal
Voronoi Tessellation on a periodic region.
184. cvtp_1d, a program which estimates a periodic centroidal Voronoi
Tessellation (CVTP) in the periodic interval [0,1], using a version of Lloyd's
iteration.
185. cycle_brent, a library which carries out an iterated function evaluation,
and seeks to determine the nearest element of a cycle, and the cycle's length,
using Brent's method.
186. cycle_floyd, a library which carries out an iterated function evaluation,
and seeks to determine the nearest element of a cycle, and the cycle's length,
using Floyd's method.
187. cyclic_reduction, a library which solves a tridiagonal linear system using
cyclic reduction;
188. dfield8, a program which interactively displays the direction field of an
ordinary differential equation (ODE), by John Polking.
189. diaphony, a program which reads a file of N points in M dimensions and
computes its diaphony, a measure of point dispersion.
190. dice_simulation, a program which simulates N tosses of M dice, making
a histogram of the results.
191. dictionary_code, a library which demonstates how a text file can be
compressed and decompressed using a dictionary code.
192. differ, determines the finite difference coefficients necessary in order to
combine function values at known locations to compute an approximation of
given accuracy to a derivative of a given order.
193. dijkstra, a library which implements a simple version of Dijkstra's
minimum distance algorithm for graphs.
194. dijkstra_spmd, a program which uses the spmd feature to parallelize a
simple example of Dijkstra's minimum distance algorithm for graphs.
195. disk_grid, a library which computes grid points within the interior of a
disk of user specified radius and center in 2D, using GNUPLOT to create an
image of the grid.
196. disk_integrals, a library which returns the exact value of the integral of
any monomial over the interior of the unit disk in 2D.
197. disk_monte_carlo, a library which applies a Monte Carlo method to
estimate integrals of a function over the interior of the unit disk in 2D;
198. disk_quarter_monte_carlo, a library which applies a Monte Carlo
method to estimate integrals of a function over the interior of the unit quarter
disk in 2D;
199. disk_rule, a library which computes quadrature rules for the general
disk in 2D, that is, the interior of the circle of radius RC and center (XC,YC).
200. disk01_quarter_rule, a program which computes a quadrature rule for
the unit quarter disk in 2D, that is, the interior of the circle of radius 1 and
center (0,0).
201. disk01_rule, a library which computes quadrature rules for the unit disk
in 2D, that is, the interior of the circle of radius 1 and center (0,0).
202. dist_plot, a program which makes contour plots of the distance
function, as defined and used in Persson and Strang's distmesh() code;
203. distance_to_position, a program which estimates the positions of cities
which minimizes the discrepancy with a city-to-city distance table.
204. distance_to_position_sphere, a program which estimates the positions
of cities on a sphere (such as the earth) based on a city-to-city distance table.
205. distmesh, a library which carries out a method of mesh generation; by
Per-Olof Persson and Gilbert Strang.
206. distmesh_3d, a library which carries out a method of mesh generation
in 3D, by Per-Olof Persson and Gilbert Strang.
207. divdif, a library which uses divided differences to compute the
polynomial interpolant to a given set of data.
208. dlap_io, a library which reads and writes DLAP sparse matrix files;
209. doomsday, a library which is given the year, month and day of a date,
and uses John Conway's doomsday algorithm to determine the corresponding
day of the week.
210. double_c_data, programs which generate, plot or write out 2D data
that forms two interlocking "C" shapes.
211. duel_simulation, a program which simulates N repetitions of a duel
between two players, each of whom has a known firing accuracy.
212. edge, a library which defines some test functions in 1D, 2D and 3D for
the detection of edges or discontinuities.
213. ellipse_grid, a library which computes a grid of points over the interior
of an ellipse in 2D.
214. ellipse_monte_carlo, a library which uses the Monte Carlo method to
estimate the value of integrals over the interior of an ellipse in 2D.
215. ellipsoid_grid, a library which computes a grid of points over the
interior of an ellipsoid in 3D.
216. ellipsoid_monte_carlo, a library which uses the Monte Carlo method to
estimate the value of integrals over the interior of an ellipsoid in M
dimensions.
217. entrust, a library which uses trust-region methods to solve problems in
scalar optimization or nonlinear least squares (NLS), by Jeff Borggaard and
Gene Cliff.
218. epicycloid, a library which computes, plots and tabulates an epicycloid
curve.
219. equidistribution, investigates equidistribution properties relating to
density functions and point sets.
220. exactness, a library which investigates the exactness of quadrature
rules that estimate the integral of a function with a density, such as 1, exp(-x)
or exp(-x^2), over an interval such as [-1,+1], [0,+oo) or (-oo,+oo).
221. exm_2014, a library which illustrates the computational experiments in
"Experiments with Matlab", by Cleve Moler.
222. exm_pdf, a PDF library which describes the computational experiments
in "Experiments with Matlab", by Cleve Moler.
223. face_spmd, a program which demonstrates the spmd parallel
programming feature; the client has a 3D box that has been dissected into
tetrahedrons. Multiple workers cooperate to construct a list of the triangular
faces that lie on the boundaries of the box.
224. fair_dice_simulation, a program which simulates N tosses of 2 dice,
making a histogram of the results.
225. fastgl, a library which carries out the rapid computation of the Kth value
and weight of an N point Gauss-Legendre quadrature rule, by Ignace Bogaert.
226. faure, a library which computes the Faure M dimensional Quasi Mont
Carlo (QMC) sequence;
227. faure_dataset, a program which creates an M dimensional Faure Quasi
Mont Carlo (QMC) dataset;
228. fd_predator_prey, a program which solves a time-dependent predator
prey system using the finite difference method (FDM).
229. fd_to_tec, a program which converts FD files storing finite difference
method (FDM) models into tecplot ASCII files.
230. fd1d_advection_diffusion_steady, a program which applies the finite
difference method (FDM) to solve the steady advection diffusion equation
v*ux-k*uxx=0 in one spatial dimension, with constant velocity v and diffusivity
k.
231. fd1d_advection_ftcs, a program which applies the finite difference
method (FDM) to solve the time-dependent advection equation ut = - c * ux in
one spatial dimension, with a constant velocity, using the forward time
centered space (FTCS) difference scheme.
232. fd1d_advection_lax, a program which applies the finite difference
method (FDM) to solve the time-dependent advection equation ut = - c * ux in
one spatial dimension, with a constant velocity, using the Lax method to
approximate the time derivative.
233. fd1d_advection_lax_wendroff, a program which applies the finite
difference method (FDM) to solve the time-dependent advection equation ut
= - c * ux in one spatial dimension, with a constant velocity, using the Lax-
Wendroff method to approximate the time derivative.
234. fd1d_burgers_lax, a program which applies the finite difference method
(FDM) and the Lax Wendroff method to solve the non-viscous time-dependent
Burgers equation in one spatial dimension.
235. fd1d_burgers_leap, a program which applies the finite difference
method (FDM) and the leapfrog approach to solve the non-viscous time-
dependent Burgers equation in one spatial dimension.
236. fd1d_bvp, a program which applies the finite difference method (FDM)
to a two point boundary value problem (BVP) in one spatial dimension.
237. fd1d_display, a program which reads a pair of files defining a 1D model
for the finite difference method (FDM), and plots the data.
238. fd1d_heat_explicit, a library which implements a finite difference
method (FDM), explicit in time, to solve the time dependent 1D heat equation;
239. fd1d_heat_implicit, a program which implements a finite difference
method (FDM), implicit in time, to solve the time dependent 1D heat
equation;
240. fd1d_heat_steady, a program which implements a finite difference
method (FDM) for the steady (time independent) 1D heat equation;
241. fd1d_predator_prey, a program which implements a finite difference
method (FDM) for a time and 1D space dependent predator-prey system, by
Marcus Garvie.
242. fd1d_predator_prey_plot, a program which plots solutions from the
fd1d_predator_prey program, by Marcus Garvie.
243. fd1d_wave, a library which applies the finite difference method (FDM)
to solve the time-dependent wave equation utt = c * uxx in one spatial
dimension.
244. fd2d_heat_explicit_spmd, a program which uses the finite difference
method (FDM) and explicit time stepping to solve the time dependent heat
equation in 2D. A black and white image is used as the initial condition.
MATLAB's spmd facility is used to carry out the computation in parallel.
245. fd2d_heat_steady, a program which implements a finite difference
method (FDM) for the steady (time independent) 2D heat equation;
246. fd2d_predator_prey, a program which implements a finite difference
method (FDM) for a time and 2D space dependent predator-prey system, by
Marcus Garvie.
247. fe2d_predator_prey_fast, programs which implement a finite element
method (FEM) for a time and 2D space dependent predator-prey system, on
an arbitrary triangulated region, with a variety of possible boundary
conditions, incorporating some Matlab optimizations, by Marcus Garvie.
248. fem_basis, a library which can define and evaluate finite element
method (FEM) basis functions for any degree in an M dimensional simplex (1D
interval, 2D triangle, 3D tetrahedron, and higher dimensional generalizations.)
249. fem_basis_q4_display, a program which displays any single finite
element method (FEM) basis function associated with an arbitrary linear
quadrilateral Q4 mesh;
250. fem_basis_t3_display, a program which displays a basis function for the
finite element method (FEM) associated with an arbitrary 3-node triangle T3
mesh;
251. fem_basis_t4_display, a program which displays a basis function for the
finite element method (FEM) associated with an arbitrary 4-node triangle T4
mesh;
252. fem_basis_t6_display, a program which displays a basis function for the
finite element method (FEM) associated with an arbitrary 6-node triangle T6
mesh;
253. fem_io, a library which reads or writes FEM files, which describe the
nodes, elements, and function values associated with a finite element method
(FEM) model;
254. fem_meshing, a library which looks at some simple issues in defining a
geometric mesh for the finite element method (FEM) in 2D.
255. fem_neumann, a program which sets up a time-dependent reaction-
diffusion equation in 1D, with Neumann boundary conditions, discretized
using the finite element method (FEM).
256. fem_to_gmsh, a program which reads a pair of FEM files defining node
coordinates and elements, of a 1D, 2D or 3D mesh, namely a file of node
coordinates and a file of elements defined by node indices, and creates a
Gmsh mesh file.
257. fem_to_medit, a program which reads a pair of FEM files defining node
coordinates and elements, of a 2D mesh, namely a file of node coordinates
and a file of elements defined by node indices, and creates a corresponding
MEDIT mesh file.
258. fem_to_mesh, a program which reads a set of FEM files defining the
node coordinates, boundary nodes, and elements of a finite element mesh,
and rewrites the data as a MESH file.
259. fem_to_triangle, a program which reads FEM files defining a 2D mesh
of triangles, namely a file of node coordinates and a file of elements defined
by node indices, and creates a corresponding pair of node and element files
for use by Jonathan Shewchuk's triangle program.
260. fem_to_xml, reads a pair of FEM files defining node coordinates and
elements, of a 1D, 2D or 3D mesh, namely a file of node coordinates and a file
of elements defined by node indices, and creates a corresponding XML file for
input to DOLFIN or FENICS.
261. fem_to_tec, a program which reads a set of FEM files, (three text files
describing a finite element model), and writes a TECPLOT ASCII file.
262. fem1d, a program which applies the finite element method (FEM), using
piecewise linear basis functions, to a linear two point boundary value problem
(BVP) in 1D;
263. fem1d_adaptive, a program which uses an adaptive mesh when
applying the finite element method (FEM), with piecewise linear basis
functions, to a linear two point boundary value problem (BVP) in 1D;
264. fem1d_bvp_linear, a program which applies the finite element method
(FEM), with piecewise linear elements, to a two point boundary value problem
(BVP) in one spatial dimension, and compares the computed and exact
solutions with the L2 and seminorm errors.
265. fem1d_bvp_quadratic, a program which applies the finite element
method (FEM), with piecewise quadratic elements, to a two point boundary
value problem (BVP) in one spatial dimension, and compares the computed
and exact solutions with the L2 and seminorm errors.
266. fem1d_display, a program which reads three files defining a 1D
arbitrary degree basis function associated with the finite element method
(FEM), and displays a plot.
267. fem1d_function_10_display, a program which reads three files defining
a 1D piecewise linear finite element method (FEM) function and displays a
plot.
268. fem1d_heat_explicit, a program which uses the finite element method
(FEM) and explicit time stepping to solve the time dependent heat equation in
1D.
269. fem1d_heat_implicit, a program which uses the finite element method
(FEM) and implicit time stepping to solve the time dependent heat equation in
1D.
270. fem1d_heat_steady, a program which implements the finite element
method (FEM) for the steady (time independent) 1D heat equation;
271. fem1d_lagrange, a library which sets up the matrices and vectors
associated with the finite element method (FEM) solution of a boundary value
problem (BVP) -u''+u=f(x), using Lagrange basis polynomials.
272. fem1d_nonlinear, a program which applies the finite element method
(FEM), with piecewise linear basis functions, to a nonlinear two point
boundary value problem (BVP) in 1D;
273. fem1d_pack, a library which contains utilities for 1D finite element
method (FEM) calculations.
274. fem1d_pmethod, a program which applies the p-method version of the
finite element method (FEM) to a linear two point boundary value problem
(BVP) in 1D;
275. fem1d_project, a program which projects data into a finite element
space, including the least squares approximation of data, or the projection of a
finite element solution from one mesh to another.
276. fem1d_sample, a program which samples a scalar or vector finite
element function of one variable, defined by FEM files, returning interpolated
values at the sample points.
277. fem1d_spectral_numeric, a program which applies the spectral finite
element method (FEM) to solve the problem u'' = - pi^2 sin(x) over [-1,+1] with
zero boundary conditions, using as basis elements the functions x^n*(x-
1)*(x+1), and carrying out the integration numerically, using MATLAB's quad()
function, by Miro Stoyanov.
278. fem1d_spectral_symbolic, a program which applies the spectral finite
element method (FEM) to solve the problem u'' = - pi^2 sin(x) over [-1,+1] with
zero boundary conditions, using as basis elements the functions x^n*(x-
1)*(x+1), and carrying out the integration using MATLAB's symbolic toolbox,
by Miro Stoyanov.
279. fem2d_bvp_linear, a program which applies the finite element method
(FEM), with piecewise bilinear elements, to a 2D boundary value problem
(BVP) in a rectangle, and compares the computed and exact solutions with the
L2 and seminorm errors.
280. fem2d_bvp_quadratic, a program which applies the finite element
method (FEM), with piecewise quadratic elements, to a 2D boundary value
problem (BVP) in a rectangle, and compares the computed and exact solutions
with the L2 and seminorm errors.
281. fem2d_bvp_serene, a program which applies the finite element method
(FEM), with serendipity elements, to a 2D boundary value problem (BVP) in a
rectangle, and compares the computed and exact solutions with the L2 and
seminorm errors.
282. fem2d_heat, a program which applies the finite element method (FEM)
to the time dependent heat equation on an arbitrary triangulated region in
2D;
283. fem2d_heat_rectangle, a program which applies the finite element
method (FEM) for the time-dependent heat equation on a triangulated square
in 2D;
284. fem2d_heat_rectangle_steady_spmd, a program which uses the
MATLAB Parallel Computing Toolbox in spmd mode to set up and solve a
distributed linear system associated with the finite element method (FEM)
solution of the steady 2d heat equation.
285. fem2d_heat_sparse, a program which applies the finite element
method (FEM) to the heat equation on an arbitrary triangulated region in 2D,
using MATLAB's sparse matrix features;
286. fem2d_heat_sparse_square, a library which defines the geometry of a
square region, as well as boundary and initial conditions for a given heat
problem, so that fem2d_heat_sparse can be called for a solution.
287. fem2d_heat_square, a library which defines the geometry of a square
region, as well as boundary and initial conditions for a given heat problem, so
that fem2d_heat can be called for a solution.
288. fem2d_mesh_display, a program which reads a FEM model of a 2D
mesh of elements of any uniform order and displays a plot of the elements
and nodes, with optional numbering.
289. fem2d_pack, a library which performs simple 2D finite element method
(FEM) computations;
290. fem2d_poisson_rectangle, a program which solves the 2D Poisson
equation on a rectangle, using the finite element method (FEM), and
piecewise quadratic triangular elements.
291. fem2d_poisson_rectangle_linear, a program which solves the 2D
Poisson equation on a rectangle, using the finite element method (FEM), and
piecewise linear triangular elements.
292. fem2d_poisson_sparse, a program which uses the finite element
method to solve Poisson's equation on an arbitrary triangulated region in 2D;
This is a version of fem2d_poisson which replaces the banded storage and
direct solver by a sparse storage format.
293. fem2d_poisson_sparse_baffle, a library which defines the geometry of a
rectangular channel with 13 baffles, as well as boundary conditions for a given
Poisson problem, and is called by fem2d_poisson_sparse as part of a solution
procedure.
294. fem2d_poisson_sparse_ell, a library which defines the geometry of an
L-shaped region, as well as boundary conditions for a given Poisson problem,
and is called by fem2d_poisson_sparse as part of a solution procedure.
295. fem2d_poisson_sparse_lake, a library which defines the geometry of a
lake-shaped region, as well as boundary conditions for a given Poisson
problem, and is called by fem2d_poisson_sparse as part of a solution
procedure.
296. fem2d_project, a program which projects a function f(x,y), given as
data, into a given finite element space of piecewise linear triangular elements.
297. fem2d_project_function, a program which projects a function f(x,y),
given as a formula, into a given finite element space of piecewise linear
triangular elements.
298. fem2d_sample, a program which samples a finite element function,
defined by FEM files, (three text files describing the nodes, triangles, and
coefficients); at arbitrary points.
299. fem2d_scalar_display, a program which reads information about nodes,
elements and nodal values for a 2D finite element method (FEM) and creates a
surface plot of U(X,Y), using the MATLAB graphics system.
300. fem2d_scalar_display_brief, a program which reads information about
nodes, elements and nodal values for a 2D finite element method (FEM) and
creates a surface plot of U(X,Y), using the MATLAB graphics system, in 5 lines
of code.
301. fem2d_scalar_display_gpl, a program which reads information about
nodes, elements and nodal values for a 2D finite element method (FEM) and
creates a GPL file describing a surface plot of U(X,Y), which can be displayed by
GNUPLOT.
302. fem3d_pack, a library which contains utilities for 3D finite element
method (FEM) calculations.
303. fem3d_project, a program which projects a function f(x,y,z), given as a
data, into a given space of piecewise linear tetrahedral elements for use in the
finite element method (FEM).
304. fem3d_sample, a program library which evaluates a function defined on
a 3D tetrahedral mesh as part of the finite element method (FEM).
305. fern, a program which uses MATLAB graphics to compute and display
the Barnsley fractal fern.
306. feynman_kac_1d, a program which demonstrates the use of the
Feynman-Kac algorithm to solve Poisson's equation in a 1D interval by
averaging stochastic paths to the boundary.
307. feynman_kac_2d, a program which demonstrates the use of the
Feynman-Kac algorithm to solve Poisson's equation in a 2D ellipse by
averaging stochastic paths to the boundary.
308. feynman_kac_3d, a program which demonstrates the use of the
Feynman-Kac algorithm to solve Poisson's equation in a 3D ellipsoid by
averaging stochastic paths to the boundary.
309. fft_serial, a program which computes a Fast Fourier Transform (FFT),
and is intended as a starting point for implementing a parallel version.
310. fibonacci_spiral, a program which displays points on a Fibonacci spiral,
suggesting the arrangement of seeds in a sunflower, for instance.
311. file_increment, a program which makes a copy of a file containing an
integer array, after incrementing each entry by a given value.
312. file_name_sequence, a program which demonstrates ways to generate
a sequence of filenames, which can be useful when generating a sequence of
still snapshots to be animated later.
313. files_multiple, a program which demonstrates how a program can open
multiple output files at one time, and write data to any one specific file it
chooses.
314. filon, a library which can approximate integrals in which the integrand
includes an oscillatory factor of sin(k*x) or cos(k*x).
315. filum, a library which handles files and filenames;
316. fire_serial, a program which simulates a forest fire over a rectangular
array of trees, starting at a single random location. It is intended as a starting
point for the development of a parallel version.
317. flame_ode, a library which considers an ordinary differential equation
(ODE) which models the growth of a ball of flame in a combustion process.
318. florida_cvt_geo, programs which explore the creation of a centroidal
Voronoi Tessellation (CVT) of the state of Florida, based solely on geometric
considerations.
319. florida_cvt_pop, programs which explore the creation of a centroidal
Voronoi Tessellation (CVT) of the state of Florida, based on population
considerations.
320. floyd, a library which implements Floyd's algorithm for finding the
shortest distance between pairs of nodes on a directed graph.
321. fmincon, programs which illustrate the use of fmincon() from MATLAB's
Optimization Toolbox, which seeks the minimizer of a scalar function of
multiple variables, within a region specified by linear constraints and bounds.
322. fmincon_parallel, a program which demonstrates the use of MATLAB's
fmincon() constrained minimization function, taking advantage of the Parallel
Computing Toolbox for faster execution.
323. fn, a library which evaluates elementary and special functions using
Chebyshev polynomials; functions include Airy, Bessel I, J, K and Y, beta,
confluent hypergeometric, error, gamma, log gamma, Pochhammer, Spence;
integrals include hyperbolic cosine, cosine, Dawson, exponential, logarithmic,
hyperbolic sine, sine; by Wayne Fullerton.
324. freefem++_msh_io, a library which can read and write files used by the
FreeFem++ finite element program to store mesh information.
325. gamblers_ruin_simulation, a program which simulates the game of
gambler's ruin.
326. gauss_seidel, a program which implements the Gauss-Seidel iteration
for linear systems.
327. gauss_seidel_poisson_1d, a program which demonstrates how the
linear system for a discretized version of the steady 1D Poisson equation can
be solved by the Gauss-Seidel iteration.
328. gegenbauer_cc, a library which computes the Gegenbauer weighted
integral of a function f(x) using a Clenshaw-Curtis approach.
329. gegenbauer_exactness, a program which tests the polynomial
exactness of Gauss-Gegenbauer quadrature rules.
330. gegenbauer_polynomial, a library which evaluates the Gegenbauer
polynomial and associated functions.
331. gegenbauer_rule, a program which computes and writes out a Gauss-
Gegenbauer quadrature rule of given order.
332. gen_hermite_rule, a program which computes and writes out a
generalized Gauss-Hermite quadrature rule of given order and parameter
value.
333. gen_laguerre_rule, a program which computes and writes out a
generalized Gauss-Laguerre quadrature rule of given order and parameter
value.
334. geometry, a library which performs geometric calculations in 2, 3 and M
dimensional space, including the computation of angles, areas, containment,
distances, intersections, lengths, and volumes.
335. gl_display, a program which displays the points used in a 2D Gauss-
Legendre quadrature rule;
336. gmsh_io, a library which can read or write some of the files created by
the Gmsh program for 1D, 2D or 3D meshes used by the finite element
method (FEM).
337. gmsh_to_fem, a program which reads a mesh data file created by the
GMSH program and writes a pair of node and element files that correspond to
the FEM format.
338. gnuplot, programs which illustrate how a program can write data and
command files so that gnuplot can create plots of the program results.
339. gpl_display, a library which tries to read the data in a typical gnuplot
GPL file, and display it in a more attractive way than gnuplot is capable of.
340. graph_representation, a library which can express the representation of
an abstract mathematical graph in several ways.
341. graphics_examples, programs which illustrate how various kinds of data
can be displayed and analyzed graphically.
342. gray_code_display, a program which computes the Hamming distance
tables for both the binary and Gray codes, and displays 3D plots that illustrate
how the Gray code does a better job of providing nearby representations for
nearby numbers.
343. grf_display, a program which reads a GRF file defining a mathematical
graph and displays it in the MATLAB graphics window.
344. grf_io, a library which reads or writes a GRF file;
345. grid, a library which randomly selects N distinct points from a uniform
grid in the unit hypercube in M-dimensional space.
346. grid_display, a program which reads a file of points on a grid or sparse
grid, displays the grid and saves the image in a png file;
347. gridlines, a library which gives the user more control over drawing
gridlines on a graph than the built in "grid on" command.
348. grids_display, a program which reads two files of grids or sparse grids,
displaying the first with hollow blue dots, the second with solid red dots.
349. haar, a library which computes the Haar transform of data.
350. halton, a library which computes elements of a Halton Quasi Monte
Carlo (QMC) sequence, using a simple interface.
351. halton_advanced, a library which calculates the Halton M dimensional
Quasi Mont Carlo (QMC) sequence, using an advanced interface with many
input quantities.
352. halton_dataset, a program which creates N elements of an M
dimensional Halton sequence and writes them to a file.
353. hammersley, a library which computes elements of a Hammersley
Quasi Monte Carlo (QMC) sequence, using a simple interface.
354. hammersley_advanced, a library which computes the Hammersley M
dimensional Quasi Mont Carlo (QMC) sequence using an advanced interface
with many input options;
355. hammersley_dataset, a program which creates N elements of an M
dimensional Hammersley Quasi Monte Carlo (QMC) sequence and writes
them to a file.
356. hand_area, a program which estimates the area of a curve which
outlines a person's hand.
357. hand_data, programs which carry out some numerical exercises based
on data that came from tracing several points on a person's hand.
358. hb_io, a library which reads and writes files in the Harwell Boeing (HB)
sparse matrix format;
359. hb_to_mm, a program which converts a sparse matrix stored in a
Harwell Boeing (HB) file to Matrix Market (MM) format;
360. hb_to_msm, a program which converts a sparse matrix stored in a
Harwell Boeing (HB) file to MATLAB sparse matrix format;
361. hb_to_st, a program which reads a sparse matrix in a Harwell Boeing
(HB) file and writes an equivalent Sparse Triplet (ST) file.
362. hcell_flow_display, a program which plots the physical data, pressures
or velocities, from a run of the hcell program;
363. heat_oned, a program which solves the time-dependent 1D heat
equation, using the finite element method in space, and the backward Euler
method in time, by Jeff Borggaard.
364. heated_plate, a program which solves the steady state heat equation in
a 2D rectangular region, and is intended as a starting point for a parallel
version.
365. heated_plate_parfor, a program which solves the steady state heat
equation in a 2D rectangular region, using MATLAB's parfor command to
execute in parallel.
366. hello, a program which prints out "Hello, world!".
367. hello_parfor, a program which prints out "Hello, world!" multiple times,
using MATLAB's parfor command for parallel execution.
368. hermite, a library which computes the Hermite interpolant, a
polynomial that matches function values and derivatives.
369. hermite_cubic, a library which can compute the value, derivatives or
integral of a Hermite cubic polynomial, or manipulate an interpolating
function made up of piecewise Hermite cubic polynomials.
370. hermite_exactness, a program which tests the polynomial exactness of
Gauss-Hermite quadrature rules to estimate the integral of a function with
density exp(-x^2) over the interval (-oo,+oo).
371. hermite_polynomial, a library which evaluates the physicist's Hermite
polynomial, the probabilist's Hermite polynomial, the Hermite function, and
related functions.
372. hermite_product_display, a program which displays an image of a
function created by the Cartesian product of two Hermite polynomials, such as
f(x,y) = h(3,x) * h(1,y).
373. hermite_product_polynomial, a library which defines Hermite product
polynomials, creating a multivariate polynomial as the product of univariate
Hermite polynomials.
374. hermite_rule, a program which computes and writes out a Gauss-
Hermite quadrature rule to estimate the integral of a function with density
exp(-x^2) over the interval (-oo,+oo).
375. hermite_test_int, a library which defines test integrands for Hermite
integrals with density exp(-x^2) over the interval (-oo,+oo).
376. high_card_parfor, a program which uses the parfor statement to
compute in parallel the statistics for a card game in which you are required to
guess the location of the highest card.
377. high_card_simulation, a program which simulates a situation in which
you see the cards in a deck one by one, and must select the one you think is
the highest and stop.
378. hilbert_curve, a library which computes the sequence of discrete
Hilbert curves whose limit is a space-filling curve.
379. histogram_data_2d_sample, a program which demonstrates how to
construct a Probability Density Function (PDF) from sample data over a 2D
domain, and then to use that PDF to create new samples.
380. histogram_discrete, a library which tries to make a histogram of data
without using bins.
381. histogram_display, a program which makes a bar plot of a set of data
stored as columns in a file; the first column is the X values, and all the other
columns are Y values to be shown as a stack of bars;
382. histogram_pdf_sample, a library which demonstrates how sampling can
be done by starting with the formula for a PDF, creating a histogram,
constructing a histogram for the CDF, and then sampling.
383. histogram_pdf_2d_sample, a library which demonstrates how uniform
sampling of a 2D region with respect to some known Probability Density
Function (PDF) can be approximated by decomposing the region into
rectangles, approximating the PDF by a piecewise constant function,
constructing a histogram for the CDF, and then sampling.
384. hyperball_integrals, a library which returns the exact value of the
integral of any monomial over the interior of the unit hyperball in M
dimensions.
385. hyperball_monte_carlo, a library which applies a Monte Carlo method
to estimate the integral of a function over the interior of the unit ball in M
dimensions;
386. hyperball_volume_monte_carlo, a program which applies a Monte
Carlo method to estimate the volume of the interior of the unit ball in M
dimensions;
387. hypercube_exactness, a program which tests the polynomial exactness
of a quadrature rule over the interior of the unit hypercube in M dimensions.
388. hypercube_grid, a library which computes a grid of points over the
interior of a hypercube in M dimensions.
389. hypercube_integrals, a library which returns the exact value of the
integral of any monomial over the interior of the unit hypercube in M
dimensions.
390. hypercube_monte_carlo, a library which applies a Monte Carlo method
to estimate the integral of a function over the interior of the unit hypercube in
M dimensions.
391. hypersphere_integrals, a library which returns the exact value of the
integral of any monomial over the surface of the unit hypersphere in M
dimensions.
392. hypersphere_monte_carlo, a library which applies a Monte Carlo
method to estimate the integral of a function on the surface of the unit sphere
in M dimensions;
393. hypersphere_properties, a library which carries out various operations
for an M dimensional hypersphere, including converting between Cartesian
and spherical coordinates, stereographic projection, sampling the surface of
the sphere, and computing the surface area and volume.
394. hypersphere_surface, a library which illustrates a procedure for
estimating the location of a hypersurface in M dimensional space defined by a
characteristic function or a signed function.
395. i4lib, a library which contains many utility routines, using single
precision integer (I4) arithmetic.
396. ice_io, a library which can read or write an ICE dataset, which defines a
3D grid, using the NETCDF file format.
397. ice_to_mesh, a program which reads a NETCDF file containing an ICE
dataset and rewrites the information as a MESH file.
398. ifiss3.3, a program which embodies the IFISS software that can model
the steady (time-independent) flow of a 2D incompressible fluid, by Howard
Elman, Alison Ramage, David Silvester.
399. ihs, a library which generates the Improved Hypercube Sampling (IHS)
M dimensional Quasi Mont Carlo (QMC) sequence;
400. ihs_dataset, a program which creates an Improved Hypercube Sampling
(IHS) dataset and writes it to a file;
401. image_boundary, a library which reports the pixels which form the
boundary between the black and white regions of a simple image.
402. image_components, a library which seeks the connected nonzero or
nonblack components of an image or an integer array.
403. image_contrast, programs which applies image processing techniques
to increase the contrast in an image.
404. image_decimate, a library which drops the even rows and columns
from an image.
405. image_denoise, a library which applies simple filtering operations to a
noisy image.
406. image_denoise_spmd, a library which demonstrates the spmd parallel
programming feature for image operations; the client reads an image, the
workers process portions of it, and the client assembles and displays the
results.
407. image_diffuse, a library which uses diffusion to smooth out an image.
408. image_double, a library which doubles the height and width of an
image by repeating each row and column.
409. image_edge, a library which demonstrates a simple procedure for edge
detection in images.
410. image_match_genetic, a program which tries to match a 256x256 JPEG
image by blending 32 colored rectangles, using ideas from genetic algorithms,
based on an example by Nick Berry.
411. image_noise, programs which add noise to an image.
412. image_quantization, a library which demonstrates how the KMEANS
algorithm can be used to reduce the number of colors or shades of gray in an
image.
413. image_rgb_to_gray, programs which makes a grayscale version of an
RGB image.
414. image_threshold, programs which make a black and white version of a
grayscale image by setting all pixels below or above a threshold value to black
or white.
415. imshow_numeric, a program which accepts a numeric 2D array and
displays it as a grayscale image.
416. index, a library which converts an M dimensional vector index to a one-
dimensional vector index; it can handle zero and one based indexing schemes,
as well as column major and row major conventions.
417. inout_flow_display, a library which displays a single velocity field
solution for the inout cell flow;
418. inout_flow_movie, a library which creates an animation of the velocity
solutions for the inout cell flow;
419. int_exactness, a program which tests the polynomial exactness of
quadrature rules for a finite interval;
420. int_exactness_chebyshev1, a program which tests the polynomial
exactness of Gauss-Chebyshev type 1 quadrature rules.
421. int_exactness_chebyshev2, a program which tests the polynomial
exactness of Gauss-Chebyshev type 2 quadrature rules.
422. int_exactness_gen_hermite, a program which tests the polynomial
exactness of generalized Gauss-Hermite quadrature rules.
423. int_exactness_gen_laguerre, a program which tests the polynomial
exactness of generalized Gauss-Laguerre quadrature rules.
424. interp, a library which can be used for parameterizing and interpolating
data;
425. interp_trig, a library which evaluates the trigonometric interpolant to
data at evenly spaced points.
426. isbn, a library which can determine the check digit for an International
Standard Book Number or report whether a given ISBN is valid.
427. ising_2d_simulation, a program which simulates the evolution of a 2D
array of positive and negative charges, each of which is likely to flip to be in
agreement with neighbors.
428. jacobi, a program which implements the Jacobi iteration for the
iterative solution of linear systems.
429. jacobi_eigenvalue, a library which implements the Jacobi iteration for
the iterative determination of the eigenvalues and eigenvectors of a real
symmetric matrix.
430. jacobi_exactness, a program which tests the polynomial exactness of
rules for integrals with a Jacobi weight function.
431. jacobi_poisson_1d, a program which demonstrates how the linear
system for a discretized version of the steady 1D Poisson equation can be
solved by the Jacobi iteration.
432. jacobi_polynomial, a library which evaluates the Jacobi polynomial and
associated functions.
433. jacobi_rule, a program which computes and writes out a Gauss-Jacobi
quadrature rule of given order.
434. kmeans, a library which handles the K-Means problem, which organizes
a set of N points in M dimensions into K clusters;
435. kmeans_fast, a library which contains several different algorithms for
the K-Means problem, which organizes a set of N points in M dimensions into
K clusters, by Charles Elkan.
436. knapsack_01, a library which uses brute force to solve small versions of
the 0/1 knapsack problem;
437. kronrod, a library which can compute a Gauss and Gauss-Kronrod pair
of quadrature rules of arbitrary order, by Robert Piessens, Maria Branders.
438. l4lib, a library which contains many utility routines, using one byte
logical (L4) variables.
439. lagrange_approx_1d, a library which defines and evaluates the
Lagrange polynomial p(x) of degree m which approximates a set of nd data
points (x(i),y(i)).
440. lagrange_basis_display, a library which displays the basis functions
associated with a given set of nodes used with the Lagrange interpolation
scheme.
441. lagrange_interp_1d, a library which defines and evaluates the Lagrange
polynomial p(x) which interpolates a set of data depending on a 1D argument,
so that p(x(i)) = y(i).
442. lagrange_interp_2d, a library which defines and evaluates the Lagrange
polynomial p(x,y) which interpolates a set of data depending on a 2D
argument that was evaluated on a product grid, so that p(x(i),y(j)) = z(i,j).
443. lagrange_interp_nd, a library which defines and evaluates the Lagrange
polynomial p(x) which interpolates a set of data depending on an M
dimensional argument that was evaluated on a product grid, so that p(x(i)) =
z(i).
444. lagrange_nd, a library which implements several multivariate Lagrange
interpolation schemes developed by Tomas Sauer.
445. laguerre_exactness, a program which tests the polynomial exactness of
Gauss-Laguerre quadrature rules for integrating functions with density exp(-x)
over [0,+oo).
446. laguerre_polynomial, a library which evaluates the Laguerre
polynomial, the generalized Laguerre polynomials, and the Laguerre function.
447. laguerre_rule, a program which computes a Gauss-Laguerre quadrature
rule of given order, and writes it to a file.
448. laguerre_test_int, a library which implements test problems for
approximate integration over a semi-infinite interval, often carried out using
Gauss-Laguerre quadrature.
449. laplacian, a library which carries out computations related to the
discrete Laplacian operator, including full or sparse evaluation, evaluation for
unequally spaced data sampling points, application to a set of data samples,
solution of associated linear systems, eigenvalues and eigenvectors, and
extension to 2D and 3D geometry.
450. latin_center, a library which computes N points in an M dimensional
Latin Center square;
451. latin_center_dataset, a program which creates a Latin Center
Hypercube dataset;
452. latin_cover, a library which produces N Latin squares which cover an
NxN square, or NxN Latin cubes which cover an NxNxN cube.
453. latin_edge, a library which returns N points in an M dimensional Latin
Edge square;
454. latin_edge_dataset, a program which creates an N-point M dimensional
Latin Edge square dataset;
455. latin_random, a library which returns N points in an M dimensional
Latin Random square;
456. latin_random_dataset, a program which creates a Latin Random
Hypercube dataset;
457. latinize, a program which adjusts N points in M dimensions to form a
Latin hypercube;
458. lattice_rule, a library which returns lattice rules for M dimensional
integration;
459. lcvt, a library which makes a sort of Latinized Centroidal Voronoi
Tessellation (LCVT);
460. lcvt_dataset, a program which creates a Latinized Centroidal Voronoi
Tessellation (LCVT) dataset;
461. lebesgue, a library which is given a set of nodes in 1D, and plots the
Lebesgue function, and estimates the Lebesgue constant, which measures the
maximum magnitude of the potential error of Lagrange polynomial
interpolation.
462. legendre_exactness, a program which tests the monomial exactness of
quadrature rules for the Legendre problem of integrating a function with
density 1 over the interval [-1,+1].
463. legendre_polynomial, a library which evaluates the Legendre
polynomial and associated functions.
464. legendre_product_polynomial, a library which defines Legendre
product polynomials, creating a multivariate polynomial as the product of
univariate Legendre polynomials.
465. legendre_rule, a program which writes out a Gauss-Legendre
quadrature rule of given order.
466. legendre_rule_fast, a program which uses a fast (order N) algorithm to
compute a Gauss-Legendre quadrature rule of given order.
467. legendre_shifted_polynomial, a library which evaluates the shifted
Legendre polynomial, with the domain [0,1].
468. levels, a library which makes a contour plot, choosing the contour levels
using random sampling.
469. life_serial, a program which computes a few steps of the evolution of
John Conway's Game of Life, intended as a starting point for implementing a
parallel version.
470. line_cvt_lloyd, a library which applies Lloyd's iteration repeatedly to a
set of N points, to compute a Centroidal Voronoi Tessellation (CVT) over the
interior of a line segment in 1D.
471. line_fekete_rule, a library which estimates the location of N Fekete
points, for polynomial interpolation or quadrature, over the interior of a line
segment in 1D.
472. line_felippa_rule, a library which returns Felippa's quadratures rules for
approximating integrals over the interior of a line segment in 1D.
473. line_grid, a library which computes a grid of points over the interior of a
line segment in 1D.
474. line_integrals, a library which returns the exact value of the integral of
any monomial over the length of the unit line in 1D.
475. line_monte_carlo, a library which applies a Monte Carlo method to
estimate the integral of a function over the length of the unit line in 1D.
476. line_ncc_rule, a library which computes a Newton Cotes Closed (NCC)
quadrature rule, using equally spaced points, over the interior of a line
segment in 1D.
477. line_nco_rule, a library which computes a Newton Cotes Open (NCO)
quadrature rule, using equally spaced points, over the interior of a line
segment in 1D.
478. linear_solve_distributed, a program which solves a linear system A*x=b
using MATLAB's spmd facility, so that the matrix A is distributed across
multiple MATLAB workers.
479. linpack, a library which solves linear systems for a variety of matrix
storage schemes, real or complex arithmetic, and single or double precision.
The original version of this library is by Jack Dongarra, Jim Bunch, Cleve Moler,
Pete Stewart.
480. linpack_bench, a program which is the linpack benchmark;
481. linpack_bench_backslash, a program which is the linpack benchmark,
using MATLAB's built-in backslash operator;
482. linpack_c, a library which constitutes a linear algebra library for single
precision complex arithmetic; it includes a function for the singular value
decomposition (SVD) of a rectangular matrix. The original version of this
library is by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
483. linpack_d, a library which constitutes a linear algebra library for double
precision real arithmetic; it includes a function for the singular value
decomposition (SVD) of a rectangular matrix. The original version of this
library is by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
484. linpack_s, a library which constitutes a linear algebra library; for single
precision real arithmetic; it includes a function for the singular value
decomposition (SVD) of a rectangular matrix. The original version of this
library is by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
485. linpack_z, a library which constitutes a linear algebra library for double
precision complex arithmetic; it includes a function for the singular value
decomposition (SVD) of a rectangular matrix. The original version of this
library is by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
486. linplus_c8, a library which carries out certain linear algebra operations,
using complex double precision arithmetic, for matrices in tridiagonal and
other formats.
487. llsq, a library which solves the simple linear least squares (LLS) problem
of finding the formula of a straight line y=a*x+b which minimizes the root-
mean-square error to a set of N data points.
488. lobatto_polynomial, a library which evaluates Lobatto polynomials
similar to Legendre polynomials except that they are 0 at both endpoints.
489. local_min_rc, a library which finds a local minimum of a scalar function
of a scalar variable, without the use of derivative information, using reverse
communication (RC), by Richard Brent.
490. log_normal, a library which returns quantities related to the log normal
Probability Distribution Function (PDF).
491. log_normal_truncated_ab, a library which returns quantities related to
the log normal Probability Distribution Function (PDF) truncated to the
interval [A,B].
492. lorenz_cluster, a library which takes a set of N points on a trajectory of
solutions to the Lorenz equations, and applies the K-means algorithm to
organize the data into K clusters.
493. lorenz_ode, a program which approximates solutions to the Lorenz
system, creating output files that can be displayed by Gnuplot.
494. lorenz_simulation, a program which computes and displays solutions of
the Lorenz equations for various initial conditions.
495. luhn, a library which can compute the Luhn check digit for a string, or
verify a string, as used for error detection in credit card numbers.
496. lyrics_remote, a program which runs in parallel, using three workers
which cooperate systolically, that is, as though they were on an assembly line.
The output from worker 1 is passed to worker 2 for further processing, and so
on. This includes instructions on how to run the job, via MATLAB's batch
facility, on a remote system such as Virginia Tech's ithaca cluster.
497. machar, a library which dynamically computes the values of various
machine characteristic constants, by William Cody;
498. machine, a library which returns tabulated values of the constants
associated with computer arithmetic;
499. mandelbrot, a program which generates an image of the Mandelbrot
set;
500. maple_area, a library which takes the list of pixels that form the
boundary of the image of a maple leaf within a picture, and uses grid, Monte
Carlo, and Quasi Monte Carlo sampling to estimate the area of the leaf.
501. maple_boundary, a library which reads an image of a maple leaf and
extracts the list of pixels that form the boundary.
502. math2070_1999, programs which were used for a numerical analysis
laboratory class.
503. math2071_2000, programs which were used for a numerical analysis
laboratory class.
504. matlab, programs which illustrate the use of MATLAB scripts and M-
files;
505. matlab_calls_c, programs which illustrate how C functions can be
written, compiled, and called from MATLAB using the mex facility;
506. matlab_calls_c++, programs which illustrate how C++ functions can be
written, compiled, and called from MATLAB using the mex facility;
507. matlab_calls_f77, programs which illustrate how FORTRAN77 functions
can be written, compiled, and called from MATLAB using the mex facility;
508. matlab_calls_f90, programs which illustrate how FORTRAN90 functions
can be written, compiled, and called from MATLAB using the mex facility;
509. matlab_commandline, programs which illustrate how MATLAB can be
run from the UNIX command line, that is, not with the usual MATLAB
command window.
510. matlab_compiler, programs which illustrate the use of the Matlab
compiler, which allows you to run a Matlab application outside the Matlab
environment.
511. matlab_condor, programs which illustrate how MATLAB can be run in
batch mode using the condor queueing system.
512. matlab_distcomp, a program which remotely runs a set of 5 jobs on
Virginia Tech's ithaca cluster.
513. matlab_graphics, programs which demonstrate a few issues that arise
when producing graphic images with MATLAB.
514. matlab_kmeans, programs which illustrate the use of Matlab's kmeans()
function for clustering N sets of M-dimensional data into K clusters.
515. matlab_map, programs which illustrate the use of MATLAB's mapping
toolbox to draw maps of the world, countries, the US, or individual states.
516. matlab_mistake, programs which illustrate some simple but devious
programming mistakes in MATLAB.
517. matlab_movies, programs which illustrate making movies using
MATLAB;
518. matlab_os, programs which illustrate how the system command can be
used to allow MATLAB to issue commands to the computer operating system
(UNIX or DOS);
519. matlab_parallel, programs which illustrate local parallel programming
on a single computer with MATLAB's Parallel Computing Toolbox.
520. matlab_random, programs which illustrate the use of Matlab's random
number generator (RNG) routines.
521. matlab_random_parallel, programs which illustrate the use of Matlab's
random number generator (RNG) routines when working with parallel
features such as parfor or spmd.
522. matlab_remote, programs which illustrate the use of remote job
execution, in which a desktop copy of MATLAB sends programs and data to a
remote machine for execution. Included is information to properly configure
the local machine.
523. matlab_return, programs which illustrate that explicitly invoking the
return statment can be surprisingly costly;
524. matlab_surf, MATLAB programs which demonstrate the MATLAB surf()
function for displaying a 3D surface of the form Z=F(X,Y).
525. matrix_assemble_parfor, a program which demonstrates the parfor
parallel programming feature by assembling the Hilbert matrix in a parallel
loop.
526. matrix_assemble_spmd, a program which demonstrates the spmd
parallel programming feature by having each worker assemble part of the
Hilbert matrix, which is then combined into one array by the client program.
527. matrix_exponential, a library which demonstrates some simple
approaches to the problem of computing the exponential of a matrix.
528. md, a program which carries out a molecular dynamics simulation, and
is intended as a starting point for implementing a parallel version.
529. md_fast, a program which carries out a molecular dynamics simulation;
it is a version of MD that has been revised to take advantage of MATLAB's
vector abilities.
530. md_parfor, a program which carries out a molecular dynamics
simulation; it runs in parallel using MATLAB's parfor facility.
531. medit_io, a library which can read or write files used by the MEDIT
program, which can be used to define the a mesh associated with the finite
element method (FEM) in 2D or 3D, using triangles, quadrilaterals,
tetrahedrons or hexahedrons.
532. medit_to_fem, a program which reads a mesh file created by the MEDIT
program and writes a corresponding pair of node and element files that
correspond to the FEM format.
533. memory_test, a program which tests the memory available on the
computer by declaring and using big vectors.
534. mesh_bandwidth, a program which returns the geometric bandwidth
associated with a mesh of elements of any order and in a space of M
dimensions.
535. mesh_display, a program which plots the nodes and elements of a
polygonal mesh, with optional numbering.
536. mesh_io, a library which reads or writes MESH files defining a finite
element mesh.
537. mesh_to_ice, a program which reads a MESH file containing an ICE
dataset and rewrites the information as a NETCDF file.
538. mesh2d, a library which can automatically create a triangular mesh for
a given polygonal region, by Darren Engwirda.
539. mesh2d_hand, a program which reads in a set of 59 points which
outline a human hand, and calls mesh2d(), which is able to create a fine
triangular mesh of the region outlined by the points.
540. mesh2d_to_medit, a program which accepts the nodes and triangles of
a mesh created by MESH2D and creates a corresponding file that is in MEDIT
format.
541. mesh2d_write, a program which demonstrates how node and element
data from mesh2d can be written to files.
542. meshfaces, a library which can automatically create a triangular mesh
for a region that has been subdivided, by Darren Engwirda.
543. mex, a directory of programs which call lower-level functions written in
traditional languages such as C, C++, FORTRAN77 or FORTRAN90, compiled
with MATLAB's mex compiler.
544. mgmres, a library which applies the restarted Generalized Minimum
Residual (GMRES) algorithm to solve a sparse linear system, using compressed
row (CR) or sparse triplet (ST) format, by Lili Ju.
545. mgs, a library which is an example of legacy code, which the student is
encouraged to study, understand, and document. This example is due to Diane
O'Leary.
546. mm_io, a library which reads and writes a Matrix Market (MM) Sparse
Matrix File;
547. mm_to_hb, a program which reads a Matrix Market (MM) sparse
matrix file and creates a corresponding Harwell Boeing (HB) sparse matrix file.
548. mm_to_msm, a program which reads a Matrix Market (MM) sparse
matrix file and creates a corresponding MATLAB sparse matrix data structure.
549. mm_to_st, a program which reads a Matrix Market (MM) sparse matrix
file and writes a corresponding Sparse Triplet (ST) file.
550. moc_display, a program which estimates and displays the modulus of
continuity function for a given function f(x) over a finite interval [A,B], using N
sample values.
551. monoalphabetic, a library which can apply a monoalphabetic
substitution cipher to a string of text.
552. monomial, a library which enumerates, lists, ranks, unranks and
randomizes multivariate monomials in a space of M dimensions, with total
degree less than N, equal to N, or lying within a given range.
553. monomial_value, a library which evaluates a monomial in M
dimensions.
554. monte_carlo_rule, a program which generates a dataset of N random M
dimensional points, regards it as a quadrature rule for the unit hypercube, and
writes out three files of information.
555. mpas_grid_display, programs which read information from an MPAS
Grid file, stored in NETCDF format, and display the main (mainly hexagonal)
mesh or the dual triangulation.
556. msm_to_hb, a program which writes a MATLAB sparse matrix to a
Harwell Boeing (HB) file;
557. msm_to_mm, a program which writes a MATLAB sparse matrix to a
Matrix Market (MM) file;
558. msm_to_st, a program which writes a MATLAB sparse matrix to a
Sparse Triplet (ST) file;
559. multigrid_poisson_1d, a library which applies the multigrid method to a
discretized version of the 1D Poisson equation.
560. mxm, a program which sets up a matrix multiplication problem A=B*C
of arbitrary size, and compares the time required for IJK, IKJ, JIK, JKI, KIJ and
KJI orderings of the loops.
561. naca, a library which can take the parameters of certain NACA airfoils
and return the coordinates of a sequence of points that outline the wing
shape.
562. nas, a program which runs the NASA kernel benchmark.
563. navier_stokes_2d_exact, a library which evaluates an exact solution to
the incompressible time-dependent Navier-Stokes equations (NSE) over an
arbitrary domain in 2D.
564. navier_stokes_3d_exact, a library which evaluates an exact solution to
the incompressible time-dependent Navier-Stokes equations (NSE) over an
arbitrary domain in 3D.
565. navier_stokes_mesh2d, data files which define meshes for several 2D
test problems involving the Navier Stokes equations (NSE) for fluid flow,
provided by Leo Rebholz.
566. navier_stokes_mesh3d, data files which define meshes for several 3D
test problems involving the Navier Stokes equations (NSE) for fluid flow,
provided by Leo Rebholz.
567. ncm, programs which accompany Cleve Moler's textbook "Numerical
Computing with MATLAB".
568. nearest_interp_1d, a library which interpolates a set of data using a
piecewise constant interpolant defined by the nearest neighbor criterion.
569. nearest_neighbor, a library which works in a given M dimensional
space, seeking, for each point in a set S, the nearest point in a set R, by
Richard Brown.
570. neighbors_to_metis_graph, a program which reads a file describing the
neighbor structure of a triangulation or tet mesh, and writes a metis graph file
suitable for input to one of the family of programs based on metis.
571. nelder_mead, a program which implements the Nelder-Mead algorithm
for the minimization of a scalar function of several variables, by Jeff
Borggaard.
572. nested_sequence_display, a program which displays a set of nested
sequences.
573. netcdf, a directory of example programs which read and write netcdf
files.
574. netcdf_mpas a library which reads MPAS grid files, stored using the
NETCDF format.
575. newton_interp_1d, a library which finds a polynomial interpolant to
data using Newton divided differences.
576. niederreiter2, a library which computes the Niederreiter M dimensional
Quasi Mont Carlo (QMC) sequence, base 2;
577. niederreiter2_dataset, a program which creates a Niederreiter Quasi
Mont Carlo (QMC) dataset with base 2;
578. nint_exactness_mixed, a program which measures the polynomial
exactness of an M dimensional quadrature rule based on a mixture of 1D
quadrature rule factors.
579. nintlib, a library which carries out approximate integration (quadrature)
in M dimensions;
580. normal, a library which implements normal random number generators
(RNG) for real and complex arithmetic, for scalars, vectors, and matrices.
581. normal_dataset, a program which uses a normal random number
generator (RNG) to create a dataset.
582. ns3d_fem, a program which sets up and solves a finite element
formulation of the steady incompressible 3D Navier Stokes equations (NSE) on
a user-defined geometry, by Jeff Borggaard.
583. obj_display, a program which displays an OBJ 3D graphics file;
584. obj_io, a library which reads and writes the data in an OBJ 3D graphics
file;
585. obj_to_tri_surface, a program which reads an OBJ 3D graphics file and
extracts the surface mesh data as a TRI_SURFACE dataset.
586. ode_predator_prey, a program which solves a time-dependent
predator-prey system of ordinary differential equations (ODE's) using
MATLAB's ode23() function.
587. ode_sweep_parfor, a program which demonstrates how the parfor
command can be used to parallelize the computation of a grid of solutions to a
parameterized system of ordinary differential equations (ODE's).
588. ode_sweep_serial, a program which computes a grid of solutions to a
parameterized system of ordinary differential equations (ODE's).
589. oned, a library which contains functions useful for 1D finite element
calculations, by Jeff Borggaard.
590. optimal_control_1d, a program which seeks the optimal control
function for a one dimensional system which is represented using the finite
element formulation;
591. ornstein_uhlenbeck, a library which approximates solutions of the
Ornstein-Uhlenbeck stochastic ordinary differential equation (SODE) using the
Euler method, the Euler-Maruyama method, and the Milstein method.
592. owens, a library which evaluates Owen's T function;
593. padua, a library which returns the coordinates of the 2D Padua points,
as well as interpolation weights or quadrature weights, and images of the
points in MATLAB graphics files.
594. pagerank, a library which illustrates the eigenvalue (power method) and
surfer (Markov chain) approaches to ranking web pages.
595. partition_problem, a library which seeks solutions of the partition
problem, splitting a set of integers into two subsets with equal sum.
596. patterson_rule, a program which returns the points and weights of a 1D
Gauss-Patterson quadrature rule of order 1, 3, 7, 15, 31, 63, 127, 255 or 511.
597. pbma_io, a library which reads or writes an ASCII Portable Bit Map
(PBM) graphics file;
598. pce_burgers, a program which defines and solves a version of the time-
dependent viscous Burgers equation, with uncertain viscosity, using a
polynomial chaos expansion (PCE) in terms of Hermite polynomials, by
Gianluca Iaccarino.
599. pce_legendre, a program which assembles the system matrix of a 2D
stochastic partial differential equation (SPDE), using a polynomial chaos
expansion (PCE) in terms of Legendre polynomials;
600. pce_ode_hermite, a program which sets up a scalar stochastic ordinary
differential equation (SODE) for exponential decay with an uncertain decay
rate, using a polynomial chaos expansion (PCE) in terms of Hermite
polynomials.
601. pdepe, programs which illustrate how MATLAB's pdepe() function can
be used to solve initial boundary value problems (IBVP's) in one spatial
dimension.
602. pdflib, a library which evaluates Probability Density Functions (PDF's)
and produces random samples from them, including beta, binomial, chi,
exponential, gamma, inverse chi, inverse gamma, multinomial, normal, scaled
inverse chi, and uniform.
603. peak_movie, a program which creates the pieces of an animation, one
frame at a time. Each frame is independently created and saved as a JPEG file.
604. peridynamics_1d_steady, a library which solves a 1D steady version of
the Poisson equation, using the non-local peridynamics model, by Marta
D'Elia.
605. pgma_io, a library which reads or writes an ASCII Portable Gray Map
(PGM) image file;
606. pic_serial, a program which uses the Particle In Cell (PIC) method to
simulate the motion of electrically charged particles past a plate, and is
intended as a starting point for implementing a parallel version.
607. piecewise_linear_product_integral, a library which calculates the exact
value of the integral of the product of two piecewise linear functions f(x) and
g(x).
608. pink_noise, a library which computes a pink noise signal obeying a 1/f
power law.
609. plasma_matrix, a library which demonstrates how a large sparse
MATLAB matrix can be written to or read from a Harwell-Boeing sparse matrix
file.
610. plinth, a library which carries out tasks associated with the interpolation
of data or a function by a hierarchical set of piecewise linear functions.
611. plot_spmd, a library which demonstrates the spmd parallel
programming feature, by having a number of labs compute parts of a sine
plot, which is then displayed by the client process.
612. ply_display, a program which displays a 3D PLY graphics file;
613. ply_io, a library which reads or writes a PLY file.
614. ply_to_tri_surface, a program which reads a PLY file and extracts the
surface mesh data as a tri_surface dataset.
615. point_merge, a library which considers N points in M dimensional
space, and counts or indexes the unique or tolerably unique items.
616. poisson_serial, a program which solves the Poisson equation in a
rectangle, intended as the starting point for the creation of a parallel version.
617. poisson_simulation, a library which simulates a Poisson process in
which events randomly occur with an average waiting time of Lambda.
618. polpak, a library which evaluates a variety of mathematical functions,
including Chebyshev, Gegenbauer, Hermite, Jacobi, Laguerre, Legendre
polynomials, and the Collatz sequence.
619. polygon_grid, a library which generates a grid of points over the interior
of a polygon in 2D.
620. polygon_integrals, a library which returns the exact value of the integral
of any monomial over the interior of a polygon in 2D.
621. polygon_monte_carlo, a library which applies a Monte Carlo method to
estimate the integral of a function over the interior of a polygon in 2D.
622. polygon_properties, a library which computes properties of an arbitrary
polygon in the plane, defined by a sequence of vertices, including interior
angles, area, centroid, containment of a point, convexity, diameter, distance
to a point, inradius, lattice area, nearest point in set, outradius, uniform
sampling.
623. polygon_triangulate, a library which triangulates a (possibly nonconvex)
polygon in 2D, based on a C program by Joseph ORourke;
624. polygonal_surface_display, a program which displays a surface in 3D
described as a set of polygons;
625. polynomial, a library which adds, multiplies, differentiates, evaluates
and prints multivariate polynomials in a space of M dimensions.
626. polynomials, a library which defines multivariate polynomials over
rectangular domains, for which certain information is to be determined, such
as the maximum and minimum values.
627. power_method, a library which carries out the power method for
finding a dominant eigenvalue and its eigenvector.
628. power_rule, a program which constructs a power rule, that is, a product
quadrature rule from identical 1D factor rules.
629. pplane8, a program which interactively displays the phase plane of an
ordinary differential equation (ODE), by John Polking.
630. ppma_io, a library which reads or writes an ASCII Portable Pixel Map
(PPM) image file;
631. praxis, a library which minimizes a scalar function of several variables,
without requiring derivative information, by Richard Brent.
632. prime_parfor, a program which counts the number of primes between
1 and N; it runs in parallel using MATLAB's parfor facility.
633. prime_plot a program which displays a box plot of the prime and
composite numbers.
634. prime_serial, a program which counts the number of primes between 1
and N, and is intended as a starting point for a parallel version.
635. prime_spmd, a program which counts the number of primes between 1
and N; running in parallel using MATLAB's spmd feature.
636. prob, a library which evaluates, samples, inverts, and characterizes a
number of Probability Density Functions (PDF's) and Cumulative Density
Functions (CDF's), including anglit, arcsin, benford, birthday, bernoulli,
beta_binomial, beta, binomial, bradford, burr, cardiod, cauchy, chi, chi
squared, circular, cosine, deranged, dipole, dirichlet mixture, discrete,
empirical, english sentence and word length, error, exponential, extreme
values, f, fisk, folded normal, frechet, gamma, generalized logistic, geometric,
gompertz, gumbel, half normal, hypergeometric, inverse gaussian, laplace,
levy, logistic, log normal, log series, log uniform, lorentz, maxwell,
multinomial, nakagami, negative binomial, normal, pareto, planck, poisson,
power, quasigeometric, rayleigh, reciprocal, runs, sech, semicircular, student t,
triangle, uniform, von mises, weibull, zipf.
637. product_rule, a program which creates an M dimensional quadrature
rule from a product of distinct 1d quadrature rules;
638. profile, a directory of programs which illustrate the use of the MATLAB
profile utility, which monitors the execution of a series of MATLAB commands,
and then produces a performance profile report afterwards.
639. puzzles, executable programs which solve simple puzzles;
640. pwc_plot, a library which converts the definition of a piecewise
constant function into plottable data.
641. pwl_approx_1d, a library which approximates a set of data using a
piecewise linear function.
642. pwl_interp_1d, a library which interpolates a set of data using a
piecewise linear function.
643. pwl_interp_2d, a library which evaluates a piecewise linear interpolant
to data defined on a regular 2D grid.
644. pwl_interp_2d_scattered, a library which evaluates a piecewise linear
interpolant to data which is available at an irregularly arranged set of points.
645. pyramid_exactness, a program which investigates the polynomial
exactness of a quadrature rule over the interior of the unit pyramid in 3D.
646. pyramid_felippa_rule, a library which returns Felippa's quadratures
rules for approximating integrals over the interior of a pyramid in 3D.
647. pyramid_grid, a library which computes a grid of points over the
interior of the unit pyramid in 3D;
648. pyramid_integrals, a library which returns the exact value of the
integral of any monomial over the interior of the unit pyramid in 3D.
649. pyramid_monte_carlo, a library which applies a Monte Carlo method to
estimate integrals of a function over the interior of the unit pyramid in 3D;
650. pyramid_rule, a program which computes a quadrature rule over the
interior of the unit pyramid in 3D.
651. qr_solve, a library which computes the linear least squares (LLS)
solution of a system A*x=b.
652. quad_mesh, a library which handles meshes of quadrilaterals over a 2D
region;
653. quad_mesh_order1_display, a program which plots piecewise constant
data associated with a mesh of quadrilaterals;
654. quad_mesh_rcm, a program which computes the Reverse Cuthill-
McKee (RCM) reordering for nodes in a mesh of 4-node quadrilaterals.
655. quad_parfor, a program which estimates an integral using quadrature;
running in parallel using MATLAB's parfor feature.
656. quad_serial, a program which applies a quadrature rule to estimate an
integral, intended as a starting point for parallelization exercises.
657. quad_spmd, a program which estimates an integral using quadrature;
running in parallel using MATLAB's spmd feature.
658. quad_surface_display, a program which plots piecewise bilinear data
associated with a quad_surface, that is, a 3D surface defined by a quadrilateral
mesh;
659. quad_tasks, a program which estimates an integral using quadrature;
running in parallel using MATLAB's task feature.
660. quad2d_serial, a program which applies a product quadrature rule to
estimate an integral over a 2D rectangle, intended as a starting point for
parallelization exercises.
661. quadmom, a library which computes a Gaussian quadrature rule for a
weight function rho(x) based on the Golub-Welsch procedure that only
requires knowledge of the moments of rho(x).
662. quadrature_golub_welsch, a library which computes the points and
weights of a Gaussian quadrature rule using the Golub-Welsch procedure.
663. quadrature_least_squares, a library which computes weights for sub-
interpolatory quadrature rules, that is, it estimates integrals by integrating a
polynomial that approximates the function data in a least squares sense.
664. quadrature_test, a program which reads the definition of an M
dimensional quadrature rule from three files, applies the rule to a number of
test integrals, and prints the results.
665. quadrature_test_2d, a program which reads the definition of a 2D
quadrature rule from three files, applies the rule to a number of test integrals,
and prints the results.
666. quadrature_weights_vandermonde, a library which computes the
weights of a quadrature rule using the Vandermonde matrix, assuming that
the points have been specified.
667. quadrature_weights_vandermonde_2d, a library which computes the
weights of a 2D quadrature rule using the Vandermonde matrix, assuming that
the points have been specified.
668. quadrule, a library which defines quadrature rules for approximating an
integral;
669. quadrule_fast, a library which rapidly defines certain quadrature rules
for approximating an integral;
670. quality, a library which measures the dispersion of pointsets in M
dimensions;
671. quiz, programs which investigate a few simple questions, as practice for
beginning MATLAB programmers.
672. r4lib, a library which contains many utility routines, using single
precision real (R4) arithmetic.
673. r83, a library which contains linear algebra routines for R83 matrices
(real, 64 bit, tridiagonal 3xN format).
674. r83_np, a library which contains linear algebra routines for R83_NP
matrices (real, 64 bit, tridiagonal 3xN format, nonpivoting factorization).
675. r83p, a library which contains linear algebra routines for R83P matrices
(real, 64 bit, tridiagonal periodic format).
676. r83s, a library which contains linear algebra routines for R83S matrices
(real, 64 bit, tridiagonal scalar format).
677. r83t, a library which contains linear algebra routines for R83t matrices
(real, 64 bit, tridiagonal Mx3 format).
678. r83v, a library which contains linear algebra routines for R83V matrices
(real, 64 bit, tridiagonal three vector format).
679. r85, a library which contains linear algebra routines for R85 matrices
(real, 64 bit, pentadiagonal format).
680. r8bb, a library which contains linear algebra routines for R8BB matrices
(real, 64 bit, border banded format).
681. r8blt, a library which contains linear algebra routines for R8BLT matrices
(real, 64 bit, band lower triangular format).
682. r8bto, a library which contains linear algebra routines for R8BTO
matrices (real, 64 bit, block Toeplitz format).
683. r8but, a library which contains linear algebra routines for R8BUT
matrices (real, 64 bit, band upper triangular format).
684. r8cc, a library which contains linear algebra routines for R8CC matrices
(real, 64 bit, Compressed Column (Colptr,Row,Value) format).
685. r8ci, a library which contains linear algebra routines for R8CI matrices
(real, 64 bit, circulant format).
686. r8col, a library which contains utility routines for R8COL's, that is,
double precision real MxN arrays, considered as N column vectors, each of
length M. The data may be thought of as a matrix of multiple columns, and
many operations will be carried out columnwise.
687. r8gb, a library which contains linear algebra routines for R8GB matrices
(real, 64 bit, General Banded format).
688. r8gd, a library which contains linear algebra routines for R8GD matrices
(real, 64 bit, general diagonal format).
689. r8ge, a library which contains linear algebra routines for R8GE matrices
(real, 64 bit, General format).
690. r8ge_np, a library which contains nonpivoting linear algebra routines
for R8GE_NP matrices (real, 64 bit, General nonpivoting format).
691. r8lib, a library which contains many utility routines, using double
precision real (R8) arithmetic.
692. r8lt, a library which contains linear algebra routines for R8LT matrices
(real, 64 bit, lower triangular format).
693. r8ltt, a library which contains linear algebra routines for R8LTT matrices
(real, 64 bit, lower triangular Toeplitz format).
694. r8ncf, a library which contains linear algebra routines for R8NCF
matrices (real, 64 bit, nonsymmetric coordinate format).
695. r8pbl, a library which contains linear algebra routines for R8PBL
matrices (real, 64 bit, positive definite symmetric band lower format).
696. r8pbu, a library which contains linear algebra routines for R8PBU
matrices (real, 64 bit, positive definite symmetric band upper format).
697. r8po, a library which contains linear algebra routines for R8PO matrices
(real, 64 bit, positive definite symmetric format).
698. r8pp, a library which contains linear algebra routines for R8PP matrices
(real, 64 bit, positive definite symmetric packed format).
699. r8ri, a library which contains linear algebra routines for R8RI matrices
(real, 64 bit, row-indexed format).
700. r8row, a library which contains utility routines for R8ROW's, that is,
double precision real MxN arrays, considered as M row vectors, each of length
N. The data may be thought of as a matrix of multiple rows, and many
operations will be carried out rowwise.
701. r8s3, a library which contains linear algebra routines for R8S3 matrices
(real, 64 bit, SLAP triad (I,J,AIJ) format).
702. r8sd, a library which contains linear algebra routines for R8SD matrices
(real, 64 bit, symmetric diagonal format).
703. r8sm, a library which contains linear algebra routines for R8SM matrices
(real, 64 bit, Sherman-Morrison A-u*v' format).
704. r8sp, a library which contains linear algebra routines for R8SP matrices
(real, 64 bit, SLAP triad (I,J,AIJ) format).
705. r8sr, a library which carries out linear algebra operations for R8SR
matrices (real, 64 bit, diagonal + compressed row offdiagonal format).
706. r8ss, a library which carries out linear algebra operations for R8SS
matrices (real, 64 bit, symmetric skyline format).
707. r8sto, a library which contains linear algebra routines for R8STO
matrices (real, 64 bit, symmetric Toeplitz N format).
708. r8to, a library which contains linear algebra routines for R8TO matrices
(real, 64 bit, Toeplitz 2*N-1 format).
709. r8ut, a library which contains linear algebra routines for R8UT matrices
(real, 64 bit, upper triangular format).
710. r8utt, a library which contains linear algebra routines for R8UTT
matrices (real, 64 bit, upper triangular Toeplitz format).
711. r8vm, a library which contains linear algebra routines for R8VM
matrices (real, 64 bit, Vandermonde format).
712. randlc, a library which implements a random number generator (RNG)
used by the NAS Benchmark programs.
713. random_data, a library which uses a random number generator (RNG)
to sample points distributed according to various probability density functions
(PDF's), spatial dimensions, and geometries, including the M-dimensional
cube, ellipsoid, simplex and sphere.
714. random_sorted, a library which generates vectors of random values
which are already sorted.
715. random_walk_1d_simulation, a program which simulates a random
walk in a 1-dimensional region.
716. random_walk_2d_avoid_simulation, a program which simulates a self-
avoiding random walk in a 2-dimensional region.
717. random_walk_2d_avoid_tasks, a program which computes many self
avoiding random walks in 2D by creating a job which defines each walk as a
task, and then computes these independently using MATLAB's Parallel
Computing Toolbox task computing capability.
718. random_walk_2d_simulation, a program which simulates a random
walk in a 2-dimensional region.
719. random_walk_3d_simulation, a program which simulates a random
walk in a 3-dimensional region.
720. ranlib, a library which produces random samples from Probability
Density Functions (PDF's), including Beta, Chi-square Exponential, F, Gamma,
Multivariate normal, Noncentral chi-square, Noncentral F, Univariate normal,
random permutations, Real uniform, Binomial, Negative Binomial,
Multinomial, Poisson and Integer uniform, by Barry Brown and James Lovato.
721. rbf_interp_1d, a library which defines and evaluates radial basis
function (RBF) interpolants to 1D data.
722. rbf_interp_2d, a library which defines radial basis function (RBF)
interpolants to 2D data.
723. rbf_interp_nd, a library which defines and evaluates radial basis
function (RBF) interpolants to M dimensional data.
724. rcm, a library which applies the Reverse Cuthill McKee (RCM) algorithm
for reordering the nodes of a graph, and reducing the bandwidth of a
corresponding sparse matrix;
725. reactor simulation, a program which is a simple Monte Carlo simulation
of the shielding effect of a slab of a certain thickness in front of a neutron
source. This program was provided as an example with the book "Numerical
Methods and Software."
726. rejection_sample, a library which demonstrates acceptance/rejection
sampling.
727. rk4, a library which applies the fourth order Runge-Kutta (RK) algorithm
to estimate the solution of an ordinary differential equation (ODE) at the next
time step.
728. rkf45, a library which applies a Runge-Kutta-Fehlberg (RKF) solver to a
system of ordinary differential equations (ODE's);
729. rnglib, a library which implements a random number generator (RNG)
with splitting facilities, allowing multiple independent streams to be
computed, by L'Ecuyer and Cote.
730. root_rc, a library which seeks a solution of a scalar nonlinear equation
f(x)=0, using reverse communication (RC), by Gaston Gonnet.
731. roots_rc, a library which seeks solutions of a system of nonlinear
equations, using reverse communication (RC), by Gaston Gonnet.
732. rot13, a library which can encipher a string using the ROT13 cipher for
letters, and the ROT5 cipher for digits.
733. roulette_simulation, a library which simulates the spinning of a roulette
wheel and the evaluation of certain common roulette bets.
734. sammon_data, a program which generates six examples of M
dimensional datasets for cluster analysis.
735. sandia_cubature, a library which implements quadrature rules for
certain M dimensional regions and weight functions.
736. sandia_rules, a library which produces a standard 1D Gauss quadrature
rule of Chebyshev, Gegenbauer, generalized Hermite, generalized Laguerre,
Hermite, Jacobi, Laguerre, and Legendre types.
737. sandia_sgmgg, a library which explores a generalized construction
method for sparse grids.
738. sandia_sparse, a library which can produce an M dimensional sparse
grid, based on a variety of 1D quadrature rules; only isotropic grids are
generated, that is, the same rule is used in each dimension, and the same
maximum order is used in each dimension.
739. satisfy, a program which demonstrates, for a particular circuit, an
exhaustive search for solutions of the circuit satisfiability problem.
740. satisfy_parfor, a program which carries out a circuit satisfiability search;
it runs in parallel using MATLAB's parfor facility.
741. sde, a library which illustrates properties of stochastic differential
equations (SODE's), and common algorithms for their analysis, by Desmond
Higham;
742. search_serial, a program which searches the integers from A to B for a
value J such that F(J) = C. this version of the program is intended as a starting
point for a parallel approach.
743. sequence_streak_display, a program which displays a streak plot of a
numeric sequence;
744. set_theory, a library which demonstrates MATLAB commands that
implement various set theoretic operations.
745. sftpack, a library which implements the slow Fourier transform (SFT),
intended as a teaching tool and comparison with the Fast Fourier Transform
(FFT).
746. sgmga, a library which creates sparse grids based on a mixture of 1D
quadrature rules, allowing anisotropic weights for each dimension.
747. shallow_water_1d, a program which simulates the evolution of a 1D
fluid governed by the time-dependent shallow water equations.
748. shallow_water_1d_display, a program which can display a solution of
the shallow water equations in 1D, generally as computed by the program
shallow_water_1d.
749. shallow_water_2d, a program which simulates the evolution of a 2D
fluid governed by the time-dependent shallow water equations, by Cleve
Moler.
750. shepard_interp_1d, a library which defines and evaluates Shepard
interpolants to 1D data, based on inverse distance weighting.
751. shepard_interp_2d, a library which defines and evaluates Shepard
interpolants to 2D data, based on inverse distance weighting.
752. shepard_interp_nd, a library which defines and evaluates Shepard
interpolants to M dimensional data, based on inverse distance weighting.
753. shoreline, a program which tries to identify and triangulate the 2D
domain over which some function f(x,y) is nonnegative.
754. shoreline2, a program which tries to identify and triangulate the 2D
domain over which some function f(x,y) is approximately zero.
755. side_by_side_display, a program which demonstrates how to display
curves side by side in a 3D plot; the curves might be yearly snowfall data over
consecutive years, for instance.
756. simplex_coordinates, a library which computes the Cartesian
coordinates of the vertices of a regular simplex in M dimensions.
757. simplex_gm_rule, a library which defines Grundmann-Moeller
quadrature rules over the interior of a triangle in 2D, a tetrahedron in 3D, or
over the interior of the simplex in M dimensions.
758. simplex_grid, a library which generates a regular grid of points over the
interior of an arbitrary simplex in M dimensions.
759. simplex_integrals, a library which returns the exact value of the integral
of any monomial over the interior of the unit simplex in M dimensions.
760. simplex_monte_carlo, a library which uses the Monte Carlo method to
estimate an integral over the interior of the unit simplex in M dimensions.
761. sine_transform, a library which demonstrates simple properties of the
discrete sine transform (DST).
762. single_linkage, a library which demonstrates the use of MATLAB's single
linkage clustering functions.
763. sir_simulation, a program which simulates the spread of a disease
through a hospital room of M by N beds, using the
Susceptible/Infected/Recovered (SIR) model.
764. smolyak_display, a program which displays the exactness diagram for a
2D Smolyak sparse grid, by displaying and summing the exactness diagrams
for the component product rules.
765. snakes_and_ladders, a program which simulates a one-player version of
the game of Snakes and Ladders, by Mina Aymin.
766. snakes_bar, a library which produces bar charts of the count, PDF and
CDF estimates for the length of a one-player game of Snakes and Ladders,
produced by simulating N games.
767. snakes_histogram, a library which produces histograms of the count,
PDF and CDF estimates for the length of a one-player game of Snakes and
Ladders, produced by simulating N games.
768. snakes_matrix, a program which returns the transition matrix for the
game of Snakes and Ladders.
769. snakes_probability, a program which computes the game length
probabilities for the game of Snakes and Ladders, by Desmond Higham and
Nicholas Higham.
770. sobol, a library which generates elements of the Sobol M dimensional
Quasi Mont Carlo (QMC) sequence, by Bennett Fox.
771. sobol_dataset, a program which creates a Sobol M dimensional Quasi
Mont Carlo (QMC) dataset;
772. solve, a library which demonstrates how Gauss elimination can be used
to solve a linear system A*x=b.
773. sor, a library which implements a simple version of the successive over-
relaxation (SOR) method for the iteration solution of a linear system of
equations.
774. sort_rc, a library which can sort a list of any kind of objects, using
reverse communication (RC).
775. sparse, programs which illustrate the use of MATLAB's sparse matrix
utilities;
776. sparse_count, a library which is for the analysis and creation of sparse
grids in which a single family of 1D quadrature rules is used for all spatial
dimensions, for various growth rules.
777. sparse_display, a library which can read information defining a matrix of
numbers and display the sparsity pattern or location of the nonzero elements
using gnuplot. This operation is already available in the built-in MATLAB "spy"
command.
778. sparse_grid_cc, a library which creates sparse grids based on Clenshaw-
Curtis quadrature rules.
779. sparse_grid_cc_dataset, a program which creates sparse grids based on
Clenshaw-Curtis quadrature rules.
780. sparse_grid_composite, a library which creates sparse grids based on
1D composite rules (currently only of order 1).
781. sparse_grid_gl, a library which creates sparse grids based on Gauss-
Legendre rules.
782. sparse_grid_gl_dataset, a program which creates a sparse grid dataset
based on Gauss-Legendre rules.
783. sparse_grid_hermite, a library which creates sparse grids based on
Gauss-Hermite rules.
784. sparse_grid_hermite_dataset, a program which creates a sparse grid
dataset based on Gauss-Hermite rules.
785. sparse_grid_hw, a library which creates sparse grids based on Gauss-
Legendre, Gauss-Hermite, Gauss-Patterson, or a nested variation of Gauss-
Hermite rules, by Florian Heiss and Viktor Winschel.
786. sparse_grid_laguerre, a library which creates sparse grids based on
Gauss-Laguerre rules.
787. sparse_grid_laguerre_dataset, a program which creates a sparse grid
dataset based on Gauss-Laguerrre rules.
788. sparse_grid_mixed, a library which creates sparse grids based a mixture
of 1D factor rules.
789. sparse_grid_mixed_dataset, a program which creates a sparse grid
dataset based on a mixture of 1D rules.
790. sparse_grid_open, a library which creates sparse grids based on one of
the following open 1D rules: Fejer 2, Gauss-Patterson, Newton-Cotes-Open.
791. sparse_grid_open_dataset, a program which creates a sparse grid
dataset based on one of the following open 1D rules: Fejer 2, Gauss-Patterson,
Newton-Cotes-Open.
792. sparse_grid_total_poly, a library which investigates the efficient
approximation of all polynomials up to a given total degree using sparse grids.
793. sparse_interp_nd, a library which can be used to define a sparse
interpolant to a function f(x) of a M dimensional argument.
794. sparse_parfor, a library which demonstrates how a sparse matrix can be
constructed by evaluating individual blocks in parallel with the parfor
command, and then assembled on a single processor using the sparse()
command, by Gene Cliff.
795. sphere_cubed_grid, a library which uses the projection of a cube to
create grids of points, lines, and quadrilaterals on the surface of the unit
sphere in 3D.
796. sphere_cvt, a program which carries out the Centroidal Voronoi
Tessellation (CVT) iteration on the surface of the unit sphere in 3D.
797. sphere_delaunay, a program which computes the Delaunay
triangulation of points on the surface of the unit sphere in 3D.
798. sphere_exactness, a program which tests the polynomial exactness of a
quadrature rule on the surface of the unit sphere in 3D.
799. sphere_fibonacci_grid, a library which uses a Fibonacci spiral to create a
grid of points on the surface of the unit sphere in 3D.
800. sphere_grid, a library which provides a number of ways of generating
grids of points, or of points and lines, or of points and lines and faces, on the
surface of the unit sphere in 3D.
801. sphere_integrals, a library which returns the exact value of the integral
of any monomial over the surface of the unit sphere in 3D.
802. sphere_lebedev_rule, a library which computes Lebedev quadrature
rules on the surface of the unit sphere in 3D.
803. sphere_lebedev_rule_display, a program which reads a file defining a
Lebedev quadrature rule on the surface of the unit sphere in 3D and displays
the point locations.
804. sphere_llq_grid, a library which uses longitudes and latitudes to create
grids of points, lines, and quadrilaterals on the surface of the unit sphere in
3D.
805. sphere_llt_grid, a library which uses longitudes and latitudes to create
grids of points, lines, and triangles on the surface of the unit sphere in 3D.
806. sphere_monte_carlo, a library which applies a Monte Carlo method to
estimate the integral of a function on the surface of the unit sphere in 3D.
807. sphere_quad, a library which uses quadrature to approximate an
integral on the surface of the unit sphere in 3D;
808. sphere_stereograph, a library which computes the stereographic
mapping between points on the surface of the unit sphere in 3D and points on
the plane Z = 1; a generalized mapping is also available.
809. sphere_stereograph_display, a library which computes and displays the
results of several stereographic projections between points on the surface of
the unit sphere in 3D and a plane.
810. sphere_triangle_monte_carlo, a library which used the Monte Carlo
method to estimate the integral of a function defined in a triangle on the
surface of the unit sphere in 3D.
811. sphere_triangle_quad, a library which uses quadrature to estimate the
integral of a function in a spherical triangle on the surface of the unit sphere in
3D.
812. sphere_voronoi, a program which computes the Voronoi diagram of
points on the surface of the unit sphere in 3D.
813. sphere_xyz_display, a program which reads XYZ information defining
points on the surface of the unit sphere in 3D and displays the sphere and the
points in the MATLAB 3D graphics window.
814. sphere_xyzf_display, a program which reads XYZ information defining
point coordinates, and XYZF information defining point indices forming faces,
on the surface of the unit sphere in 3D and displays a unit sphere, the points,
and the faces, in the MATLAB 3D graphics window.
815. spherical_harmonic, a library which evaluates spherical harmonic
functions.
816. spinterp, a library which carries out piecewise multilinear hierarchical
sparse grid interpolation, quadrature and optimization, by Andreas Klimke; an
earlier version of this software is ACM TOMS Algorithm 847.
817. spinterp_examples, a library which demonstrates some simple uses of
the spinterp program, which uses sparse grids for interpolation, optimization,
and quadrature in higher dimensions.
818. spiral_data, a program which computes a velocity vector field that
satisfies the continuity equation, writing the data to a file that can be plotted
by gnuplot.
819. spline, a library which interpolates and approximates via splines;
820. spquad, a library which computes the points and weights of a sparse
grid quadrature rule for an M dimensional integral, based on the Clenshaw-
Curtis quadrature rule, by Greg von Winckel.
821. spring_ode, a program which shows how line printer graphics can be
used to make a crude illustration of a solution of the ordinary differential
equation (ODE) that describes the motion of a weight attached to a spring.
822. spring_ode2, a program which shows how gnuplot graphics can be used
to illustrate a solution of the ordinary differential equation (ODE) that
describes the motion of a weight attached to a spring.
823. square_arbq_rule, a library which returns quadrature rules, with
exactness up to total degree 20, over the interior of the symmetric square in
2D, by Hong Xiao and Zydrunas Gimbutas.
824. square_exactness, a library which investigates the polynomial exactness
of quadrature rules for f(x,y) over the interior of a rectangle in 2D.
825. square_felippa_rule, a library which returns Felippa's quadratures rules
for approximating integrals over the interior of a square in 2D.
826. square_grid, a library which computes a grid of points over the interior
of a square in 2D.
827. square_integrals, a library which returns the exact value of the integral
of any monomial over the interior of the unit square in 2D.
828. square_monte_carlo, a library which applies a Monte Carlo method to
estimate the integral of a function over the interior of the unit square in 2D.
829. square_symq_rule, a library which returns symmetric quadrature rules,
with exactness up to total degree 20, over the interior of the symmetric
square in 2D, by Hong Xiao and Zydrunas Gimbutas.
830. st_io a library which reads and writes sparse linear systems stored in
the Sparse Triplet (ST) format.
831. st_to_cc, a library which converts sparse matrix data from Sparse
Triplet (ST) format to Compressed Column (CC) format;
832. st_to_hb, a program which converts a sparse matrix file from the Sparse
Triplet (ST) format to Harwell Boeing (HB) format;
833. st_to_mm, a program which converts a sparse matrix file from Sparse
Triplet (ST) format to Matrix Market (MM) format;
834. st_to_msm, a program which reads a Sparse Triplet (ST) file and creates
a corresponding MATLAB Sparse Matrix.
835. stla_display, a program which displays an ASCII stereolithography (STL)
3D graphics file;
836. stla_io, a library which reads and writes an ASCII stereolithography (STL)
3D graphics file;
837. stla_to_tri_surface, a program which reads an ASCII stereolithography
(STL) 3D graphics file and extracts the surface mesh data as a tri_surface
dataset.
838. stla_to_tri_surface_fast, a program which is a faster version of
stla_to_tri_surface.
839. stochastic_diffusion, functions which implement several versions of a
stochastic diffusivity coefficient.
840. stochastic_gradient_nd_noise, a program which solves an optimization
problem involving a functional over a system with stochastic noise.
841. stochastic_heat2d, a program which implements a finite difference
method (FDM) for the steady (time independent) 2D heat equation, with a
stochastic heat diffusivity coefficient.
842. stochastic_rk, a library which applies a Runge-Kutta (RK) scheme to
approximate the solution of a stochastic ordinary differential equation (SODE).
843. stokes_2d_exact, a library which evaluates exact solutions to the
incompressible steady Stokes equations over the unit square in 2D.
844. string_simulation, a program which simulates the behavior of a
vibrating string by solving the corresponding initial boundary value problem
(IBVP).
845. stroud, a library which defines quadrature rules for a variety of M-
dimensional regions, including the interior of the square, cube and hypercube,
the pyramid, cone and ellipse, the hexagon, the M-dimensional octahedron,
the circle, sphere and hypersphere, the triangle, tetrahedron and simplex, and
the surface of the circle, sphere and hypersphere.
846. subpak, a library which includes many utility routines;
847. subset, a library which enumerates, generates, randomizes, ranks and
unranks combinatorial objects including combinations, compositions, Gray
codes, index sets, partitions, permutations, polynomials, subsets, and Young
tables. Backtracking routines are included to solve some combinatorial
problems.
848. subset_sum, a program which seeks solutions of the subset sum
problem.
849. subset_sum_serial, a program which seeks solutions of the subset sum
problem, intended as a starting point for a parallel computing approach.
850. subset_sum_tasks, a program which solves a subset sum problem by
exhaustive search, solving the problem in parallel by subdividing the search
range among separate tasks.
851. sudoku, a library which handles Sudoku puzzles;
852. svd_basis, a program which applies the singular value decomposition
(SVD) to a collection of data vectors, extracting dominant modes;
853. svd_demo, a program which demonstrates the calculation of the
singular value decomposition (SVD) and some of its properties;
854. svd_fingerprint, a program which reads a file containing a fingerprint
image and uses the singular value decomposition (SVD) to compute and
display a series of low rank approximations to the image.
855. svd_snowfall, a program which reads a file containing historical snowfall
data and analyzes the data with the Singular Value Decomposition (SVD).
856. svd_truncated, a program which demonstrates the computation of the
reduced or truncated Singular Value Decomposition (SVD) that is useful for
cases when one dimension of the matrix is much smaller than the other.
857. table_delaunay, a program which reads a table file of N points in 2
dimensions and writes out the Delaunay triangulation;
858. table_io, a library which reads and writes a simple table file;
859. table_latinize, a program which reads a table file of N points in M
dimensions, adjusts to form a Latin hypercube;
860. table_quality, a program which reads a table file of N points in M
dimensions, in the unit hypercube, and estimates the quality of the point
dispersion;
861. table_voronoi, a program which reads a table file of N points in 2
dimensions, calls geompack to get Delaunay triangulation information, and
then determines and prints the Voronoi diagram information;
862. task_division, a library which implements a simple procedure for
smoothly dividing T tasks among P processors; such a method can be useful in
MPI and other parallel environments, particularly when T is not an exact
multiple of P, and when the processors can be indexed starting from 0 or from
1.
863. tcell, a program which solves the time-dependent 2D incompressible
Navier Stokes equations (NSE) in a T-shaped region, by Hyung-Chun Lee.
864. tcell_flow_display, a library which displays a single velocity field
solution for the T cell;
865. tcell_flow_movie, a library which creates an animation of the velocity
solutions for the T cell;
866. tcell_rom, a program which solves a reduced order model of a finite
element solution of the Navier Stokes equations (NSE) in a T-Cell flow region,
by Hyung-Chun Lee.
867. tec_io, a library which reads or writes a tecplot ASCII file containing
finite element information;
868. tec_to_fem, a program which reads a tecplot ASCII file, extracts the
information, and writes a corresponding set of FEM files, three text files
describing the finite element model;
869. tec_to_vtk, a program which reads a particular tecplot ASCII file
containing 80 frames of the movement of a red blood cell, and creates 80
separate VTK unstructured grid files, which can then be read by paraview and
animated.
870. templates, a library which carries out the iterative solution of linear
systems;
871. tensor_grid_display, a program which can display the grid points of a
tensor product rule used for interpolation or quadrature, in 1D, 2D or 3D.
872. test_approx, a library which implements test problems for
approximation, provided as a set of (x,y) data.
873. test_con, a library which implements test problems for numerical
continuation.
874. test_eigen, a library which implements test matrices for eigenvalue
analysis.
875. test_int, a library which implements test problems for approximate
integration (quadrature) in one dimension.
876. test_int_2d, a library which implements test problems for approximate
integration (quadrature) in two dimensions.
877. test_int_margin, a library which implements test functions for the task
of locating the region for which margin <= f(x), and estimating an integral over
that region.
878. test_interp, a library which defines test problems for interpolation,
provided as a set of (x,y(x)) data.
879. test_interp_1d, a library which defines test problems for interpolation
of data y(x), which depends on a 1D argument.
880. test_interp_2d, a library which defines test problems for interpolation
of data z(x,y), which depends on a 2D argument.
881. test_interp_nd, a library which defines test problems for interpolation
of data z(x), depending on an M dimensional argument.
882. test_lls, a library which implements linear least squares (LLS) test
problems of the form A*x=b.
883. test_mat, a library which defines test matrices for which some of the
determinant, eigenvalues, inverse, null vectors, P*L*U factorization or linear
system solution are already known, including the Vandermonde and Wathen
matrix.
884. test_matrix_exponential, a library which defines a set of test cases for
computing the matrix exponential.
885. test_min, a library which implements test problems for minimization of
a scalar function of a scalar variable.
886. test_nearest, a library which tests the time complexity of various
procedures for solving the nearest neighbor problem.
887. test_nint, a library which implements test problems for approximate
integration (quadrature) in M dimensions.
888. test_ode, a library which defines some sample ordinary differential
equations (ODE's) for testing initial value problem solvers;
889. test_opt, a library which implements test problems for optimization of a
scalar function of several variables.
890. test_opt_con, a library which defines test problems for the
minimization of a scalar function of several variables, with the search
constrained to lie within a specified hyper-rectangle.
891. test_optimization, a library which implements test problems for
optimization of a scalar function of several variables, as described by Molga
and Smutnicki.
892. test_triangulation, a library which defines test problems for
triangulation;
893. test_values, a library which returns selected values of some special
functions;
894. test_zero, a library which defines some functions f(x) suitable for testing
software that solves f(x)=0;
895. testpack, a library which defines a set of test integrand functions, by
Alan Genz.
896. tet_mesh, a library which works with tetrahedral meshes in 3D;
897. tet_mesh_boundary, a program which reads information defining a
tetrahedral mesh of points in 3D, and determines the triangular faces that
form the boundary of the mesh; it writes out files containing the nodes and
elements defining this TRI_SURFACE data.
898. tet_mesh_display, a program which reads data defining a (small)
tetrahedral mesh, and displays a wireframe image of the nodes and edges;
899. tet_mesh_l2q, a program which reads information about a 4-node
(linear) tetrahedral mesh and creates data defining a corresponding 10-node
(quadratic) tetrahedral mesh;
900. tet_mesh_q2l, a program which reads information about a 10-node
(quadratic) tet mesh and creates data defining a corresponding 4-node (linear)
tetrahedral mesh;
901. tet_mesh_quad, a program which estimates the integral of a function
over a region defined by a tetrahedral mesh.
902. tet_mesh_quality, a program which computes various quality measures
for a tetrahedral mesh of a set of nodes in 3D;
903. tet_mesh_rcm, a program which computes the Reverse Cuthill McKee
(RCM) reordering for the nodes of a tetrahedral mesh that uses 4-node or 10-
node tetrahedrons;
904. tet_mesh_refine, a program which refines a tetrahedral mesh;
905. tet_mesh_tet_neighbors, a program which reads information about a
tetrahedral mesh and writes out a list of the tetrahedrons adjacent to a given
tetrahedron;
906. tet_mesh_volumes, a program which computes the volume of each
tetrahedron in a tetrahedral mesh;
907. tetrahedron_arbq_rule, a library which returns quadrature rules, with
exactness up to total degree 15, over the interior of a tetrahedron in 3D, by
Hong Xiao and Zydrunas Gimbutas.
908. tetrahedron_exactness, a program which tests the polynomial
exactness of a quadrature rule over the interior of a tetrahedron in 3D.
909. tetrahedron_felippa_rule, a library which returns Felippa's quadratures
rules for approximating integrals over the interior of a tetrahedron in 3D.
910. tetrahedron_grid, a library which computes a grid of points over the
interior of a tetrahedron in 3D.
911. tetrahedron_integrals, a library which returns the exact value of the
integral of any monomial over the interior of the unit tetrahedron in 3D.
912. tetrahedron_keast_rule, a library which defines ten quadrature rules, of
degree of exactness 0 through 8, over the interior of the tetrahedron in 3D.
913. tetrahedron_monte_carlo, a library which uses the Monte Carlo
method to estimate an integral over the interior of the unit tetrahedron in 3D.
914. tetrahedron_ncc_rule, a library which defines Newton-Cotes closed
(NCC) quadrature rules over the interior of a tetrahedron in 3D.
915. tetrahedron_nco_rule, a library which defines Newton-Cotes open
(NCO) quadrature rules over the interior of a tetrahedron in 3D.
916. tetrahedron_properties, a program which computes properties,
including the centroid, circumsphere, dihedral angles, edge lengths, face
angles, face areas, insphere, quality, solid angles, and volume for a
tetrahedron in 3D.
917. tetrahedron_slice_animate, a program which is given a tetrahedron and
a vector, and displays an evenly spaced sequence of planes that intersect the
tetrahedron and are normal to the vector.
918. tetrahedron_slice_display, a program which determines the
intersection between a tetrahedron and a plane and displays the result.
919. theodolite, a library which presents the problem of estimating the
location of an event which occurs in the sky, atmosphere, or the heavens,
using nothing but the reported angle of observation from several stations; this
is an example in which a nonlinear least squares (NLS) solver is needed.
920. three_body_simulation, a program which simulates the behavior of
three planets, constrained to lie in a plane, and moving under the influence of
gravity, by Walter Gander and Jiri Hrebicek.
921. threed, a library which contains functions useful for finite element
method (FEM) calculations in 3D, by Jeff Borggaard.
922. threed_to_tecplot, a program which accepts computational data from a
3D finite element method (FEM) program for Navier Stokes equation (NSE)
fluid flow and writes it to a tecplot ASCII graphics file.
923. threed_to_vtk, a program which accepts computational data from a 3D
finite element method (FEM) program for Navier Stokes equation (NSE) fluid
flow and writes it to a vtk legacy file for postprocessing by paraview.
924. threed_to_vtu, (archived), a program which accepts computational data
from a 3D finite element method (FEM) program for Navier Stokes equation
(NSE) fluid flow and writes it to a vtk unstructured grid file for postprocessing
by the paraview visualization program.
925. threed_to_vu, a program which accepts computational data from a 3D
finite element fluid flow program and writes it to a file for postprocessing by
the vu visualization program.
926. tic_toc, programs which demonstrate some features of MATLAB's tic
and toc functions for wallclock timing.
927. timer, programs which illustrate how to time a piece of code;
928. timestamp, a library which prints the current YMDHMS date as a
timestamp;
929. toeplitz_cholesky, a library which computes the Cholesky factorization
of a nonnegative definite symmetric Toeplitz matrix.
930. toms097, a library which computes the distance between all pairs of
nodes in a directed graph with weighted edges, using Floyd's algorithm. This is
a version of ACM TOMS algorithm 97.
931. toms112, a library which determines whether a point is contained in a
polygon, by Moshe Shimrat. This is a version of ACM TOMS algorithm 112.
932. toms178, a library which seeks the minimizer of a scalar function of
several variables using the Hooke-Jeeves method, by Arthur Kaupe. This is a
version of ACM TOMS algorithm 178.
933. toms179, a library which calculates the incomplete Beta ratio, by Oliver
Ludwig. This is a version of ACM TOMS algorithm 179.
934. toms291, a library which approximates the logarithm of the Gamma
function. This is a version of ACM TOMS algorithm 291.
935. toms443, a library which evaluates Lambert's W function. This is a
version of ACM TOMS algorithm 443.
936. toms446, a library which manipulates Chebyshev series for
interpolation and approximation, by Roger Broucke. This is a version of ACM
TOMS algorithm 446.
937. toms462, a library which evaluates the upper right tail of the bivariate
normal distribution; that is, the probability that normal variables X and Y with
correlation R will satisfy H <= X and K <= Y. This is a version of ACM TOMS
algorithm 462.
938. toms515, a library which can select subsets of size K from a set of size
N, ACM TOMS Algorithm 515, by Bill Buckles, Matthew Lybanon.
939. toms655, a library which computes the weights for interpolatory
quadrature rule; this library is commonly called IQPACK, by Sylvan Elhay and
Jaroslav Kautsky. This is a version of ACM TOMS algorithm 655.
940. toms743, a library which evaluates Lambert's W function. This is a
version of ACM TOMS algorithm 743, by Barry, Barry and Culligan-Hensley.
941. toms847, a library which carries out piecewise multilinear hierarchical
sparse grid interpolation, commonly known as SPINTERP, by Andreas Klimke.
This is a version of ACM TOMS Algorithm 847.
942. toms866, a library which contains version 2.2 of the Incompressible
Flow Iterative Solution Software (IFISS), for solving problems involving the
Navier Stokes equations (NSE), by Howard Elman, Alison Ramage, David
Silvester. This is a version of ACM TOMS algorithm 866.
943. toms886, a library which defines the Padua points for interpolation in a
2D region, including the rectangle, triangle, and ellipse, by Marco Caliari,
Stefano de Marchi, Marco Vianello. This is a version of ACM TOMS algorithm
886.
944. traffic_simulation, a program which simulates the cars waiting to get
through a traffic light.
945. treepack, a library which carries out computations on trees, a simple
kind of graph that is minimally connected.
946. tri_surface_display, a program which displays a triangulated surface;
947. tri_surface_io, a library which reads and writes the 3D graphics
information in a tri_surface file;
948. tri_surface_to_obj, a program which reads a tri_surface dataset and
extracts the surface mesh data as an OBJ file.
949. tri_surface_to_ply, a program which converts a tri_surface dataset to a
dataset suitable for storage as a PLY file.
950. tri_surface_to_stla, a program which reads a tri_surface dataset and
extracts the surface mesh data as an ASCII stereolithography (STL) file.
951. triangle_analyze, a program which reads a triangle defined in a file, and
uses the TRIANGLE_PROPERTIES library to compute angles, area, centroid,
circumcircle, edge lengths, incircle, orientation, orthocenter, and quality.
952. triangle_display, a program which displays the nodes and elements of a
triangulation on the MATLAB graphics screen, assuming the data has been
stored in NODE and ELE files by the triangle() program.
953. triangle_dunavant_rule, a library which defines Dunavant quadrature
rules over the interior of a triangle in 2D.
954. triangle_exactness, a program which tests the polynomial exactness of
a quadrature rule over the interior of a triangle in 2D.
955. triangle_fekete_rule, a library which sets up one of seven Fekete rules
for interpolation or quadrature over the interior of a triangle in 2D.
956. triangle_felippa_rule, a library which returns Felippa's quadratures
rules for approximating integrals over the interior of a triangle in 2D.
957. triangle_grid, a library which computes a grid of points over the interior
of a triangle in 2D.
958. triangle_histogram, a program which computes histograms of data over
the interior of a unit triangle in 2D.
959. triangle_integrals, a library which returns the exact value of the integral
of any polynomial over the interior of an arbitrary triangle in 2D.
960. triangle_interpolate, a library which shows how vertex data can be
interpolated at any point in the interior of a triangle.
961. triangle_io, a library which can read or write some of the files created
by Jonathan Shewchuk's triangle program.
962. triangle_lyness_rule, a library which returns Lyness-Jespersen
quadrature rules over the interior of a triangle in 2D;
963. triangle_monte_carlo, a library which uses the Monte Carlo method to
estimate an integral over the interior of a triangle in 2D.
964. triangle_ncc_rule, a library which defines Newton-Cotes closed (NCC)
quadrature rules over the interior of a triangle in 2D.
965. triangle_nco_rule, a library which defines Newton-Cotes open (NCO)
quadrature rules over the interior of a triangle in 2D.
966. triangle_properties, a program which computes properties, including
angles, area, centroid, circumcircle, edge lengths, incircle, orientation,
orthocenter, and quality, of a triangle in 2D.
967. triangle_svg, a library which uses Scalable Vector Graphics (SVG) to plot
a triangle and any number of points, to illustrate quadrature rules and
sampling techniques.
968. triangle_symq_rule, a library which returns efficient symmetric
quadrature rules, with exactness up to total degree 50, over the interior of a
triangle in 2D, by Hong Xiao and Zydrunas Gimbutas.
969. triangle_to_fem, a program which reads the NODE and ELE files created
by the triangle program to describe a triangular mesh, and writes a
corresponding pair of node and element files in the 2D FEM format.
970. triangle_to_medit, a program which reads the NODE and ELE files
created by the triangle() program to describe a triangular mesh, and writes a
corresponding MESH file for input to medit().
971. triangle_to_xml, a program which reads the NODE and ELE files created
by triangle() to describe a triangular mesh in 2D, and writes out a
corresponding XML mesh file for use by DOLFIN or FENICS.
972. triangle_wandzura_rule, a library which returns quadrature rules of
exactness 5, 10, 15, 20, 25 and 30 over the interior of the triangle in 2D.
973. triangle01_integrals, a library which returns the integral of any
monomial over the interior of the unit triangle in 2D.
974. triangulate, a program which triangulates a polygonal region, based on
a C program by Joseph ORourke;
975. triangulate_rectangle, a program which sets up a grid of triangles in a
rectangular region.
976. triangulation, a library which computes the triangulation of a set of
points in the plane, and performs various operations using a triangulation,
including searching a Delaunay triangulation to find which triangle contains a
given point.
977. triangulation_boundary_edges, a program which reads data defining a
triangulation, determines which edges lie on the boundary, organizes them
into connected components, and writes this information to a file.
978. triangulation_boundary_nodes, a program which reads data defining a
triangulation, determines which nodes lie on the boundary, and writes their
coordinates to a file;
979. triangulation_corner, a program which modifies triangulations in which
one or more triangles have more than one boundary edge.
980. triangulation_delaunay_discrepancy, a program which measures the
amount by which a triangulation fails the local Delaunay test;
981. triangulation_display, a program which displays the nodes and
elements of a triangulation on the MATLAB graphics screen;
982. triangulation_histogram, a program which computes histograms of data
over a triangulation.
983. triangulation_l2q, a program which reads information about a 3-node
(linear) triangulation and creates data defining a corresponding 6-node
(quadratic) triangulation;
984. triangulation_mask, a program which reads a triangulation and calls a
user-supplied routine to consider each triangle for deletion;
985. triangulation_node_to_element, a program which reads files describing
a set of nodes, their triangulation, and the value of one or more quantities at
each node, and outputs a file that averages the quantities for each element.
This operation in effect creates an order1 finite element model of the data.
986. triangulation_order1_display, a program which plots piecewise
constant data associated with a triangulation;
987. triangulation_order3_contour, a program which plots color contours of
a scalar quantity evaluated at the nodes of a 3-node triangle triangulation.
988. triangulation_order6_contour, a program which plots color contours of
a scalar quantity evaluated at the nodes of a 6-node triangle triangulation.
989. triangulation_orient, a program which ensures that the triangles in an
order 3 or order 6 triangulation have positive orientation;
990. triangulation_plot, a program which plots the nodes and elements of a
triangulation as a PostScript file;
991. triangulation_q2l, a program which reads information about a 6-node
triangulation and creates data defining a corresponding 3-node triangulation;
992. triangulation_quad, a program which reads information about a
triangulation and the value of a function at the nodes and estimates the
integral of the function over the triangulated region.
993. triangulation_quality, a program which reads information about a
triangulation and computes various quality measures;
994. triangulation_rcm, a program which computes the Reverse Cuthill
McKee (RCM) reordering for the nodes of a triangulation that uses 3-node or
6-node triangles;
995. triangulation_refine, a program which refines a triangulation;
996. triangulation_refine_local, a program which refines a triangulation
locally; a single triangular element is replaced by four smaller triangles, and
neighboring information is updated.
997. triangulation_svg, a program which creates an SVG image of a
triangulation, which can be displayed by a web browser.
998. triangulation_t3_to_t4, a program which reads information about a 3-
node T3 triangulation and creates data defining a corresponding 4-node T4
triangulation;
999. triangulation_triangle_neighbors, a program which reads data defining
a triangulation, finds the three neighbor triangles for each triangle, and writes
them to a file;
1000. truel_simulation, a program which simulates N repetitions of a duel
between three players, each of whom has a known firing accuracy.
1001. truncated_normal, a library which works with the truncated normal
distribution over [A,B], or [A,+oo) or (-oo,B], returning the probability density
function (PDF), the cumulative density function (CDF), the inverse CDF, the
mean, the variance, and sample values.
1002. truncated_normal_rule, a program which computes a quadrature rule
for a normal probability density function (PDF), sometimes called a Gaussian
distribution, that has been truncated to [A,+oo), (-oo,B] or [A,B].
1003. truncated_normal_sparse_grid, a program which computes a sparse
grid based on a normal probability density function (PDF), also called a
Gaussian distribution, that has been truncated to [A,+oo), (-oo,B] or [A,B].
1004. tsearch, a library which compares several replacements for MATLAB's
obsolete tsearch() function, which searched a Delaunay triangulation to find
the triangle that encloses a given point.
1005. tsg, programs which demonstrate the use of the TasmanianSparseGrid
(TSG) package, which implements routines for working with sparse grids, to
efficiently estimate integrals or compute interpolants of scalar functions of
multidimensional arguments, by Miroslav Stoyanov.
1006. tsp_brute, a program which reads a file of city-to-city distances and
solves a (small!) traveling salesperson problem (TSP), using brute force.
1007. tumor, a program which demonstrates a model of tumor growth;
1008. two_body_simulation, a program which simulates the behavior of two
bodies, constrained to lie in a plane, moving under the influence of gravity,
with one body much more massive than the other.
1009. twod, a library which contains functions useful for calculations in a 2D
geometry with the finite element method (FEM), by Jeff Borggaard.
1010. twod_plotc, a program which makes a color contour plot of scalar data
defined on a 2D finite element method (FEM) mesh.
1011. twod_to_vtk, a program which accepts computational data from a 2D
finite element method (FEM) program for Navier Stokes equation (NSE) fluid
flow and writes it to a vtk legacy file for postprocessing by paraview.
1012. twod_to_vtu, (archived), a program which accepts computational data
from a 3D finite element method (FEM) program for Navier Stokes equation
(NSE) fluid flow and writes it to a vtk unstructured grid file for postprocessing
by paraview.
1013. ubvec, a library which demonstrates how nonnegative integers can be
stored as unsigned binary vectors, and arithmetic can be performed on them.
1014. unicycle, a library which considers permutations containing a single
cycle, sometimes called cyclic permutations.
1015. uniform, a library which implements a uniform random number
generator (RNG) for a variety of arithmetic types.
1016. uniform_dataset, a program which creates N elements of an M
dimensional sequence generated by a uniform random number generator
(RNG) and writes them to a file.
1017. upc, is a library which can compute the check digit associated with a
uniform product code (UPC), or it can report whether a 12-digit UPC is actually
valid.
1018. usa_cvt_geo, programs which explore the creation of a centroidal
Voronoi Tessellation (CVT) of the continental United States, based solely on
geometric considerations.
1019. van_der_corput, a library which computes elements of the van der
Corput 1-dimensional Quasi Mont Carlo (QMC) sequence, using a simple
interface.
1020. van_der_corput_advanced, a library which computes elements of the
van der Corput 1-dimensional Quasi Mont Carlo (QMC) sequence, allowing
more sophisticated input and control.
1021. van_der_corput_dataset, a program which creates N elements of a van
der Corput sequence and writes them to a file.
1022. vandermonde, a library which implements the Bjork-Pereyra algorithm
for accurate solution of linear systems involving the Vandermonde matrix.
1023. vandermonde_approx_1d, a library which finds a polynomial
approximant to data y(x) of a 1D argument by setting up and solving an
overdetermined linear system for the polynomial coefficients involving the
Vandermonde matrix.
1024. vandermonde_approx_2d, a library which finds a polynomial
approximant p(x,y) to data z(x,y) of a 2D argument by setting up and solving an
overdetermined linear system for the polynomial coefficients involving the
Vandermonde matrix.
1025. vandermonde_interp_1d, a library which finds a polynomial interpolant
to data y(x) of a 1D argument by solving a linear system for the polynomial
coefficients involving the Vandermonde matrix.
1026. vandermonde_interp_2d, a library which finds a polynomial interpolant
to data z(x,y) of a 2D argument by solving a linear system for the polynomial
coefficients involving the Vandermonde matrix.
1027. voronoi_city, a program which displays the steps involved in computing
the Voronoi diagram of 3 points, which we think of as cities connected by
roads.
1028. voronoi_display, a program which computes the exact Voronoi diagram
using geompack, and displays it.
1029. voronoi_mountains, a program which makes a mountain plot of a
Voronoi diagram, that is, a surface plot of the distance from each point to its
nearest Voronoi generator.
1030. voronoi_neighbors, a program which is given a set of points in the plane
and determines the Voronoi adjacency structure, that is, which points share
an edge of the Voronoi diagram.
1031. voronoi_plot, a program which estimates the Voronoi neighborhoods of
points using sampling, and with a distance based on the L1, L2, LInfinity or
arbitrary LP norms;
1032. vpa, programs which use the Variable Precision Arithmetic (VPA)
feature of the Symbolic Math Toolbox to compute arbitrary precision
quantities.
1033. walker_sample, a library which efficiently samples a discrete probability
vector using Walker sampling.
1034. walsh, a library which implements versions of the Walsh and Haar
transforms.
1035. wathen, a library which compares storage schemes (full, banded, sparse
triplet, sparse) and solution strategies (A\x, Linpack, conjugate gradient) for
linear systems involving the Wathen matrix, which can arise when solving a
problem using the finite element method (FEM).
1036. wavelet, a library which does some simple wavelet calculations;
1037. wedge_exactness, a program which investigates the polynomial
exactness of a quadrature rule over the interior of the unit wedge in 3D.
1038. wedge_felippa_rule, a library which returns quadrature rules for
approximating integrals over the interior of the unit wedge in 3D.
1039. wedge_grid, a library which computes a grid of points over the interior
of the unit wedge in 3D.
1040. wedge_integrals, a library which returns the exact value of the integral
of any monomial over the interior of the unit wedge in 3D.
1041. wedge_monte_carlo, a library which uses the Monte Carlo method to
estimate an integral over the interior of the unit wedge in 3D.
1042. weekday, a library which determines the day of the week corresponding
to a given date, such as 14 October 1066, Julian calendar, ... which was a
Saturday.
1043. wishart, a library which produces sample matrices from the Wishart or
Bartlett distributions, useful for sampling random covariance matrices.
1044. wtime, a library which returns a reading of the wall clock time in
seconds.
1045. xy_display, a program which reads an XY file containing the coordinates
of points in 2D, and displays an image in the MATLAB graphics window;
1046. xy_io, a library which reads and writes XY files.
1047. xyf_display, a program which reads XYF information defining points and
faces in 2D, and displays an image in the MATLAB graphics window.
1048. xyl_display, a program which reads XYL information defining points and
lines in 2D, and displays an image in the MATLAB graphics window.
1049. xyz_display, a program which reads XYZ information defining points in
3D, and displays an image in the MATLAB 3D graphics window.
1050. xyz_io, a library which reads and writes XYZ files.
1051. xyzf_display, a program which reads XYZF information defining points
and faces in 3D, and displays an image in the MATLAB 3D graphics window.
1052. xyzl_display, a program which reads XYZL information defining points
and lines in 3D, and displays an image in the MATLAB 3D graphics window.
1053. zero_rc, a library which seeks a solution of a scalar nonlinear equation
f(x)=0, using reverse communication (RC), by Richard Brent.
1054. ziggurat, a library which implements uniform, normal and exponential
random number generators (RNG's) using the ziggurat method, by Marsaglia
and Tsang.
1055. zombies, a library which uses a generalized Susceptible-Infected-
Recovered (SIR) disease model to simulate a zombie attack, developed by
Philip Munz.

You can go up one level to the main web page.

Last revised on 06 December 2016.

You might also like