Posted on

NUS Module Review: IT1006 MATLAB Programming for Mathematics

This course is the fundamental programming course using the MATLAB software, which is used in a wide range of mathematical applications. The first half of the course is similar to that of IT1005, but the next half will focus on mathematical problem-solving.

The first few lectures will introduces the basic interface and functions of MATLAB, matrix computations and control flow commands. This will all be used in the top-down designing of MATLAB programmes to solve simple mathematical application problems. Graphical tools will cover translating codes and equations into customized graphs for visualization, whereas user-defined function covers the implementation of customized MATLAB functions built upon existing functions and commands. User-defined functions are especially useful for problem-solving because each function can be designed specifically to tackle particular mathematical problems.

The later parts of the course focus on different types of computation problems encountered in the field of mathematics. The first of these is to design algorithms to solve iterative problems numerically. Next, polynomials and general equations are tackled in various manner, and students will be required to design their own for lab problems. In general, there are many methods to code such algorithms, so as long as the codes withstand the troubleshooting done by tutors, you can get a good mark for lab. Do take note that the fresh codes are more often than not, bugged, so running the code on crazy equations or big numbers can further ensure the versatility of the code. Running codes without semicolons is by far the easiest way for a step-by-step debugging if you’re familiar with the equations on paper.

Numerical differentiation and integration will require a lot of familiarity various techniques of differentiation learn in JC for implementation in matrix form. Getting a one-size-fit-all code is often a tedious process, so it is recommended that you get a copy of MATLAB on your computer so that you can practice coding for the practical examination. The last topic on initial value problem will require all the codes you constructed because some of the require codes are not predefined, but were used as examples or practices in the previous labs. Do not delete the codes you have constructed for earlier labs because you will need it for later labs.

On the whole, this is a very applied-based course, and practical implementations of codes are emphasized and will be examined. However, the midterm and final examination is written, so it will be very different from practical examination because there is no way to test and debug the code you have written on paper. So it is best to be familiar with both written and actual implementation of the codes.