EXM_2015
Experiments with Matlab
Senior Seminar in Scientific Computing
http://people.sc.fsu.edu/~jburkardt/classes/exm_2015/exm_2015.html
EXM_2015 is the home page for the class ISC4932,
"Experiments with Matlab", Senior Seminar in Scientific Computing,
an undergraduate seminar class offered by the Department of Scientific Computing
at Florida State University, Fall Session 2015.
This is a 1-credit seminar class, intended to introduce the students
to ideas, algorithms, and programs common to Scientific Computing.
The topic this semester will be numerical linear algebra.
The course is based on the book "Experiments with Matlab" by Cleve
Moler. Copies of this book may be downloaded from the MathWorks at
http://www.mathworks.com/moler/exm/chapters.html .
The class meets on ?days, from ?to?, in room ?.
Weekly class presentations will be chosen from the following topic list:
-
Iteration:
Iteration is a key element in much of technical computation.
Examples involving the Golden Ratio introduce the Matlab
assignment statement, for and while loops, and the plot function.
-
Fibonacci Numbers:
Fibonacci numbers introduce vectors, functions and recursion.
-
Calendars and Clocks:
Computations involving time, dates, biorhythms and Easter.
-
Matrices:
Matlab began as a matrix calculator. Here we consider how matrices
can be regarded as rules for combining vectors, and then look at
how a matrix can be used to describe simple operations on a picture,
such as shifting it to the left, enlarging it, or rotating it.
-
Linear Equations:
The most important tool in scientific computing involves setting
up and solving systems of linear equations. The solution of such
a system is a vector, and the coefficients are a matrix. This allows
us to look at such problems in a very general way, and to describe
techniques for solving a system, or for determining that a system
can't be solved.
-
Fractal Fern:
As an example of a linear transformation, we demonstrate how
a beautiful picture of a fern can be created by a simple
iteration.
-
Google PageRank:
In order to quickly deliver the most relevant pages in response
to a search request, Google has to solve the world's largest
matrix problem.
-
Exponential Function:
The exponential function is often defined using a limit process,
which Matlab can allow us to observe. The exponential function
is its own derivative, and we can use Matlab to try to check
this fact out. The exponential function can be used to model
population growth. When the function is used with a complex argument,
we get some new and interesting behavior.
-
T Puzzle:
A simple puzzle is made of four flat pieces of wood that can be
arranged to form the shape of the letter T. Since we know how
linear transformations work, we can actually ask the computer
to appropriately rotate, flip, or shift our initial layout so that
it can solve the puzzle for us.
-
Magic Squares:
Tables of numbers can be created whose rows and columns add up to
the same value. Because it can be quite difficult to create such
a table, they were often thought to have magical significance.
Matlab can quickly create magic squares of almost any size, and
because they are treated as matrices, it's possible to make some
interesting numerical observations on them.
-
TicTacToe Magic:
Three simple games are related in a surprising way. It's possible
to write programs that allow a user to interactively make the
choices at each step.
-
Game of Life:
Here is a game that allows you to place a pattern of dots on a
grid, and then watch as the dots "grow" or "die" following a
few simple rules. Once you get the hang of the rules, you can
create shapes that don't change, or that rotate, or even a glider
that gradually flies across the page.
-
Mandelbrot Set:
Fractals, topology, complex arithmetic and fascinating computer
graphics come together in what starts out as a simple exercise
involving the repeated squaring of numbers in the complex plane.
-
Sudoku:
Given a sudoku puzzle, a human will scan the grid for simple patterns;
an efficient computer program, however, will methodically ask a
long series of hypothetical questions that start out with
"Suppose I put a 1 here?" and keep going until the puzzle is solved.
-
Ordinary Differential Equations:
Things change! For many cases, there are mathematical models
that allow us to predict the future based on the current state
of affairs, and our understanding of how these laws of change work.
Here, we provide a simple introduction to such laws and how
they can be worked out on a computer.
-
Predator-Prey Model:
The simple exponential model of growth is unrealistic; for one
thing, eventually we will outrun our food supply. But another
effect arises when there are two species, one of which preys on
the other. In that case, the size of the two populations
can vary over time like dueling roller coasters.
-
Orbits:
One of the first clues to the laws of physics came from watching
the motion of planets in their orbits. Although the planets seem
to stay in their orbits without any help, a mathematical computation
of that same orbit can quickly pick up errors that send the planet
crashing into the sun. In this topic, we look at how to compute
orbits, how errors can creep in, and how we can ensure that the
planet stays on its correct path.
-
Shallow Water Equations:
The motion of a fluid is a very complex process; however, a
reasonable model exists for cases where the fluid is not very
deep; in that case, the shallow water equations can be used to
show how waves will travel across the surface.
-
Morse Code:
Morse code was once used for telegraphic communication; we can
draw a simple picture that illustrates the relationship between the
letters and the sequence of dots and dashes. The fact that the
symbols will be of different lengths can make it tricky to
efficiently store them (the problem becomes worse when trying to
store individual words from a text). We look at how Matlab's
cell array feature can handle this problem elegantly.
-
Music:
There is a mathematical system underlying the arrangement of the
keys on a piano. Using Matlab, we can actually see the sound
signal emitted by each key, and understand what harmony means.
Last revised on 12 March 2015.