fem_basis_q4_display, a MATLAB code which reads data defining a bilinear quadrilateral (Q4) finite element mesh and displays the basis function associated with any node in the mesh.

The entire mesh is shown (which could be a problem for large meshes!). However, a finite element basis function is nonzero over only a relatively small number of elements. Over each one of these elements, the basis function is bilinear, and it is simple to represent such a shape graphically.

The best part of the presentation is that MATLAB allows the user to turn the plot or zoom in and out, which makes it much easier to understand the information that is being presented.

The quadrilateral mesh is defined by a node file containing the coordinates of nodes, and an element file containing sets of the nodes that make up each element.


fem_basis_q4_display ( 'prefix' )
where The user is then queried for node numbers, so that the program can display the basis function corresponding to that node. Entering a node number of '0' terminates the program.


The computer code and data files described and made available on this web page are distributed under the MIT license


fem_basis_q4_display is available in a MATLAB version.

Related Programs:

bezier_surface_display, a MATLAB code which displays a bezier surface.


fem_basis_t3_display, a MATLAB code which displays a basis function associated with a 3-node triangle "t3" mesh.

fem_basis_t4_display, a MATLAB code which displays a basis function associated with a 4-node triangle "t4" mesh.

fem_basis_t6_display, a MATLAB code which displays a basis function associated with a quadratic triangle ("t6") mesh.

fem_io, a MATLAB code which reads and writes the node, element and data files that define a finite element model.

fem2d_pack, a MATLAB code which is useful for 2d finite element calculations.

fem2d_sample, a MATLAB code which evaluates a finite element function defined on an order 3 or order 6 triangulation.

polygonal_surface_display, a MATLAB code which reads two files defining a polygonal surface and displays it within MATLAB.

quad_surface_display, a MATLAB code which reads files defining a 3d quadrilateral mesh surface and displays it within MATLAB.

tri_surface_display, a MATLAB code which reads data defining a triangular mesh of a 3d surface and displays it.

triangulation_order6, a directory which contains a description and examples of order 6 triangulations.

triangulation_order6_contour, a MATLAB code which can make contours of a scalar quantity defined on the nodes of an order 6 triangulation.

triangulation_plot, a MATLAB code which creates an eps image of a triangulation.


  1. Klaus-Juergen Bathe,
    Finite Element Procedures,
    Prentice Hall, 1996.
  2. Eric Becker, Graham Carey, John Oden,
    Finite Elements, An Introduction, Volume I,
    Prentice-Hall, 1981.
  3. Herbert Edelsbrunner,
    Geometry and Topology for Mesh Generation,
    Cambridge, 2001,
    LC: QA377.E36,
    ISBN: 0-521-79309-2.
  4. Max Gunzburger,
    Finite Element Methods for Viscous Incompressible Flows,
    A Guide to Theory, Practice, and Algorithms,
    Academic Press, 1989,
    LC: TA357.G86.
  5. Gilbert Strang, George Fix,
    An Analysis of the Finite Element Method,
    Prentice Hall, 1973,
    LC: TA335.S77.

Source code

Last revised on 26 April 2019.