## Approaches to implementing Monte Carlo methods in MATLAB

Monte Carlo methods have long been used in computational finance to solve problems where analytical solutions are not feasible or are difficult to formulate. However, these methods are computationally intensive making it challenging to implement and adopt. In the last decade, advances in hardware, increasing processor speeds and decreasing costs have made it easier to adopt Monte Carlo methods to solve numerically intensive problems. With growing access to data and demand for quicker results, researchers are constantly looking for better ways to implement algorithms using Monte Carlo methods.

In the Wilmott Magazine September 2011 article(http://www.wilmott.com/magazine.cfm), we will share some of our observations and demonstrate various ways MATLAB could be used to implement Monte Carlo methods. We take a case study of pricing Asian options and show various approaches to implementing them in MATLAB.

A draft version of the article is included in this submission.

## Mining Economics with MATLAB

View the “Mining Economics with MATLAB” webinar at:

http://www.mathworks.com.au/company/events/webinars/wbnr73971.html

Committing to the development of a new mine involves huge amounts of capital expenditure and long time frames. In order to make optimal decisions, it is crucial to understand the future economic potential of a mine, and associated risks. Traditional spread sheet solutions, that use “average values” or “simplistic distributions”, often mean inaccurate models of the risk/return profile.

In this example we will showcase how MATLAB® can be used to develop and formalise a process for more detailed modelling of the future economic cash flow of a mine, based on historical data and producing distributions of a range of possible economic outcomes.

This example will highlight how MATLAB can be used to perform:

Net Present Value distribution analysis of a mine

Modelling and simulation of future prices and interest rate paths

Risk Assessments based on distribution of economic outcomes.

TO RUN:

Excel Version: demo_mining.xlsm (View README for steps to setup)

MATLAB Version: NPV_Analysis.m

## box_plot.m

An alternative implementation of Matlab’s boxplot function, with a slightly different interface. The function allows boxes to be arbitrarily spaced allowing, for example, subgroups to be plotted via “hold” (function includes example). No toolboxes required.

## Commodities Trading with MATLAB

This submission contains files from the “Commodities Trading with MATLAB” webinar, broadcast on July 25, 2013. The webinar can be viewed at: https://www.mathworks.com/wbnr78374.

Specific topics include: * Importing data from sources including CSV files, databases and datafeeds * Trading strategy development in MATLAB

* Performing back-testing and walk-forward analysis * Interacting with real-time trading platforms

It is recommended that you watch the webinar to see how the trading strategy is built.

## dynamic time warping Matlab

## MATLAB Source Codes

# MATLAB Source Codes

- args, a program which shows how to count and report command line arguments;
- arpack, a library which computes eigenvalues and eigenvectors of large sparse matrices, accessible via the built-in EIGS() command;
- asa005, a library which evaluates the lower tail of the noncentral Student’s T distribution; this is Applied Statistics Algorithm 5;
- asa006, a library which computes the Cholesky factor of a positive definite symmetric matrix; this is Applied Statistics Algorithm 6;
- asa007, a library which computes the inverse of a positive definite symmetric matrix; this is Applied Statistics Algorithm 7;
- asa032, a library which evaluates the incomplete Gamma function; this is Applied Statistics Algorithm 32;
- asa047, a library which minimizes a scalar function of several variables using the Nelder-Mead algorithm; this is Applied Statistics Algorithm 47;
- asa058, a library which carries out clustering of data; this is Applied Statistics Algorithm 58;
- asa063, a library which evaluates the incomplete Beta function; this is Applied Statistics Algorithm 63;
- asa066, a library which computes the cumulative density function of the standard normal distribution; this is Applied Statistics Algorithm 66;
- asa076, a library which evaluates Owen’s T function; this is Applied Statistics Algorithm 76;
- asa091, a library which computes the percentage points of the Chi-square distribution; this is Applied Statistics Algorithm 91;
- asa103, a library which evaluates the digamma or psi function; this is Applied Statistics Algorithm 103;
- asa109a library which inverts the incomplete Beta function; this is Applied Statistics Algorithm 109;
- asa111a library which evaluates the percentage points of the normal distribution; this is Applied Statistics Algorithm 111;
- asa113a library which clusters data using the Banfield and Bassill transfer and swap algorithm; this is Applied Statistics Algorithm 113;
- asa121, a library which evaluates the trigamma function; this is Applied Statistics Algorithm 121;
- asa136, a library which clusters data using the Hartigan and Wong algorithm; this is Applied Statistics Algorithm 136;
- asa144, a library which randomly generates tables with given row and column sums; this is Applied Statistics Algorithm 144;
- asa147, a library which evaluates the incomplete Gamma function; this is Applied Statistics Algorithm 147;
- asa152, a library which evaluates point and cumulative probabilities associated with the hypergeometric distribution; this is Applied Statistics Algorithm 152;
- asa159, a library which computes a random table with given row and column sums; this is Applied Statistics Algorithm 159;
- asa172, a library which simulates the generation of a set of multi-indices by nested DO-Loops; this is Applied Statistics Algorithm 172;
- asa183, a library which implements the Wichman-Hill pseudorandom number generator; this is Applied Statistics Algorithm 183;
- asa226, a library which evaluates the noncentral incomplete Beta function; this is Applied Statistics Algorithm 226;
- asa239, a library which evaluates the incomplete Gamma function; this is Applied Statistics Algorithm 239;
- asa241, a library which computes the inverse of the normal CDF; this is Applied Statistics Algorithm 241;
- asa243, a library which evaluates the lower tail of the noncentral Student’s T distribution; this is Applied Statistics Algorithm 243;
- asa245, a library which evaluates the logarithm of the Gamma function; this is Applied Statistics Algorithm 245;
- asa266, a library which evaluates various properties of the Dirichlet probability density function; this is Applied Statistics Algorithm 266;
- asa299, a library which computes the lattice points (integer coordinates) in an M-dimensional simplex; this is Applied Statistics Algorithm 299;
- asa310, a library which evaluates the noncentral incomplete Beta function; this is Applied Statistics Algorithm 310;
- ball_and_stick_display, a program which demonstrates the creation of a 3D “ball and stick” image;
- ball_grid, a library which computes grid points inside a 3D ball.
- ball_volume_monte_carlo, a program which applies a Monte Carlo procedure to estimate the volume of the M-dimensional unit ball;
- bernstein, a library which evaluates the Bernstein polynomials;
- beta_nc, a library which evaluates the CDF of the noncentral Beta distribution;
- bezier_surface, a library which reads, writes, prints and manipulates the data that defines a Bezier surface;
- bezier_surface_display, a program which displays a Bezier surface;
- 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.
- black_scholes, a library which implements some simple approaches to the Black-Scholes option valuation theory, by Desmond Higham.
- blas1_c, a library which implements the Level 1 Basic Linear Algebra Subprograms, using single precision complex arithmetic;
- blas1_d, a library which implements the Level 1 Basic Linear Algebra Subprograms, using double precision real arithmetic;
- blas1_s, a library which implements the Level 1 Basic Linear Algebra Subprograms, using single precision real arithmetic;
- blas1_z, a library which implements the Level 1 Basic Linear Algebra Subprograms, using double precision complex arithmetic;
- blend, a library which carries out 1D/2D/3D blending interpolation;
- 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;
- box_display, a program which displays a box plot, over integer pairs of data, of a function defined by two formulas.
- box_plot, a program which displays a box plot of data that consists of pairs of integers;
- brain_sensor_pod, a program which applies the method of Proper Orthogonal Decomposition to seek underlying patterns in sets of 40 sensor readings of brain activity.
- 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, by Richard Brent.
- brownian_motion_simulation, a program which simulates Brownian motion in an M-dimensional region.
- buckling_spring, a program which plots solutions of the buckling spring equations.
- burgers_solution, a library which evaluates an exact solution of the time-dependent 1D viscous Burgers equation.
- burgers_steady_viscous, a library which solves the steady (time-independent) viscous Burgers equation using a finite difference discretization of the conservative form of the equation, and then applying Newton’s method to solve the resulting nonlinear system.
- c8lib, a library which implements certain elementary functions for double precision complex variables;
- calendar_nyt, a library which shows the correspondence between dates and the New York Times volume and issue number;
- cavity_flow_display, a library which displays a single velocity field solution for the driven cavity;
- cavity_flow_movie, a library which animates the velocity solutions for the driven cavity;
- cc_display, a program which displays the points used in a 2D Clenshaw-Curtis quadrature rule;
- ccn_rule, a program which defines a nested Clenshaw Curtis quadrature rule.
- ccvt_box, a program which calculates a constrained Centroidal Voronoi Tessellation (CVT) for points constrained to lie in a box, with some points moved to the boundary;
- ccvt_reflect, a program which calculates a constrained Centroidal Voronoi Tessellation (CVT) for points constrained to lie in a box, with some points pushed towards the boundary;
- cell_detection_tasks, a program which creates modified versions of a sequence of gray-scale TIF files containing images of cells; the process of each file is carried out independently, using the task feature of MATLAB’s parallel computing toolbox.
- cg_distributed, a program which implements a version of the NAS CG conjugate gradient benchmark, using distributed memory.
- cg_lab_triangles, a collection of programs associated with a computer lab assignment on computational geometry and triangles;
- chebyshev, a library which computes the Chebyshev interpolant/approximant to a given function over an interval.
- chebyshev_polynomial, a library which evaluates the Chebyshev polynomial and associated functions.
- chebyshev1_rule, a program which computes and writes out a Gauss-Chebyshev type 1 quadrature rule of given order.
- chebyshev2_rule, a program which computes and writes out a Gauss-Chebyshev type 2 quadrature rule of given order.
- chrpak, a library which manipulates characters and strings;
- circle_arc_grid, a program which computes grid points along a circular arc.
- circle_grid, a library which computes grid points inside a circle.
- cities, a library which works with city-to-city distance matrices;
- clenshaw_curtis_rule, a program which implements a Clenshaw Curtis quadrature rule;
- cnoise, a library which generates samples of noise obeying a 1/f^alpha power law, by Miroslav Stoyanov.
- collatz, a library which computes and analyzes the Collatz sequence (or “hailstone” sequence or “3n+1 sequence”);
- collatz_parfor, a program which seeks the maximum Collatz sequence between 1 and N; it runs in parallel using MATLAB’s parfor facility.
- collatz_recursive, a library which demonstrates recursive programming by considering the simple Collatz 3n+1 problem.
- 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.
- colored_noise, a library which generates samples of noise obeying a 1/f^alpha power law.
- combo, a library which handles combinatorial problems;
- 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.
- complex_numbers, a program which demonstrates some simple features involved in the use of complex numbers in C programming.
- condition, a library which implements methods of computing or estimating the condition number of a matrix.
- contour_gradient, a program which displays contours and gradient vectors for a function f(x,y).
- contour_sequence4, a program which creates images suitable for animation from one XY file and a sequence of U(X,Y) data files;
- contrast_spmd, a program which demonstrates the spmd parallel programming feature for image operations; the client reads an image, the workers heighten contrast over portions of it, and the client assembles and displays the results.
- contrast2_spmd, a program which demonstrates the spmd parallel programming feature 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.
- convex_hull, a program which demonstrates the computation of the convex hull of a set of 2D points.
- cordic, a library which computes a few special functions using the CORDIC algorithm.
- correlation, a library which contains examples of statistical correlation functions.
- correlation_chebfun, a library which uses the chebfun library to compute truncated Karhunen-Loeve expansions of stochastic processes with a given correlation function.
- cvt, a library which computes an N-point Centroidal Voronoi Tessellation in M dimensions;
- cvt_1d_lloyd, a program which computes an N-point Centroidal Voronoi Tessellation (CVT) within the interval [0,1], under a uniform density, using exact techniques to determine the Voronoi regions.
- 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;
- 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.
- 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.
- 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.
- cvt_dataset, a program which creates a Centroidal Voronoi Tessellation (CVT) dataset;
- cvt_demo, a program which interactively, graphically demonstrates a Centroidal Voronoi Tessellation (CVT) calculation;
- cvt_metric, a program which computes a Centroidal Voronoi Tessellation (CVT) under a spatially varying metric;
- cvt_movie, a program which creates an animation of the evolution of a Centroidal Voronoi Tessellation (CVT);
- cvt_movie2, a program which creates a Centroidal Voronoi Tessellation (CVT) movie;
- cvt_movie3, a program which creates a Centroidal Voronoi Tessellation (CVT) movie in a region of unusual shape;
- 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;
- cvt_movie5, a program which repeats cvt_movie3, but with hexagonal grid initialization, fixed points, and boundary projection;
- cyclic_reduction, a library which solves a tridiagonal linear system using cyclic reduction;
- dfield8, a program which interactively displays the direction field of a differential equation, by John Polking.
- diaphony, a program which reads a file of N points in M dimensions and computes its diaphony, a measure of point dispersion.
- dice_simulation, a program which simulates N tosses of M dice, making a histogram of the results.
- dijkstra, a program which runs a simple example of Dijkstra’s minimum distance algorithm for graphs.
- dijkstra_spmd, a program which uses the spmd feature to parallelize a simple example of Dijkstra’s minimum distance algorithm for graphs.
- direction_arrows, a program which reads coordinate data from one file, velocity data from another file, and makes an arrow plot of the direction field.
- direction_arrows_grid, a program which reads velocity data at “scattered” points, and makes a direction vector plot on a uniform grid of user-specified density.
- direction_arrows_sequence, a program which reads a fixed coordinate file, and a sequence of velocity data files and makes a sequence of velocity direction arrow plots.
- discrete_pdf_sample, a program which demonstrates how to construct a Probability Density Function (PDF) from a table of sample data, and then to use that PDF to create new samples.
- dist_plot, a program which makes contour plots of the distance function, as defined and used in Persson and Strang’s distmesh() code;
- distance_to_position, a program which estimates the positions of cities based on a city-to-city distance table.
- 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.
- distmesh, a library which carries out a method of mesh generation; by Per-Olof Persson and Gilbert Strang.
- distmesh_3d, a library which carries out a method of mesh generation in 3D, by Per-Olof Persson and Gilbert Strang.
- divdif, a library which constructs, evaluates and manipulates divided difference tables;
- double_c_data, programs which generate, plot or write out 2D data that forms two interlocking “C” shapes.
- duel_simulation, a program which simulates N repetitions of a duel between two players, each of whom has a known firing accuracy.
- dunavant, a library which defines Dunavant quadrature rules in a triangle;
- ellipse_grid, a library which computes grid points inside an ellipse.
- ellipsoid_grid, a library which computes grid points inside a 3D ellipsoid.
- entrust, a library which uses trust-region methods to solve problems in scalar optimization or nonlinear least squares, by Jeff Borggaard and Gene Cliff.
- 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.
- fair_dice_simulation, a MATLAB program which simulates N tosses of 2 dice, making a histogram of the results.
- faure, a library which computes the Faure M-dimensional quasirandom sequence;
- faure_dataset, a program which creates a multivariate Faure quasirandom dataset;
- fd_predator_prey, a program which solves a time-dependent predator prey system using a finite difference approximation.
- fd_to_tec, a program which converts FD (finite difference) models into TECPLOT ASCII files.
- fd1d_burgers_lax, a program which applies the finite difference method and the Lax Wendroff method to solve the non-viscous time-dependent Burgers equation in one spatial dimension.
- fd1d_burgers_leap, a program which applies the finite difference method and the leapfrog approach to solve the non-viscous time-dependent Burgers equation in one spatial dimension.
- fd1d_bvp, a program which applies the finite difference method to a two point boundary value problem in one spatial dimension.
- fd1d_display, a program which reads a pair of files defining a 1D finite difference model, and plots the data.
- fd1d_heat_explicit, a library which implements a finite difference solution, explicit in time, of the time dependent 1D heat equation;
- fd1d_heat_implicit, a program which implements a finite difference solution, implicit in time, of the time dependent 1D heat equation;
- fd1d_heat_steady, a program which implements a finite difference solution for the steady (time independent) 1D heat equation;
- fd1d_predator_prey, a program which implements a finite difference algorithm for a time and 1D space dependent predator-prey system, by Marcus Garvey.
- fd1d_predator_prey_plot, a program which plots solutions from the FD1D_PREDATOR_PREY program, by Marcus Garvey.
- fd1d_wave, a program which applies the finite difference method to solve the time-dependent wave equation utt = c * uxx in one spatial dimension.
- fd2d_heat_explicit_spmd, a MATLAB program which uses the finite difference method 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.
- fd2d_predator_prey, a program which implements a finite difference algorithm for a time and 2D space dependent predator-prey system, by Marcus Garvey.
- fekete, a library which sets up one of seven Fekete rules for interpolation or quadrature in a triangle;
- felippa, a library which defines quadrature rules for lines, triangles, quadrilaterals, pyramids, wedges, tetrahedrons and hexahedrons.
- fem_50, a program which implements a Finite Element Method solver using about 50 lines of MATLAB code, by Jochen Alberty, Carsten Carstensen, Stefan Funken.
- fem_50_heat, a program which is a version of fem_50 for the time-dependent heat equation, by Jochen Alberty, Carsten Carstensen, Stefan Funken.
- fem_basis, a library which can define and evaluate basis functions for any degree in an M-dimensional simplex (1D interval, 2D triangle, 3D tetrahedron, and higher dimensional generalizations.)
- fem_basis_q4_display, a program which displays any single basis function associated with an arbitrary linear quadrilateral Q4 mesh;
- fem_basis_t3_display, a program which displays any single basis function associated with an arbitrary 3-node triangle T3 mesh;
- fem_basis_t4_display, a program which displays any single basis function associated with an arbitrary 4-node triangle T4 mesh;
- fem_basis_t6_display, a program which displays any single basis function associated with an arbitrary 6-node triangle T6 mesh;
- fem_io, a library which reads or writes FEM files, three text files describing a finite element model;
- fem_meshing, a library which looks at some simple issues in defining a geometric mesh for the finite element method in 2D.
- 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_to_mesh, a program which reads a pair of FEM files defining node coordinates and elements, and creates a corresponding MESH file.
- 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.
- fem1d, a program which applies the finite element method, using piecewise linear basis functions, to a linear two point boundary value problem in 1D;
- fem1d_adaptive, a program which uses an adaptive mesh when applying the finite element method, with piecewise linear basis functions, to a linear two point boundary value problem in 1D;
- fem1d_bvp_linear, a program which applies the finite element method, with piecewise linear elements, to a two point boundary value problem in one spatial dimension, and compares the computed and exact solutions with the L2 and seminorm errors.
- fem1d_display, a program which reads three files defining a 1D arbitrary degree finite element function, and displays a plot.
- fem1d_function_10_display, a program which reads three files defining a 1D piecewise linear finite element function and displays a plot.
- fem1d_heat_steady, a program which implements the finite element method for the steady (time independent) 1D heat equation;
- fem1d_nonlinear, a program which applies the finite element method, with piecewise linear basis functions, to a nonlinear two point boundary value problem in 1D;
- fem1d_pack, a library which contains utilities for 1D finite element calculations.
- fem1d_pmethod, a program which applies the p-method version of the finite element method to a linear two point boundary value problem in 1D;
- 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.
- 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.
- fem1d_spectral_numeric, a program which applies the spectral finite element method 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.
- fem1d_spectral_symbolic, a program which applies the spectral finite element method 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.
- fem2d_heat, a program which applies the finite element method to the time dependent heat equation on an arbitrary triangulated region in 2D;
- fem2d_heat_rectangle, a program which applies the finite element method for the time-dependent heat equation on a triangulated square in 2D;
- 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 for the steady 2d heat equation.
- fem2d_heat_sparse, a program which applies the finite element method to the heat equation on an arbitrary triangulated region in 2D, using MATLAB’s sparse matrix features;
- 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.
- 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.
- fem2d_navier_stokes, a program which applies the finite element method to the steady incompressible Navier Stokes equations on an arbitrary triangulated region in 2D;
- fem2d_navier_stokes_cavity, a library which contains the user-supplied routines necessary to run fem2d_navier_stokes on the “cavity” problem.
- fem2d_navier_stokes_channel, a library which contains the user-supplied routines necessary to run fem2d_navier_stokes on the “channel” problem.
- fem2d_navier_stokes_sparse, a program which applies the finite element method to the steady incompressible Navier Stokes equations on an arbitrary triangulated region in 2D, using MATLAB’s sparse matrix features;
- fem2d_navier_stokes_sparse_big_cavity, a library which contains the user-supplied routines necessary to run fem2d_navier_stokes on the “big cavity” problem.
- fem2d_navier_stokes_sparse_cavity, a library which contains the user-supplied routines necessary to run fem2d_navier_stokes on the “cavity” problem.
- fem2d_navier_stokes_sparse_channel, a library which contains the user-supplied routines necessary to run fem2d_navier_stokes on the “channel” problem.
- fem2d_navier_stokes_sparse_inout, a library which contains the user-supplied routines necessary to run fem2d_navier_stokes on the “inout” problem.
- fem2d_pack, a library which performs simple 2D finite element computations;
- fem2d_poisson, a program which applies the finite element method to Poisson’s equation on an arbitrary triangulated region in 2D;
- fem2d_poisson_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 as part of a solution procedure.
- fem2d_poisson_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 as part of a solution procedure.
- fem2d_poisson_rectangle, a program which solves the 2D Poissone equation on a rectangle, using the finite element method, and piecewise quadratic triangular elements.
- fem2d_poisson_rectangle_linear, a program which solves the 2D Poisson equation on a rectangle, using the finite element method, and piecewise linear triangular elements.
- 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 and an iterative solver.)
- 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.
- 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.
- 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.
- 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.
- 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.
- fem2d_stokes, a program which applies the finite element method for the steady incompressible Stokes equations on an arbitrary triangulated region in 2D;
- fem2d_stokes_cavity, a library which contains the user-supplied routines necessary to run fem2d_stokes on the cavity problem.
- fem2d_stokes_channel, a library which contains the user-supplied routines necessary to run fem2d_stokes on the channel problem.
- fem2d_stokes_inout, a library which contains the user-supplied routines necessary to run fem2d_stokes on the inout problem.
- fem2d_stokes_sparse, a program which is a finite element code for the steady incompressible Stokes equations on an arbitrary triangulated region in 2D, using MATLAB’s sparse matrix features;
- fem2d_stokes_sparse_big_cavity, a library which contains the user-supplied routines necessary to run fem2d_stokes_sparse on the big cavity problem.
- fem2d_stokes_sparse_cavity, a library which contains the user-supplied routines necessary to run fem2d_stokes_sparse on the cavity problem.
- fem2d_stokes_sparse_channel, a library which contains the user-supplied routines necessary to run fem2d_stokes_sparse on the channel problem.
- fem2d_stokes_sparse_inout, a library which contains the user-supplied routines necessary to run fem2d_stokes_sparse on the inout problem.
- fem2d_stokes_sparse_spiral, a library which contains the user-supplied routines necessary to run fem2d_stokes_sparse on the spiral problem.
- fem2d_stokes_spiral, a library which contains the user-supplied routines necessary to run fem2d_stokes on the spiral problem.
- fem3d_pack, a library which contains utilities for 3D finite element calculations.
- fem3d_project, a program which projects a function f(x,y,z), given as a data, into a given finite element space of piecewise linear tetrahedral elements.
- fem3d_sample, a program library which evaluates a finite element function defined on a 3D tetrahedral mesh.
- fern, a program which uses MATLAB graphics to display the Barnsley fractal fern.
- 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.
- 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.
- fft_serial, a program which computes a Fast Fourier Transform (FFT), and is intended as a starting point for implementing a parallel version.
- fibonacci_spiral, a program which displays points on a Fibonacci spiral, suggesting the arrangement of seeds in a sunflower, for instance.
- file_increment, a program which makes a copy of a file containing an integer array, after incrementing each entry by a given value.
- file_name_sequence, a program which demonstrates four ways to generate a sequence of filenames.
- filum, a library which handles files and filenames;
- floyd, a library which implements Floyd’s algorithm for finding the shortest distance between pairs of nodes on a directed graph.
- fmincon, programs which illustrate the use of the fmincon function included in MATLAB’s Optimization Toolbox which seeks the minimizer of a scalar function of multiple variables, within a region specified by linear constraints and bounds.
- fmincon_parallel, a program which demonstrates the use of MATLAB’s FMINCON constrained minimization function, taking advantage of MATLAB’s Parallel Computing Toolbox for faster execution.
- fn, a library which evaluates elementary and special functions, by Wayne Fullerton.
- gamblers_ruin_simulation, a program which simulates the game of gambler’s ruin.
- gauss_seidel, a program which implements the Gauss-Seidel iteration for linear systems.
- 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.
- gegenbauer_rule, a program which computes and writes out a Gauss-Gegenbauer quadrature rule of given order.
- gen_hermite_rule, a program which computes and writes out a generalized Gauss-Hermite quadrature rule of given order and parameter value ALPHA.
- gen_laguerre_rule, a program which computes and writes out a generalized Gauss-Laguerre quadrature rule of given order and parameter value ALPHA.
- geometry, a library which performs 2D/3D geometric calculations;
- geompack, a library which computes the Delaunay triangulation for a set of points in 2D;
- gl_display, a program which displays the points used in a 2D Gauss-Legendre quadrature rule;
- gm_rule, a library which defines Grundmann-Moeller quadratures rules for a triangle, tetrahedron, or M-dimensional simplex.
- graph_representation, a library which can express the representation of an abstract mathematical graph in several ways.
- graphics_examples, programs which illustrate how various kinds of data can be displayed and analyzed graphically.
- grf_display, a program which reads a GRF file defining a mathematical graph and displays it in the MATLAB graphics window.
- grf_io, a library which reads or writes a GRF file;
- grid, a library which computes N random points on a uniform M-dimensional grid;
- grid_dataset, a program which creates a grid dataset;
- grid_display, a program which reads a file of points on a grid or sparse grid, displays the grid and save the image in a PNG file;
- gridlines, a library which gives the user more control over drawing gridlines on a graph than the built in “grid on” command.
- 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.
- haar, a library which computes the Haar transform of data.
- halton, a library which calculates the Halton M-dimensional quasirandom sequence;
- halton_dataset, a program which creates N elements of an M-dimensional Halton sequence and writes them to a file.
- hammersley, a library which computes the Hammersley M-dimensional quasirandom sequence;
- hammersley_dataset, a program which creates N elements of an M-dimensional Hammersley sequence and writes them to a file.
- hand_data, a set of programs which carry out some numerical exercises based on data that came from tracing several points on a person’s hand.
- hb_io, a library which reads and writes files in the Harwell Boeing (HB) sparse matrix format;
- hb_to_mm, a program which converts a sparse matrix stored in a Harwell Boeing (HB) file to Matrix Market (MM) format;
- hb_to_msm, a program which converts a sparse matrix stored in a Harwell Boeing (HB) file to MATLAB sparse matrix format;
- hb_to_st, a program which reads a sparse matrix in a Harwell Boeing (HB) file and writes an equivalent Sparse Triplet (ST) file.
- hcell_flow_display, a program which plots the physical data, pressures or velocities, from a run of the HCELL program;
- 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.
- 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.
- hello, a program which prints out “Hello, world!”.
- hello_parfor, a program which prints out “Hello, world!” multiple times, using MATLAB’s parfor command for parallel execution.
- hermite, a library which computes the Hermite interpolant, a polynomial that matches function values and derivatives.
- 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.
- hermite_polynomial, a library which evaluates the physicist’s Hermite polynomial, the probabilist’s Hermite polynomial, the Hermite function, and related functions.
- 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).
- hermite_rule, a program which computes and writes out a Gauss-Hermite quadrature rule of given order.
- hex_grid, a library which generates a hexagonal grid of points in the unit square or an arbitrary rectangle;
- hex_grid_angle, a library which defines a hexagonal grid of points in the unit square, with an arbitrary center, angle, and spacing.
- hex_grid_dataset, a program which creates a hexagonal grid of points in a rectangle, and write them to a file, using the hex_grid library.
- 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.
- 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;
- hot_pipe, a program which demonstrates fem_50_heat to solve a particular heat equation problem, by Jochen Alberty, Carsten Carstensen, Stefan Funken.
- hot_point, a program which demonstrates fem_50_heat to solve a particular heat equation problem, by Jochen Alberty, Carsten Carstensen, Stefan Funken.
- i4lib, a library which contains many utility routines, using single precision integer (I4) arithmetic.
- ice_io, a library which reads or writes ICE grid files stored in NETCDF format.
- ice_to_mesh, a program which reads a NETCDF file containing an ICE dataset and rewrites the information as a MESH file.
- ihs, a library which generates the Improved Hypercube Sampling (IHS) M-dimensional quasirandom sequence;
- ihs_dataset, a program which creates an Improved Hypercube Sampling (IHS) dataset and writes it to a file;
- image_components, a library which seeks the connected nonzero or nonblack components of an image or integer array.
- image_contrast, programs which applies image processing techniques to increase the contrast in an image.
- image_denoise, a library which applies simple filtering operations to a noisy image.
- 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.
- image_diffuse, a library which uses diffusion to smooth out an image.
- image_edge, a library which demonstrates a simple procedure for edge detection in images.
- image_noise, programs which add noise to an image.
- image_quantization, a MATLAB library which demonstrates how the KMEANS algorithm can be used to reduce the number of colors or shades of gray in an image.
- image_rgb_to_gray, programs which makes a grayscale version of an RGB image.
- 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.
- imshow_numeric, a program which accepts a numeric 2D array and displays it as a grayscale image.
- inout_flow_display, a library which displays a single velocity field solution for the INOUT flow;
- inout_flow_movie, a library which creates an animation of the velocity solutions for the INOUT cell;
- int_exactness, a program which tests the polynomial exactness of quadrature rules for a finite interval;
- int_exactness_chebyshev1, a program which tests the polynomial exactness of Gauss-Chebyshev type 1 quadrature rules.
- int_exactness_chebyshev2, a program which tests the polynomial exactness of Gauss-Chebyshev type 2 quadrature rules.
- int_exactness_gegenbauer, a program which tests the polynomial exactness of Gauss-Gegenbauer quadrature rules.
- int_exactness_gen_hermite, a program which tests the polynomial exactness of generalized Gauss-Hermite quadrature rules.
- int_exactness_gen_laguerre, a program which tests the polynomial exactness of generalized Gauss-Laguerre quadrature rules.
- int_exactness_hermite, a program which tests the polynomial exactness of Gauss-Hermite quadrature rules.
- int_exactness_jacobi, a program which tests the polynomial exactness of Gauss-Jacobi quadrature rules.
- int_exactness_laguerre, a program which tests the polynomial exactness of Gauss-Laguerre quadrature rules.
- int_exactness_legendre, a program which tests the polynomial exactness of Gauss-Legendre quadrature rules.
- 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.
- jacobi, a program which implements the Jacobi iteration for linear systems.
- 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.
- jacobi_polynomial, a library which evaluates the Jacobi polynomial and associated functions.
- jacobi_rule, a program which computes and writes out a Gauss-Jacobi quadrature rule of given order.
- keast, a library which defines Keast quadrature rules in a tetrahedron;
- kelley, a library which implements iterative methods for linear and nonlinear equations, by Tim Kelley;
- kmeans, a library which handles the K-Means problem, which organizes a set of N points in M dimensions into K clusters;
- knapsack, a program which solves the 0/1 knapsack problem by exhaustive search.
- knapsack_tasks, a program which solves a 0/1 knapsack problem by exhaustive search, subdividing the search range among separate tasks.
- kronrod, a library which can compute a Gauss and Gauss-Kronrod pair of quadrature rules of arbitrary order, by Robert Piessens, Maria Branders.
- laguerre_polynomial, a library which evaluates the Laguerre polynomial, the generalized Laguerre polynomials, and the Laguerre function.
- laguerre_rule, a program which computes and writes out a Gauss-Laguerre quadrature rule of given order.
- latin_center, a library which computes N points in an M-dimensional Latin Center square;
- latin_center_dataset, a program which creates a Latin Center Hypercube dataset;
- latin_edge, a library which returns N points in an M-dimensional Latin Edge square;
- latin_edge_dataset, a program which creates an N-point M-dimensional Latin Edge square dataset;
- latin_random, a library which returns N points in an M-dimensional Latin Random square;
- latin_random_dataset, a program which creates a Latin Random Hypercube dataset;
- latinize, a program which adjusts N points in M dimensions to form a Latin hypercube;
- lattice_rule, a library which returns lattice rules for M-dimensional integration;
- lcvt, a library which makes a sort of Latinized Centroidal Voronoi Tessellation (CVT);
- lcvt_dataset, a program which creates a Latinized Centroidal Voronoi Tessellation (CVT) dataset;
- legendre_polynomial, a library which evaluates the Legendre polynomial and associated functions.
- legendre_rule, a program which writes out a Gauss-Legendre quadrature rule of given order.
- legendre_rule_fast, a program which uses a fast (order N) algorithm to compute a Gauss-Legendre quadrature rule of given order.
- lemke, a library which implements Lemke’s algorithm for the linear complementarity problem, by Paul Fackler and Mario Miranda.
- levels, a library which makes a contour plot, choosing the contour levels using random sampling.
- 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.
- linpack_bench, a program which is the LINPACK benchmark;
- linpack_bench_backslash, a program which is the LINPACK benchmark, using MATLAB’s builtin backslash operator;
- linpack_c, a library which constitutes a linear algebra library for single precision complex arithmetic;
- linpack_d, a library which constitutes a linear algebra library for double precision real arithmetic;
- linpack_s, a library which constitutes a linear algebra library; for single precision real arithmetic;
- linpack_z, a library which constitutes a linear algebra library for double precision complex arithmetic;
- linplus, a library which factors/solves/multiplies matrices in a variety of formats;
- llsq, a library which solves the simple linear least squares 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.
- lorenz_simulation, a program which computes and displays solutions of the Lorenz equations for various initial conditions.
- lyness_rule, a library which returns Lyness-Jespersen quadrature rules for the triangle.
- lyrics_remote, a program which runs in parallel, using three workers which cooperate systolically, that is, as through 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.
- machar, a library which dynamically computes the value of various machine characteristic constants;
- machine, a library which returns tabulated values of the constants associated with computer arithmetic
- mandelbrot, a program which generates an image of the Mandelbrot set;
- math2070_1999, programs which were used for a numerical analysis laboratory class.
- math2071_2000, programs which were used for a numerical analysis laboratory class.
- matlab, programs which illustrate the use of MATLAB scripts and M-files;
- matlab_calls_c, programs which illustrate how C functions can be written, compiled, and called from MATLAB using the MEX facility;
- matlab_calls_f77, programs which illustrate how FORTRAN77 functions can be written, compiled, and called from MATLAB using MATLAB’s mex facility;
- matlab_commandline, programs which illustrate how MATLAB can be run from the UNIX command line, that is, not with the usual MATLAB command window.
- matlab_condor, programs which illustrate how MATLAB can be run in batch mode using the CONDOR queueing system.
- matlab_distcomp, a program which remotely runs a set of 5 jobs on Virginia Tech’s ithaca cluster. These jobs are equivalent to the BIRTHDAY_REMOTE, COLOR_REMOTE, KNAPSACK_TASKS, LYRICS_REMOTE and MD_PARALLEL jobs.
- matlab_movies, programs which illustrate making movies using MATLAB;
- 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);
- matlab_parallel, programs which illustrate local parallel programming on a single computer with MATLAB’s Parallel Computing Toolbox.
- 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 needed to properly configure the local machine.
- 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.
- matrix_exponential, a library which demonstrates some simple approaches to the problem of computing the exponential of a matrix.
- md, a program which carries out a molecular dynamics simulation, and is intended as a starting point for implementing a parallel version.
- md_parfor, a program which carries out a molecular dynamics simulation; it runs in parallel using MATLAB’s parfor facility.
- memory_test, a program which tests the memory available on the computer by declaring and using big vectors.
- 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.
- mesh_display, a program which reads a 2D mesh of elements of any uniform order and displays a plot of the elements and nodes, with optional numbering.
- mesh_io, a library which can read or write MESH files, which can be used to define the geometry of a finite element mesh in 2D or 3D, using triangles, quadrilaterals, tetrahedrons or hexahedrons.
- mesh_to_ice, a program which reads the ICE dataset information from a MESH files and rewrites it to a NETCDF file.
- mesh2d, a library which can automatically create a triangular mesh for a given polygonal region, by Darren Engwirda.
- 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.
- mgmres, a library which applies the restarted GMRES algorithm to a sparse linear system, by Lili Ju;
- 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.
- mm_io, a library which reads and writes a Matrix Market (MM) Sparse Matrix File;
- mm_to_hb, a program which reads a Matrix Market (MM) sparse matrix file and creates a corresponding Harwell Boeing (HB) sparse matrix file.
- mm_to_msm, a program which reads a Matrix Market (MM) sparse matrix file and creates a corresponding MATLAB sparse matrix data structure.
- mm_to_st, a program which reads a Matrix Market (MM) sparse matrix file and writes a corresponding Sparse Triplet (ST) file.
- 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.
- mpas_grid_display, programs which can read an MPAS NETCDF grid file and display the primary polygonal mesh or the dual triangular mesh.
- msm_to_hb, a program which writes a MATLAB sparse matrix to a Harwell Boeing (HB) file;
- msm_to_mm, a program which writes a MATLAB sparse matrix to a Matrix Market (MM) file;
- msm_to_st, a program which writes a MATLAB sparse matrix to a Sparse Triplet (ST) file;
- multigrid_poisson_1d, a library which applies the multigrid method to a discretized version of the 1D Poisson equation.
- 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.
- mxv, a program which compares the performance of (FOR I, FOR J) loops and (FOR J, FOR I) loops for computing the product of an MxN matrix A and an N vector X.
- nas, a program which runs the NASA kernel benchmark.
- ncc_tetrahedron, a library which defines Newton-Cotes closed quadrature rules in a tetrahedron;
- ncc_triangle, a library which defines Newton-Cotes closed quadrature rules in a triangle;
- nco_tetrahedron, a library which defines Newton-Cotes open quadrature rules in a tetrahedron;
- nco_triangle, a library which defines Newton-Cotes open quadrature rules in a triangle;
- 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.
- nelder_mead, a program which implements the Nelder-Mead algorithm for the minimization of a scalar function of several variables, by Jeff Borggaard.
- nested_sequence_display, a program which displays a set of nested sequences.
- netcdf, a directory of example programs which read and write NETCDF files.
- netcdf_gis_read, a library which reads GIS data for Greenland stored as a NETCDF file.
- netcdf_glimmer, programs which read and write GLIMMER grid and solution data stored as a NETCDF file.
- netcdf_mpas, a library which reads MPAS grid data stored as a NETCDF file.
- niederreiter2, a library which computes the Niederreiter M-dimensional quasirandom sequence, base 2;
- niederreiter2_dataset, a program which creates a Niederreiter quasirandom dataset with base 2;
- nint_exactness, a program which demonstrates how to test the polynomial exactness of an M-dimensional quadrature rule defined over a finite rectangular product region.
- 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.
- nintlib, a library which carries out approximate integration (quadrature) in M dimensions;
- normal, a library which generates uniform pseudorandom numbers;
- normal_dataset, a program which creates a multivariate normal random dataset;
- ns3d_fem, a program which sets up and solves a finite element formulation of the steady incompressible 3D Navier Stokes equations on a user-defined geometry, by Jeff Borggaard.
- obj_display, a program which displays an OBJ 3D graphics file;
- obj_io, a library which reads and writes the data in an OBJ 3D graphics file;
- obj_to_tri_surface, a program which reads an OBJ 3D graphics file and extracts the surface mesh data as a TRI_SURFACE dataset.
- ode_predator_prey, a program which solves a time-dependent predator-prey system using MATLAB’s ODE23 solver.
- 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 ODE’s.
- oned, a library which contains functions useful for 1D finite element calculations, by Jeff Borggaard.
- optimal_control_1d, a program which seeks the optimal control function for a one dimensional system which is represented using the finite element formulation;
- owens, a library which evaluates Owen’s T function;
- patterson_rule, a program which looks up and writes out a Gauss-Patterson quadrature rule of given order.
- pbma_io, a library which reads or writes an ASCII Portable Bit Map (PBM) image file;
- 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.
- pce_legendre, a program which assembles the system matrix of a 2D stochastic PDE, using a polynomial chaos expansion (PCE) in terms of Legendre polynomials;
- pce_ode_hermite, a program which sets up a simple scalar ODE for exponential decay with an uncertain decay rate, using a polynomial chaos expansion (PCE) in terms of Hermite polynomials.
- 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.
- 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.
- pgma_io, a library which reads or writes an ASCII Portable Gray Map (PGM) image file;
- 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).
- pink_noise, a library which computes a pink noise signal obeying a 1/f power law.
- plinth, a library which carries out tasks associated with the interpolation of data or a function by a hierarchical set of piecewise linear functions.
- 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.
- ply_io, a library which reads or writes a PLY file.
- ply_to_tri_surface, a program which reads a PLY file and extracts the surface mesh data as a TRI_SURFACE dataset.
- points_01_plot, a program which reads an ASCII file containing points in the unit square, and makes an Encapsulated PostScript (EPS) image;
- point_merge, a library which considers N points in M-dimensional space, and counts or indexes the unique or tolerably unique items.
- poisson_serial, a program which computes an approximate solution to the Poisson equation in a rectangle, and is intended as the starting point for the creation of a parallel version.
- poisson_simulation, a MATLAB library which simulates a Poisson process in which events randomly occur with an average waiting time of Lambda.
- polpak, a library which evaluates a variety of mathematical functions, including Chebyshev, Gegenbauer, Hermite, Jacobi, Laguerre, Legendre polynomials, and the Collatz sequence.
- polygonal_surface_display, a program which displays a surface in 3D described as a set of polygons;
- power_method, a library which carries out the power method for finding a dominant eigenvalue and its eigenvector.
- power_rule, a program which constructs a power rule, that is, a product quadrature rule from identical 1D factor rules.
- pplane8, a program which interactively displays the phase plane of a differential equation, by John Polking.
- ppma_io, a library which reads or writes an ASCII Portable Pixel Map (PPM) image file;
- prime_parfor, a program which counts the number of primes between 1 and N; it runs in parallel using MATLAB’s parfor facility.
- prime_serial, is a program which counts the number of primes between 1 and N, and is intended as a starting point for a parallel version.
- prime_spmd, a program which counts the number of primes between 1 and N; running in parallel using MATLAB’s spmd feature.
- prob, a library which evaluates and samples various probability density functions;
- product_rule, a program which creates an M-dimensional quadrature rule from a product of distinct 1d quadrature rules;
- profile, a directory of programs which illustrate the use of the MATLAB profile utlity, which monitors the execution of a series of MATLAB commands, and then produces a performance profile report afterwards.
- puzzles, executable programs which solve simple puzzles;
- pyramid_exactness, a program which investigates the polynomial exactness of a quadrature rule for the pyramid.
- pyramid_rule, a program which computes a quadrature rule for a pyramid.
- quad_mesh, a library which handles meshes of quadrilaterals over a 2D region;
- quad_mesh_rcm, a program which computes the Reverse Cuthill-McKee (RCM) reordering for nodes in a mesh of 4-node quadrilaterals.
- quad_parfor, a program which estimates an integral using quadrature; running in parallel using MATLAB’s parfor feature.
- quad_serial, a program which applies a quadrature rule to estimate an integral, intended as a starting point for parallelization exercises.
- quad_spmd, a program which estimates an integral using quadrature; running in parallel using MATLAB’s spmd feature.
- 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;
- quad_tasks, a program which estimates an integral using quadrature; running in parallel using MATLAB’s task feature.
- 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.
- 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.
- 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.
- quadrule, a library which defines quadrature rules for approximating an integral;
- quadrule_fast, a library which rapidly defines certain quadrature rules for approximating an integral;
- quality, a library which measures the dispersion of pointsets in M dimensions;
- r8lib, a library which contains many utility routines, using double precision real (R8) arithmetic.
- randlc, a library which generates a sequence of pseudorandom numbers, used by the NAS Benchmark programs.
- random_data, a library which generates sample points for various probability density functions, geometries, and dimensions;
- random_walk_1d_simulation, a program which simulates a random walk in a 1-dimensional region.
- random_walk_2d_avoid_simulation, a program which simulates a self-avoiding random walk in a 2-dimensional region.
- 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.
- random_walk_2d_simulation, a program which simulates a random walk in a 2-dimensional region.
- random_walk_3d_simulation, a program which simulates a random walk in a 3-dimensional region.
- rcm, a library which applies the reverse Cuthill McKee algorithm for reordering the nodes of a graph, and reducing the bandwidth of a corresponding sparse matrix;
- rk4, a library which applies the fourth order Runge-Kutta (RK) algorithm to estimate the solution of an ordinary differential equation at the next time step.
- rkf45, a library which applies a Runge-Kutta-Fehlberg (RKF) solver to a system of ODE’s;
- sammon_data, a program which generates six examples of M-dimensional datasets for cluster analysis.
- sandia_cubature, a library which implements quadrature rules for certain M-dimensional regions and weight functions.
- 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.
- sandia_sgmgg, a library which explores a generalized construction method for sparse grids.
- sandia_sparse, a library which can produce a 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.
- satisfy, a program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem.
- satisfy_parfor, a program which carries out a circuit satisfiability search; it runs in parallel using MATLAB’s parfor facility.
- sde, a library which illustrates the properties of stochastic differential equations, and common algorithms for their analysis, by Desmond Higham;
- sequence_streak_display, a program which displays a streak plot of a numeric sequence;
- set_theory, a library which demonstrates MATLAB commands that implement various set theoretic operations.
- sftpack, a library which implements the slow Fourier transform, intended as a teaching tool and comparison with the fast Fourier transform.
- sgmga, a library which creates sparse grids based on a mixture of 1D quadrature rules, allowing anisotropic weights for each dimension.
- shallow_water_1d, a program which simulates the evolution of a 1D fluid governed by the time-dependent shallow water equations.
- shallow_water_2d, a program which simulates the evolution of a 2D fluid governed by the time-dependent shallow water equations, by Cleve Moler.
- shoreline, a program which tries to identify and triangulate the 2D domain over which some function f(x,y) is nonnegative.
- simplex_coordinates, a library which computes the Cartesian coordinates of the vertices of a regular simplex in M dimensions.
- sine_transform, a library which demonstrates some simple properties of the discrete sine transform.
- 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.
- sobol, a library which generates elements of the Sobol M-dimensional quasirandom sequence;
- sobol_dataset, a program which creates a Sobol quasirandom dataset;
- 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.
- sparse, programs which illustrate the use of MATLAB’s sparse matrix utilities;
- sparse_grid_cc, a library which creates sparse grids based on Clenshaw-Curtis rules.
- sparse_grid_cc_dataset, a program which creates sparse grids based on Clenshaw-Curtis rules.
- sparse_grid_composite, a library which creates sparse grids based on 1D composite rules (currently only of order 1).
- sparse_grid_gl, a library which creates sparse grids based on Gauss-Legendre rules.
- sparse_grid_gl_dataset, a program which creates a sparse grid dataset based on Gauss-Legendre rules.
- sparse_grid_hermite, a library which creates sparse grids based on Gauss-Hermite rules.
- sparse_grid_hermite_dataset, a program which creates a sparse grid dataset based on Gauss-Hermite rules.
- 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.
- sparse_grid_laguerre, a library which creates sparse grids based on Gauss-Laguerre rules.
- sparse_grid_laguerre_dataset, a program which creates a sparse grid dataset based on Gauss-Laguerrre rules.
- sparse_grid_mixed, a library which creates sparse grids based a mixture of 1D factor rules.
- sparse_grid_mixed_dataset, a program which creates a sparse grid dataset based on a mixture of 1D rules.
- sparse_grid_open, a library which creates sparse grids based on open rules (Fejer 2, Gauss-Patterson, Newton-Cotes-Open).
- sparse_grid_open_dataset, a program which creates a sparse grid dataset based on open rules (Fejer 2, Gauss-Patterson, Newton-Cotes-Open).
- sparse_grid_pure, 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.
- sparse_grid_total_poly, a library which investigates the efficient approximation of all polynomials up to a given total degree using sparse grids.
- 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.
- sphere_cvt, a program which carries out the Centroidal Voronoi Tessellation iteration on the unit sphere.
- sphere_delaunay, a program which computes the Delaunay triangulation of points on the unit sphere.
- sphere_exactness, a program which tests the polynomial exactness of a quadrature rule for the unit sphere;
- 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, over the unit sphere.
- sphere_lebedev_rule, a library which computes Lebedev quadrature rules for the unit sphere;
- sphere_lebedev_rule_display, a program which reads a file defining a Lebedev quadrature rule for the sphere and displays the point locations.
- sphere_monte_carlo, a library which applies a Monte Carlo method to estimate the integral of a function over the surface of the unit sphere in 3D;
- sphere_quad, a library which approximates an integral over the surface of the unit sphere by applying a triangulation to the surface;
- sphere_stereograph, a library which computes the stereographic mapping between points on the unit sphere and points on the plane Z = 1; a generalized mapping is also available.
- sphere_stereograph_display, a library which computes and displays the results of several stereographic projections between a sphere and a plane.
- sphere_voronoi, a program which computes the Voronoi diagram of points on the unit sphere.
- sphere_xyz_display, a program which reads XYZ information defining points in 3D, and displays a unit sphere and the points in the MATLAB 3D graphics window.
- sphere_xyzf_display, a program which reads XYZ information defining points coordinates, and XYZF information defining point indices forming faces, and displays a unit sphere, the points, and the faces, in the MATLAB 3D graphics window.
- spherical_harmonic, a library which evaluates spherical harmonic functions.
- 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. - spline, a library which interpolates and approximates via splines;
- st_ioa library which reads and writes sparse linear systems stored in the Sparse Triplet (ST) Sparse Matrix format.
- st_to_hb, a program which converts a sparse matrix file from the Sparse Triplet (ST) format to Harwell Boeing (HB) format;
- st_to_mm, a program which converts a sparse matrix file from Sparse Triplet (ST) format to Matrix Market (MM) format;
- st_to_msm, a program which reads a Sparse Triplet (ST) file and creates a corresponding MATLAB Sparse Matrix.
- stla_display, a program which displays an ASCII stereolithography (STL) 3D graphics file;
- stla_io, a library which reads and writes an ASCII stereolithography (STL) 3D graphics file;
- 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.
- stla_to_tri_surface_fast, a program which is a faster version of stla_to_tri_surface.
- stochastic_diffusion, functions which implement several versions of a stochastic diffusivity coefficient.
- stochastic_gradient_nd_noise, a program which solves an optimization problem involving a functional over a system with stochastic noise.
- stochastic_rk, a library which applies a Runge-Kutta (RK) scheme to a stochastic differential equation.
- stroud, a library which implements numerical integration over M-dimensional regions, including spheres, toruses and other shapes;
- subpak, a library which includes many utility routines;
- subset, a library which ranks, unranks, and generates random subsets, combinations, permutations, and so on;
- subset_sum, a program which seeks solutions of the subset sum problem.
- sudoku, a library which handles Sudoku puzzles;
- sum_million, a program which sums the integers from 1 to 1,000,000, as a demonstration of how to rate a computer’s speed;
- svd_basis, a program which applies the singular value decomposition (SVD) to a collection of data vectors, extracting dominant modes;
- svd_demo, a program which demonstrates the calculation of the singular value decomposition (SVD) and some of its properties;
- 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.
- svd_snowfall, a program which reads a file containing historical snowfall data and analyzes the data with the Singular Value Decomposition (SVD).
- 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.
- table_delaunay, a program which reads a table file of N points in 2 dimensions and writes out the Delaunay triangulation;
- table_io, a library which reads and writes a simple table file;
- table_latinize, a program which reads a table file of N points in M dimensions, adjusts to form a Latin hypercube;
- table_merge, a program which reads a table file of N points in M dimensions, removes duplicates or points that are closer than some tolerance, and writes the reduced set of points to a file.
- table_quality, a program which reads a table file of N points in M dimensions, in the unit hypercube, and returns estimates of the quality of the point dispersion;
- table_read, a program which reads a table file containing comment lines beginning with ‘#’, and a matrix of data, one row per line;
- 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;
- tanh_quad, a library which sets up the tanh quadrature rule;
- tanh_sinh_rule, a program which computes and writes out a tanh-sinh quadrature rule of given order.
- 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.
- tcell_flow_display, a library which displays a single velocity field solution for the T cell;
- tcell_flow_movie, a library which creates an animation of the velocity solutions for the T cell;
- tcell_rom, a program which solves a reduced order model of a finite element solution of the Navier Stokes equations in a T-Cell flow region, by Hyung-Chun Lee.
- tec_io, a library which reads or writes a TECPLOT ASCII file containing finite element information;
- 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;
- 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.
- templates, a library which carries out the iterative solution of linear systems;
- 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.
- test_approx, a library which implements test problems for approximation, provided as a set of (x,y) data.
- test_con, a library which implements test problems for numerical continuation.
- test_eigen, a library which implements test matrices for eigenvalue analysis.
- test_int, a library which implements test problems for approximate integration (quadrature) in one dimension.
- test_int_2d, a library which implements test problems for approximate integration (quadrature) in two dimensions.
- test_int_hermite, a library which implements test problems for approximate integration over an infinite interval.
- test_int_laguerre, a library which implements test problems for approximate integration over a semi-infinite interval.
- 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.
- test_interp, a library which defines test problems for interpolation, provided as a set of (x,y(x)) data.
- test_interp_fun, a library which defines test problems for interpolation, provided as a function (x,f(x)).
- test_interp_scattered, a library which defines test problems for interpolation of data (x,y,z(x,y)), with the data points (x,y) scattered irregularly.
- test_mat, a library which defines a set of test matrices.
- test_matrix, a library which defines a set of test matrices and utilities, by Nick Higham;
- test_matrix_exponential, a library which defines a set of test cases for computing the matrix exponential.
- test_min, a library which implements test problems for minimization of a scalar function of a scalar variable.
- test_nint, a library which implements test problems for approximate integration (quadrature) in M dimensions.
- test_ode, a library which defines some sample ODE’s for testing initial value problem solvers;
- test_opt, a library which implements test problems for optimization of a scalar function of several variables.
- 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.
- test_optimization, a library which implements test problems for optimization of a scalar function of several variables, as described by Molga and Smutnicki.
- test_tri_int, a library which implements test functions for integration over a triangle in 2 dimensions.
- test_triangulation, a library which defines test problems for triangulation;
- test_values, a library which returns selected values of some special functions;
- test_zero, a library which defines some functions f(x) suitable for testing software that solves f(x)=0;
- testpack, a library which defines a set of test integrand functions, by Alan Genz.
- tet_mesh, a library which works with tetrahedral meshes in 3D;
- 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.
- tet_mesh_display, a program which reads data defining a (small) tet mesh, displays a wireframe image of the nodes and edges;
- tet_mesh_l2q, a program which reads information about a 4-node (linear) tet mesh and creates data defining a corresponding 10-node (quadratic) tet mesh;
- tet_mesh_q2l, a program which reads information about a 10-node (quadratic) tet mesh and creates data defining a corresponding 4-node (linear) tet mesh;
- tet_mesh_quality, a program which computes various quality measures for a tet mesh of a set of nodes in 3D;
- tet_mesh_rcm, a program which computes the reverse Cuthill-McKee reordering for the nodes of a tet mesh that uses 4-node or 10-node tetrahedrons;
- tet_mesh_refine, a program which refines a tet mesh;
- tet_mesh_tet_neighbors, a program which reads information about a tet mesh and writes out a list of the tetrahedrons that are adjacent to a given tetrahedron;
- tet_mesh_volumes, a program which computes the volume of each tetrahedron in a tet mesh;
- tetrahedron_exactness, a program which tests the polynomial exactness of a quadrature rule for the tetrahedron;
- tetrahedron_grid, a library which computes a grid of points inside a 3D tetrahedron.
- tetrahedron_monte_carlo, a program which uses the Monte Carlo method to estimate an integral over a tetrahedron.
- tetrahedron_properties, a program which prints out the properties of a tetrahedron whose vertex coordinates are read from a file;
- 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.
- tetrahedron_slice_display, a program which determines the intersection between a tetrahedron and a plane and displays the result.
- 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.
- threed, a library which contains functions useful for 3D finite element calculations, by Jeff Borggaard.
- threed_to_tecplot, a program which accepts computational data from a 3D finite element fluid flow program and writes it to a TECPLOT ASCII graphics file.
- threed_to_vtk, a program which accepts computational data from a 3D finite element fluid flow program and writes it to a VTK legacy file for postprocessing by PARAVIEW.
- threed_to_vtu, a program which accepts computational data from a 3D finite element fluid flow program and writes it to a VTK unstructured grid file for postprocessing by PARAVIEW.
- 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 VU.
- timer, programs which illustrate how to time a piece of code;
- timestamp, a library which prints the current YMDHMS date as a timestamp;
- toms178, a library which seeks the minimizer of a scalar function of several variables using the Hooke-Jeeves method;

this is a MATLAB version of ACM TOMS algorithm 178. - toms179, a library which calculates the incomplete Beta ratio;

this is a MATLAB version of ACM TOMS algorithm 179. - toms291, a library which approximates the logarithm of the Gamma function;

this is a MATLAB version of ACM TOMS algorithm 291. - toms446, a library which manipulates Chebyshev series for interpolation and approximation;

this is a MATLAB version of ACM TOMS algorithm 446, by Roger Broucke. - 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 be satisfy H <= X and K <= Y; this is a MATLAB version of ACM TOMS algorithm 462.
- toms655, a library which computes computes the weights for interpolatory quadrature rule;

this library is commonly called IQPACK;

this is a MATLAB version of ACM TOMS algorithm 655. - toms847, a library which carries out piecewise multilinear hierarchical sparse grid interpolation, commonly known as SPINTERP, by Andreas Klimke;

this is ACM TOMS Algorithm 847. - toms866, a library which contains the Incompressible Flow Iterative Solution Software (IFISS);

this is ACM TOMS algorithm 866. - traffic_simulation, a program which simulates the cars waiting to get through a traffic light.
- tri_surface_display, a program which displays a triangulated surface;
- tri_surface_io, a library which reads and writes the 3D graphics information in a TRI_SURFACE file;
- tri_surface_to_obj, a program which reads a TRI_SURFACE dataset and extracts the surface mesh data as an OBJ file.
- tri_surface_to_ply, a program which converts a TRI_SURFACE dataset to a dataset suitable for storage as a PLY file.
- tri_surface_to_stla, a program which reads a TRI_SURFACE dataset and extracts the surface mesh data as an ASCII stereolithography (STL) file.
- 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.
- triangle_exactness, a program which tests the polynomial exactness of a quadrature rule for triangles;
- triangle_grid, a library which computes a triangular grid of points.
- triangle_histogram, a program which computes histograms of data on the unit triangle.
- triangle_monte_carlo, a program which uses the Monte Carlo method to estimate an integral over a triangle.
- triangle_properties, a program which computes properties of a triangle whose vertex coordinates are read from a file.
- triangulate, a program which triangulates a polygonal region, based on a C program by Joseph ORourke;
- triangulation, a library which computes the triangulation of a set of points in the plane, and to perform various operations using a triangulation;
- 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;
- triangulation_corner, a program which modifies triangulations in which one or more triangles have more than one boundary edge.
- triangulation_delaunay_discrepancy, a program which measures the amount by which a triangulation fails the local Delaunay test;
- triangulation_display, a program which displays the nodes and elements of a triangulation on the MATLAB graphics screen;
- triangulation_histogram, a program which computes histograms of data over a triangulation.
- triangulation_l2q, a program which reads information about a 3-node (linear) triangulation and creates data defining a corresponding 6-node (quadratic) triangulation;
- triangulation_mask, a program which reads a triangulation and calls a user-supplied routine to consider each triangle for deletion;
- triangulation_order1_display, a program which plots piecewise constant data associated with a triangulation;
- triangulation_order3_contour, a program which plots color contours of a scalar quantity evaluated at the nodes of a 3-node triangle triangulation.
- triangulation_order6_contour, a program which plots color contours of a scalar quantity evaluated at the nodes of a 6-node triangle triangulation.
- triangulation_orient, a program which ensures that the triangles in an order 3 or order 6 triangulation have positive orientation;
- triangulation_plot, a program which plots the nodes and elements of a triangulation as a PostScript file;
- triangulation_q2l, a program which reads information about a 6-node triangulation and creates data defining a corresponding 3-node triangulation;
- 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.
- triangulation_quality, a program which reads information about a triangulation and computes various quality measures;
- triangulation_rcm, a program which computes the reverse Cuthill-McKee reordering for the nodes of a triangulation that uses 3-node or 6-node triangles;
- triangulation_refine, a program which refines a triangulation;
- 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.
- 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;
- 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;
- truel_simulation, a program which simulates N repetitions of a duel between three players, each of whom has a known firing accuracy.
- tumor, a program which demonstrates a model of tumor growth;
- twod, a library which contains functions useful for 2D finite element calculations, by Jeff Borggaard.
- twod_plotc, a program which makes a color contour plot of scalar data defined on a 2D finite element mesh.
- twod_to_vtk, a program which accepts computational data from a 2D finite element fluid flow program and writes it to a VTK legacy file for postprocessing by PARAVIEW.
- twod_to_vtu, a program which accepts computational data from a 2D finite element fluid flow program and writes it to a VTK unstructured grid file for postprocessing by PARAVIEW.
- uniform, a library which computes N elements of a uniform pseudorandom sequence;
- uniform_dataset, a program which creates N elements of an M-dimensional uniform pseudorandom sequence and writes them to a file.
- van_der_corput, a library which computes elements of the van der Corput 1-dimensional quasirandom sequence;
- van_der_corput_dataset, a program which creates N elements of a van der Corput sequence and writes them to a file.
- vector_magnitude_grid, a program which reads vector data at scattered points, computes an interpolatory function, evaluates it on a uniform grid of user-specified density, and produces a contour plot of the vector magnitude.
- vector_stream_grid, a program which reads vector data at scattered points, computes an interpolatory function, evaluates it on a uniform grid of user-specified density, and produces a streamline plot.
- velocity_arrows, a program which reads coordinate data and velocity data from two files and makes an arrow plot of the velocity field.
- velocity_arrows_grid, a program which reads node and velocity data, stored in two files, at scattered points, and makes a velocity vector plot on a uniform grid of user-specified density.
- velocity_arrows_grid_sequence2, a program which reads a single XYUV file of nodes and velocities, interpolates the data onto a smooth grid, plots the data and writes it to a PNG file, and then repeats the process for the next file.
- velocity_arrows_sequence, a program which reads a fixed coordinate data file, and a sequence of velocity data files, and makes a sequence of velocity arrow plots.
- velocity_arrows_sequence2, a program which reads a single XYUV file of nodes and velocities, plots the data and writes it to a PNG file, and then repeats the process for the next file.
- 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.
- voronoi_plot, a program which plots the Voronoi neighborhoods of points, using L1, L2, LInfinity or arbitrary LP norms;
- vpa, programs which use the Variable Precision Arithmetic (VPA) feature of the Symbolic Math Toolbox to compute arbitrary precision quantities.
- walsh, a library which implements versions of the Walsh and Haar transforms.
- wandzura, a library which returns one of 6 Wandzura rules for quadrature in a triangle;
- wavelet, a library which does some simple wavelet calculations;
- weekday, a library which determines the day of the week for a given day.
- wtime, a library which returns a reading of the wall clock time in seconds.
- 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;
- xy_io, a library which reads and writes XY files.
- xyf_display, a program which reads XYF information defining points and faces in 2D, and displays an image in the MATLAB graphics window.
- xyl_display, a program which reads XYL information defining points and lines in 2D, and displays an image in the MATLAB graphics window.
- xyz_display, a program which reads XYZ information defining points in 3D, and displays an image in the MATLAB 3D graphics window.
- xyz_io, a library which reads and writes XYZ files.
- xyzf_display, a program which reads XYZF information defining points and faces in 3D, and displays an image in the MATLAB 3D graphics window.
- xyzl_display, a program which reads XYZL information defining points and lines in 3D, and displays an image in the MATLAB 3D graphics window.
- ziggurat, a library which samples the uniform, normal or exponential distributions, using the ziggurat method, by Marsaglia and Tsang.

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

*Last revised on 10 April 2012. *

## Nonlinear PCA toolbox for MATLAB

Nonlinear principal component analysis (NLPCA)