In many fields, such as non-ferrous metals, transportation, chemistry and chemical engineering, aviation and aerospace, financial engineering and bio-medicine, computational challenged are often encountered. For example, we may come across linear and non-linear equations with dozens of variables and complex differential equations, which are known for their complexity and require large amounts of computing to solve. Give the overwhelming computational task, theoretical solutions tended to be unobtainable. However, thanks to the rapid development of computer technology, such challenge now can be effectively met, giving rise to a new interdisciplinary subject known as scientific computing, which has become the third scientific research method after theoretical research and scientific experiment.
Scientific computing aims to provide approximation method to solve engineering and technical problems and other application-based problems through computer programming. It features not only abstractness and rigorousness that characterize mathematics, but also the practicability characterizing computer programming. Thanks to scientific computing software such as MATLAB, it has been convenient and efficient for people to deal with scientific computing problems since the 1980s.
As one of the best scientific computing software, MATLAB integrates the functions of numerical computing, computer algebra, graphic processing, system simulation and program flow control into a unified system environment. It has developed into a programming language widely used in interdisciplinary engineering and scientific research. With the help of MATLAB, people do not need to pay attention to the specific details and calculation formulas which are required by numerical computing methods, nor do they need complicated bottom-level programming. In this way, more efforts can be put into analyzing practical problems and designing solutions, thus greatly improving the efficiency and quality of work and providing an important new approach for scientific research and application-based engineering. In colleges and universities, MATLAB has become a basic computing tool which is enthusiastically embraced in courses by college students and graduate students.
This course is divided into 10 chapters focusing on scientific computing with MATLAB. The 10 chapters are as follows: Basic Knowledge of MATLAB, Manipulating MATLAB Matrices, MATLAB Program Flow Control, MATLAB Plotting, Data Analysis and Polynomial Evaluation, Numerical Calculus and Equations, MATLAB Symbolic Computations, MATLAB Graphical User Interface Design, Simulink System Simulation and External Program Interface.
We hope that every student can understand the mathematical background and algorithm principle supporting MATLAB functions through studying this course. Also, students are expected to be able to solve problems with MATLAB and use it as a tool for professional application, thus freeing themselves from heavy computing works. As such, the combination of computer and professional application will be promoted, giving a boost to students’ mastery of professional knowledge as well as their skills in computer application.
Chapter 0 Getting into MATLAB
Course Introduction
Chapter 1 Basic Knowledge of MATLAB
1.3 Variables
1.4 MATLAB Matrix Representation
1.6 Basic Operations of MATLAB
1.2 MATLAB Numerical Data
1.7 String Processing
1.1 MATLAB System Environment
1.5 Matrix Elements Reference
Unit Test 1
Chapter 2 MATLAB Matrix Manipulation
2.2 Matrix Transformations
2.3 Matrix Evaluations
2.4 Matrix Eigenvalues and Eigenvectors
2.5 Sparse Matrices
2.1 Special Matrices
Unit Test 2
Chapter 3 MATLAB Program Flow Control
3.7 Recursive Call of function
3.2 Selection Structure with the if Statement
3.6 Definition and Call of Function File
3.4 Loop Structure with the for Statement
3.5 Loop Structure with the while Statement
3.3 Selection Structure with the switch Statement
3.8 Function Arguments and Variable Scope
3.1 Programming with Sequence Structure
Unit Test 3
Chapter 4 MATLAB Plotting
4.3 Other 2-D plots
4.7 Interactive Plotting Tools
4.1 2-D Line Plots
4.2 Formatting and Annotation
4.6 Graphics Decoration
4.5 3-D Surface Plots
4.4 3-D Line Plots
Unit Test 4
Chapter 5 Data Analysis and Polynomial Evaluation
5.1 Statistical Analysis of Data
5.4 Examples of Data Interpolation Application
5.3 Data Interpolation
5.6 Examples of Curve Fitting Application
5.2 Polynomial Evaluation
5.5 Curve Fitting
Unit Test 5
Chapter 6 Numerical Calculus and Solutions of Equations
6.2 Solve System of Linear Equations
6.1 Numerical Differentiation and Integration
6.4 Solve Nonlinear Equation and Find Extreme Value of Function
6.3 Application Examples of System of Linear Equations
6.6 Application Examples of Ordinary Differential Equations
6.5 Numerical Solution for Ordinary Differential Equations
Unit Test 6
Chapter 7 MATLAB Symbolic Computations
7.3 Series
7.4 Solving Symbolic Equations
7.2 Symbolic Calculus
7.1 Symbolic Objects
Unit Test 7
Chapter 8 MATLAB Graphical User Interface Design
8.1 Figure and Axes
8.6 Examples of App Development
8.2 Line and Surface
8.5 App Development Using App Designer
8.4 App Development Using GUIDE
8.3 Ways to Develop Apps
Unit Test 8
Chapter 9 Simulink System Simulation
9.4 Example of Simulink Simulation Application
9.3 Design and Application of the S-Function
9.2 Creation and Mask of Subsystem
9.1 Basic Operations of Simulink Simulation
Unit Test 9
Chapter 10 External Program Interfaces
10.3 Read and Write MATLAB Data Files From Other Language Applications
10.2 File Operations in MATLAB
10.5 Calling MATLAB Functions from Other Language Applications
10.4 Calling Functions in Other Languages from MATLAB
10.1 Using MATLAB within Excel
Unit Test 10
Advanced Mathematics, Linear Algebra
Liu W G. MATLAB Programming and Application (3rd Edition)(In Chinese). Beijing: Higher Education Press, 2017
https://ww2.mathworks.cn/support.html?s_tid=gn_supp
Lent C S. Learning to Program with MATLAB: Building GUI Tools. New Jersey: John Wiley & Sons, Inc., 2013
Moore H. MATLAB for Engineers(3rd Edition). New Jersey: Prentice Hall, 2012
Q1: Who are recommended to take this course?
A1: As one of a series of information technology courses jointly provided by colleges and universities, this course is recommended to both undergraduate and graduate students majoring in science, engineering, agriculture, medicine, economic management, etc. We also encourage people such as engineering and technical personnel and scientific research personnel to join in.
Q2: What version of MATLAB is used in this course?
A2: MATLAB R2016a. Students can choose other versions according to their preference, because most functions are the same in different versions. Yet, attention should also be paid as some functions may not work or be supported in other versions. In this case, students are recommended to use built-in Help to find differences between their and the R2016a version.
Q3: Do students need to learn computer programming before starting this course?
A3: No, but basic knowledge of advanced mathematics and linear algebra will be helpful.