Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

CDMA rake receiver code for snr vs BER

Status
Not open for further replies.
Please check matlab codes for bellow.


MATLAB Source Codes

--------------------------------------------------------------------------------


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.
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).
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, by BE Cooper. This is a Matlab version of Applied Statistics Algorithm 5;
asa006, a library which computes the Cholesky factor of a positive definite symmetric matrix, by Michael Healy; This is a Matlab version of Applied Statistics Algorithm 6;
asa007, a library which computes the inverse of a positive definite symmetric matrix, by Michael Healy; This is a Matlab version of Applied Statistics Algorithm 7.
asa032, a library which evaluates the incomplete Gamma function, by G Bhattacharjee. This is a Matlab version of Applied Statistics Algorithm 32;
asa047, a library which minimizes a scalar function of several variables using the Nelder-Mead algorithm, by R ONeill. This is a Matlab version of Applied Statistics Algorithm 47;
asa058, a library which carries out clustering of data, by David Sparks. This is a Matlab version of Applied Statistics Algorithm 58;
asa063, a library which evaluates the incomplete Beta function, by KL Majumder and G Bhattacharjee. This is a Matlab version of Applied Statistics Algorithm 63;
asa066, a library which computes the cumulative density function (CDF) of the standard normal distribution, by David Hill. This is a Matlab version of Applied Statistics Algorithm 66;
asa076, a library which evaluates Owen's T function, by Young and Minder. This is a Matlab version of Applied Statistics Algorithm 76;
asa091, a library which computes the percentage points of the Chi-square distribution, by Best and Roberts. This is a Matlab version of Applied Statistics Algorithm 91;
asa103, a library which evaluates the digamma or psi function, by Jose Bernardo. This is a Matlab version of Applied Statistics Algorithm 103;
asa109 a library which inverts the incomplete Beta function, by Cran, Martin and Thomas. This is a Matlab version of Applied Statistics Algorithm 109;
asa111 a library which evaluates the percentage points of the normal distribution, by Beasley and Springer. This is a Matlab version of Applied Statistics Algorithm 111;
asa113 a library which clusters data using a transfer and swap algorithm, by Banfield and Bassill; This is a Matlab version of Applied Statistics Algorithm 113;
asa121, a library which evaluates the trigamma function, by BE Schneider. This is a Matlab version of Applied Statistics Algorithm 121;
asa136, a library which implements a clustering algorithm, by Hartigan and Wong. This is a Matlab version of Applied Statistics Algorithm 136;
asa144, a library which randomly generates tables with given row and column sums, by James Boyett. This is a Matlab version of Applied Statistics Algorithm 144;
asa147, a library which evaluates the incomplete Gamma function, by Chi Leung Lau. This is a Matlab version of Applied Statistics Algorithm 147;
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 Matlab version of Applied Statistics Algorithm 152;
asa159, a library which computes a random table with given row and column sums, by Michael Patefield; This is a Matlab version of Applied Statistics Algorithm 159;
asa172, a library which generates all multidimensional indices in a given range, simulating the behavior of an arbitrary number of nested loops, by OFlaherty and MacKenzie; this is a Matlab version of Applied Statistics Algorithm 172;
asa183, a library which implements a pseudorandom number generator, by Wichman and Hill; this is a Matlab version of Applied Statistics Algorithm 183;
asa226, a library which evaluates the noncentral incomplete Beta function, by Russell Lenth; this is a Matlab version of Applied Statistics Algorithm 226;
asa239, a library which evaluates the incomplete Gamma function, by Shea; this is a Matlab version of Applied Statistics Algorithm 239;
asa241, a library which computes the inverse of the normal cumulative density function (CDF), by Michael Wichura; this is a Matlab version of Applied Statistics Algorithm 241;
asa243, a library which evaluates the lower tail of the noncentral Student's T distribution, by Russell Lenth; this is a Matlab version of Applied Statistics Algorithm 243;
asa245, a library which evaluates the logarithm of the Gamma function, by Allan Mcleod; this is a Matlab version of Applied Statistics Algorithm 245;
asa266, a library which evaluates various properties of the Dirichlet probability density function (PDF); this is a Matlab version of Applied Statistics Algorithm 266;
asa299, a library which computes the lattice points (integer coordinates) in an M-dimensional simplex, by Chasalow and Brand; this is a Matlab version of Applied Statistics Algorithm 299;
asa310, a library which evaluates the noncentral incomplete Beta function, by Chattamvelli and Shanmugam; this is a Matlab version of 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;
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.
bernstein, a library which evaluates the Bernstein polynomials;
beta_nc, a library which evaluates the cumulative density function (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.
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].
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.
black_scholes, a library which implements some simple approaches to the Black-Scholes option valuation theory, by Desmond Higham.
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.
blas1_c, a library which implements the Level 1 Basic Linear Algebra Subprograms (BLAS), using single precision complex arithmetic;
blas1_d, a library which implements the Level 1 Basic Linear Algebra Subprograms (BLAS), using double precision real arithmetic;
blas1_s, a library which implements the Level 1 Basic Linear Algebra Subprograms (BLAS), using single precision real arithmetic;
blas1_z, a library which implements the Level 1 Basic Linear Algebra Subprograms (BLAS), 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 (POD) 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, including a reverse communication option, by Richard Brent.
brownian_motion_simulation, a library 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.
burgers_time_inviscid, a library which solves the time-dependent inviscid Burgers equation using a finite difference discretization, and one of six solution methods selected by the user.
burgers_time_viscous, a library which solves the time-dependent viscous Burgers equation using a finite difference discretization of the conservative form of the equation.
c8lib, a library which implements certain elementary functions for double precision complex ("C8") variables;
calendar_nyt, a library which shows the correspondence between dates and the New York Times volume and issue number;
calpak, a library which makes various calendar calculations;
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, 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.
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;
cg_rc, a library which implements the conjugate gradient method for solving a positive definite sparse linear system A*x=b, using reverse communication.
chebyshev, a library which computes the Chebyshev interpolant/approximant to a given function over an interval.
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).
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, also known as the 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.
combination_lock, a program which simulates the process of determining the secret combination of a lock.
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.
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.
complexity, programs which measure the complexity of a few simple algorithms with increasing problem size.
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_gradient_3d, a program which displays contours and gradient vectors for a function f(x,y) in a 3D display.
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.
coordinate_search, a program which seeks the minimizer of a scalar function of several variables, by Jeff Borggaard.
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_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.
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;
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.
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.
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_2d, 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.
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 uses divided differences to compute the polynomial interpolant to a given set of data.
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.
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;
earth_sphere, a program which displays a 3D image of the earth, including oceans, continents, and topography, by Clay Thompson and Will Campbell.
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 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_advection_ftcs, a program which applies the finite difference method to solve the time-dependent advection equation ut = - c * ux in one spatial dimension, with a constant velocity, using the FTCS method, forward time difference, centered space difference.
fd1d_advection_lax, a program which applies the finite difference method 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.
fd1d_advection_lax_wendroff, a program which applies the finite difference method 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.
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 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_explicit, a program which uses the finite element method and explicit time stepping to solve the time dependent heat equation in 1D.
fem1d_heat_implicit, a program which uses the finite element method and implicit time stepping to solve the time dependent heat equation in 1D.
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_cg, a program which solves Poisson's equation on a triangulated region, using the finite element method, sparse storage, and a conjugate gradient solver.
fem2d_poisson_cg_baffle, a library which defines the geometry of a channel with 13 hexagonal baffles, as well as boundary conditions for a given Poisson problem, and is called by fem2d_poisson_cg as part of a solution procedure.
fem2d_poisson_cg_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_cg as part of a solution procedure.
fem2d_poisson_cg_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_cg as part of a solution procedure.
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 Poisson 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.)
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.
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_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.
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 ways to generate a sequence of filenames, which can be useful when generating a sequence of still snapshots to be animated later.
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.
filum, a library which handles files and filenames;
flame_ode, a library which considers an ordinary differential equation (ODE) which models the growth of a ball of flame in a combustion process.
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.
gen_laguerre_rule, a program which computes and writes out a generalized Gauss-Laguerre quadrature rule of given order and parameter value.
geometry, a library which performs 2D/3D geometric calculations;
geompack, a library which computes the Delaunay triangulation for a set of points in 2D, by Barry Joe.
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.
gnuplot, programs which illustrate how a program can write data and command files so that gnuplot can create plots of the program results.
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.
gray_code_display, a MATLAB 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.
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 saves 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;
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.
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_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.
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_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.
image_noise, programs which add noise to an image.
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.
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.
index, a library which converts a multidimensional 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.
inout_flow_display, a library which displays a single velocity field solution for the inout cell flow;
inout_flow_movie, a library which creates an animation of the velocity solutions for the inout cell flow;
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.
interp, a library which can be used for parameterizing and interpolating data;
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 the iterative solution of 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;
kronrod, a library which can compute a Gauss and Gauss-Kronrod pair of quadrature rules of arbitrary order, by Robert Piessens, Maria Branders.
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)).
lagrange_basis_display, a library which displays the basis functions associated with a given set of nodes used with the Lagrange interpolation scheme.
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).
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).
lagrange_interp_nd, a library which defines and evaluates the Lagrange polynomial p(x) which interpolates a set of data depending on a multidimensional argument that was evaluated on a product grid, so that p(x(i)) = z(i).
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_cover, a library which produces N Latin squares which cover an NxN square, or NxN Latin cubes which cover an NxNxN cube.
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, 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.
linpack_bench, a program which is the linpack benchmark;
linpack_bench_backslash, a program which is the linpack benchmark, using MATLAB's built-in backslash operator;
linpack_c, a library which constitutes a linear algebra library for single precision complex arithmetic; it includes a function to compute 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.
linpack_d, a library which constitutes a linear algebra library for double precision real arithmetic; it includes a function to compute 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.
linpack_s, a library which constitutes a linear algebra library; for single precision real arithmetic; it includes a function to compute 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.
linpack_z, a library which constitutes a linear algebra library for double precision complex arithmetic; it includes a function to compute 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.
linplus, a library which carries out operations such as matrix-vector products, matrix factorization, direct and iterative linear solves for matrices in a variety of formats, including banded, border-banded, circulant, lower triangular, pentadiagonal, sparse, symmetric, toeplitz, tridiagonal, upper triangular and vandermonde 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 values of various machine characteristic constants, by William Cody;
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 the 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.
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_random, programs which illustrate the use of Matlab's random number generator routines.
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.
matlab_return, programs which illustrate that explicitly invoking the return statment can be surprisingly costly;
matrix_assemble_parfor, a program which demonstrates the parfor parallel programming feature by assembling the Hilbert matrix in a parallel loop.
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 file 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.
mesh2d_write, a program which demonstrates how node and element data from mesh2d can be written to files.
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.
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.
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;
nearest_interp_1d, a library which interpolates a set of data using a piecewise constant interpolant defined by the nearest neighbor criterion.
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.
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 of ordinary differential equations (ODE's) using MATLAB's ode23() function.
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).
ode_sweep_serial, a program which computes a grid of solutions to a parameterized system of ordinary differential equations (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;
ornstein_uhlenbeck, a library which approximates solutions of the Ornstein-Uhlenbeck stochastic differential equation (SDE) using the Euler method, the Euler-Maruyama method, and the Milstein method.
owens, a library which evaluates Owen's T function;
partition_problem, a library which seeks solutions of the partition problem, splitting a set of integers into two subsets with equal sum.
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) graphics 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 partial differential equation (SPDE), using a polynomial chaos expansion (PCE) in terms of Legendre polynomials;
pce_ode_hermite, a program which sets up a simple scalar stochastic differential equation (SDE) 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_display, a program which displays a 3D PLY graphics file;
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 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.
polygon_moments, a library which computes arbitrary moments of a polygon.
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_plot a program which displays a box plot of the prime and composite numbers.
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.
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;
pwl_approx_1d, a library which approximates a set of data using a piecewise linear function.
pwl_interp_1d, a library which interpolates a set of data using a piecewise linear function.
pwl_interp_2d, a library which evaluates a piecewise linear interpolant to data defined on a regular 2D grid.
pwl_interp_2d_scattered, a library which evaluates a piecewise linear interpolant to data which is available at an irregularly arranged set of points.
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_order1_display, a program which plots piecewise constant data associated with a mesh of quadrilaterals;
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.
rbf_interp_1d, a library which defines and evaluates radial basis function (RBF) interpolants to 1D data.
rbf_interp_2d, a library which defines and evaluates radial basis function (RBF) interpolants to 2D data.
rbf_interp_nd, a library which defines and evaluates radial basis function (RBF) interpolants to multidimensional data.
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;
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."
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.
rkf45, a library which applies a Runge-Kutta-Fehlberg (RKF) solver to a system of ordinary differential equations (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 (SDE's), and common algorithms for their analysis, by Desmond Higham;
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.
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 (FFT).
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_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.
shallow_water_2d, a program which simulates the evolution of a 2D fluid governed by the time-dependent shallow water equations, by Cleve Moler.
shepard_interp_1d, a library which defines and evaluates Shepard interpolants to 1D data, based on inverse distance weighting.
shepard_interp_2d, a library which defines and evaluates Shepard interpolants to 2D data, based on inverse distance weighting.
shepard_interp_nd, a library which defines and evaluates Shepard interpolants to multidimensional data, based on inverse distance weighting.
shoreline, a program which tries to identify and triangulate the 2D domain over which some function f(x,y) is nonnegative.
shoreline2, a program which tries to identify and triangulate the 2D domain over which some function f(x,y) is approximately zero.
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, by Bennett Fox.
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 quadrature rules.
sparse_grid_cc_dataset, a program which creates sparse grids based on Clenshaw-Curtis quadrature 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 one of the following open 1D rules: Fejer 2, Gauss-Patterson, Newton-Cotes-Open.
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.
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_interp_nd, a library which can be used to define a sparse interpolant to a function f(x) of a multidimensional argument.
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 (CVT) 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.
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.
spline, a library which interpolates and approximates via splines;
spquad, a library which computes the points and weights of a sparse grid quadrature rule for a multidimensional integral, based on the Clenshaw-Curtis quadrature rule, by Greg von Winckel.
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.
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.
st_io a library which reads and writes sparse linear systems stored in the Sparse Triplet (ST) 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 (SDE).
string_simulation, a program which simulates the behavior of a vibrating string.
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.
subset_sum_serial, a program which seeks solutions of the subset sum problem, and is intended as a starting point for a parallel computing approach.
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.
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 defines test integrands for Hermite integrals with interval (-oo,+oo) and weight exp(-x^2).
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_1d, a library which defines test problems for interpolation of data y(x), which depends on a 1D argument.
test_interp_2d, a library which defines test problems for interpolation of data z(x,y), which depends on a 2D argument.
test_interp_nd, a library which defines test problems for interpolation of data z(x), depending on an M-dimensional argument.
test_ls, a library which implements linear least squares test problems of the form A*x=b.
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_nearest, a library which tests the time complexity of various procedures for solving the nearest neighbor problem.
test_nint, a library which implements test problems for approximate integration (quadrature) in M dimensions.
test_ode, a library which defines some sample ordinary differential equations (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_quad, a program which estimates the integral of a function over a region defined by a tetrahedral 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 (RCM) 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.
tic_toc, programs which demonstrate some features of MATLAB's tic and toc functions for wallclock timing.
timer, programs which illustrate how to time a piece of code;
timestamp, a library which prints the current YMDHMS date as a timestamp;
toeplitz_cholesky, a library which computes the Cholesky factorization of a nonnegative definite symmetric Toeplitz matrix.
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 MATLAB version of ACM TOMS algorithm 178.
toms179, a library which calculates the incomplete Beta ratio, by Oliver Ludwig; 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 satisfy H <= X and K <= Y; this is a MATLAB version of ACM TOMS algorithm 462.
toms655, a library which 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), by Howard Elman, Alison Ramage, David Silvester; 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 (RCM) 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;
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.
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.
unicycle, a library which considers permutations containing a single cycle, sometimes called cyclic permutations.
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.
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.
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.
vandermonde_interp_1d, a library which finds a polynomial interpolant to data y(x) of a 1D argument by setting up and solving a linear system for the polynomial coefficients involving the Vandermonde matrix.
vandermonde_interp_2d, a library which finds a polynomial interpolant to data z(x,y) of a 2D argument by setting up and solving a linear system for the polynomial coefficients involving the Vandermonde matrix.
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_display, a program which computes the exact Voronoi diagram using geompack, and displays it.
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 estimates the Voronoi neighborhoods of points using sampling, and with a distance based on the 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 corresponding to a given date, such as 14 October 1066, Julian calendar, ...which was a Saturday.
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.
zero_rc, a library which seeks solutions of a scalar nonlinear equation f(x)=0, or a system of nonlinear equations, using reverse communication.
ziggurat, a library which samples the uniform, normal or exponential distributions, using the ziggurat method, by Marsaglia and Tsang.

- - - Updated - - -

Analysis of Rake Receiver
The rake receiver is designed to optimally detected a DS-CDMA signal transmitted over a dispersive multipath channel.




Different reflected waves arrive with different delays. A rake receiver can detect these different signals separately. These signals are then combined, using the diversity technique called maximum ratio combining.



Considering antipodal (i.e., BPSK-type) of DS-CDMA, we denote the transmit waveform as m0 for a digital "0" and -m0 for a digital "1". The received signal is

ri(t) = S hk mi(t - kTc) + z(t)

where

the sum S is a summing over all propagation paths k=0, 1, 2, ...,
hk is the complex amplitude of the k-th propagation path,
Tc is the chip duration,
index i represents the binary message ("0" or "1"), and
z(t) denotes the additive white Gaussian noise.
The power in the k-th resolvable bin is hk hk* The local-mean power is
p = E Shk hk*

where E is the expectation operator, applied to find the local-mean value, and * denotes a complex conjugate. We ignore intersymbol interference, that is, we assume that the bit duration Tb is much larger than the rms delay spread Trms. However, typically Tc < Trms.


Deriving the Rake Algorithm
In this section we apply the principle of a matched filter to a DS-CDMA signal, received over a Linear Time Invariant (LTI) dispersive channel, with additive white Gaussian noise (AWGN). Using the matched filter theory, we derive the optimum receive algorithm, which is also called a "rake receiver".

An optimal matched filter receiver exploits information of the transmit waveform and the channel characteristics. It correlates the incoming signal ri(t) with the expected received signal y(t) = S hk m0(t - kTc). The decision variable v becomes

v = Re INT ri(t) yi*(t)

where INT is an integration of one bit time. Inserting yi*(t)

v = Re INT ri(t) S hk* m0*(t - kTc)

Interchanging integration and summing, we can rewrite this as

v = S Re hk* INT ri(t) m0*(t - kTc)

Thus, we can implement K correlators, each correlating the incoming signal with the signal waveform m0*(t - kTc), time-shifted by kTc. The outputs of these correlator are weighed by hk*. Since the signal amplitude is also proportional to hk, this correspons to maximum ratio combining diversity.

Note that thus far we have not assumed any specific properties of the spreading code.

Bit Error Rate in Fixed, Known Channel
We assume that the receiver perfectly knows and applies estimates of the channel hk. We insert the received signal r(t) into the decision variable. That allows us to derive the received signal-to-noise ratio and the BER.
v = Sk1 Re hk1* INT [Sk2 hk2 mi(t - k2 Tc) + z(t) ] m0*(t - k1 Tc)

Here, we simplified the effect of partial correlations. See a more detailed discussion.
Splitting the expression for the devision variable for signal and noise,

v = Sk1 Re hk1* INT Sk2 hk2 mi(t - k2 Tc) ) m0*(t - k1 Tc)

+ Sk1 Re hk1* INT z(t) m0*(t - k1 Tc)


We now use the autocorrelation properties R() of the spreading code, with

R(k1 - k2) = INT m(t - k1 Tc) m(t - k2 Tc) dt

where the integration is over one bit duration, which also equals one period of the code sequence. This gives the following decision variable:

v = Sk1 Re hk1* Sk2 hk2 R(k1 - k2)

+ Sk1 Re hk1* INT z(t) m0*(t - k1 Tc)

For speading codes with sufficiently good autocorrelation, one typically assumes that R(0) = Tb with Tb the duration of a bit and R(n) = 0 for n not equal to zero. So

v = Tb Sk1 Re hk1* hk1

+ Sk1 Re hk1* INT z(t) m0*(t - k1 Tc)

So the signal-to-noise ratio in the decision variable is

Tb2 [ Sk1hk1*hk1 ]2
g = ------------------------- = Sgk
N0Tb Sk1hk1*hk1


The BER is
P = (1/2) erfc[SQRT( S gk )]

It is important to realize the limitations of this derivation.

The above derivation idealizes the autocorrelation properties of the spreading code.
It considers the presence of one signal in AWGN, but no interference.
If a phase reversal occurs due modulation of the signal, each finger in the rake may see fractions of code sequences from other bins. This leads to increased crosstalk betwen components in the fingers. A more accurate analysis would involve partial autocorrelation functions, to reflect that one sequence changes phase at some point in time.
Bit Error Rate in Rayleigh Channel
According to Rayleigh's model, the channel coefficients hk are independent complex Gaussian random variables. The power received or the signal-to-noise ratio in the k-th bin of the delay spread is gk, which is exponentially distributed. Powers in various paths are independent, but usually not identically distributed. The delay profile describes the expected power in each path.
The pdf of S gk is found considering the Laplace images (or characteristic function) of the pdf of individual received powers. For an exponential signal-to-noise ratio, the image is

Uk(s) = 1/(1+sGk),

with Gk the local-mean signal-to-noise ratio.

So for all paths combined, the image of the post-combiner signal-to-noise ratio is the product of individual images. Thus,

U(s) = Pk Uk = Pk 1/(1+sGk),

Inverse transformation yields

f(g) = S Ck /Gk exp(-gk/Gk)

where

Ck = Pi, i not equal k Gk /(Gk - Gi)

We now average the instantaneous BER (for fixed {gk}) over the pdf of the f(g) . The local-mean BER is

P = (1/2) Sk Ck [ 1- SQRT(Gk / (1+Gk ) ) ]

This expression can be evaluated wity the SPEC, embedded below.

BER SPEC
This Special Purpose Embedded Calculator calculates the BER for a DS-CDMA signal over a dispersive channel with known delay profile.


BER for DS-CDMA
Pre-programmed default parameters:
Exponential delay spread.
RMS Delay spread / Chip duration

Local-mean SNR dB
Number of
fingers in Rake dB

Resolvable path parameters
Path 1: Local-mean SNR dB
Path 2: Local-mean SNR dB
Path 3: Local-mean SNR dB
Path 4: Local-mean SNR dB
Path 5: Local-mean SNR dB
Path 6: Local-mean SNR dB

Result:
BER for BPSK
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top