Using MATLAB as an Exploration Tool in Numerical AnalysisJoan Weiss, Mathematics, Fairfield University
After completing my doctorate in 1979 I have been tenured by two institutions to be the lone Numerical Analysis instructor. So in nearly forty years I have taught a Numerical Analysis course in over thirty semesters. Nearly every course has been a mathematics/computer science major upper level elective. My recent three offerings have been to a class of upper level undergraduate mathematics majors and master's mathematics graduate students. For about the first ten years I required the students to write Fortran or Pascal code for each numerical algorithm and/or use ISML routines. About twenty-five years ago Numerical Analysis texts started to be accompanied with the numerical algorithms on a disk or CD coded in Fortran and Pascal. The variety of software options has expanded to include C, C++, Mathematica, Maple and MATLAB and the coded numerical algorithms are now downloadable from the web.
Students may learn a bit more about a numerical algorithm by coding it, but for most students coding numerical algorithms is extremely time consuming. In my opinion the students' time is better spent analyzing output generated by coded algorithms. It allows them to see the effectiveness (accuracy) of an algorithm for solving various problems and to compare the performance of several algorithms on the same problem. So for the past twenty plus years my Numerical Analysis students have investigated the robustness of numerical algorithms by using the coded algorithms that accompany our text. We've used Pascal, Mathematica or MATLAB depending on the availability of the complier/software on campus. Because on my campus MATLAB is available to all enrolled students, this fall my Numerical Analysis students will use the numerical algorithms coded in MATLAB.
Numerical analysts, when posed with a problem, will often analyze it graphically or numerically in order to get a clue for how the problem may be solved or reason(s) for unexpected results. For example, we'll write a short script to generate or plot data in order to get an idea for how to solve the problem or what is causing the errors we might be experiencing as we attempt to solve the problem. This semester I will initiate short assignments that encourage my students to use MATLAB to explore mathematical concepts and tackle problems, i.e. to mimic numerical analysts, and use computation as a learning and investigative tool. They will be assigned to use MATLAB as an exploratory tool to investigate and better understand mathematical concepts and input and a solution for a problem. They will need to write short scripts or functions to help them explore the behavior of functions, compare output data, graphically analyze performance, etc. These "MATLAB Exploration" assignments will ideally encourage students to use MATLAB as a tool to investigate mathematical concepts in order to improve their understanding of the mathematics and hence to become better problem solvers.