Introduction to MATLAB Programming with Applications

Location: Room 108, 德田館
Time: 1330 ~ 1715


``All science is dominated by the idea of approximation.''
-- Bertrand Russell (1872-1970)

Instructor Information

Recording Classroom Lectures Policy Recording of classroom lectures is prohibited unless advance written permission is obtained from the class instructor and any guest presenter(s).

Objectives

Prerequisites

Text

Overview

The major topics covered in the short course, if time permitting, are listed below for your reference.

Essentials

Selected toolboxes

You could see the complete list of toolboxes offered by MATLAB. If you want a trial version of MATLAB, please check this page. After you evaluate MATLAB and you think it benefits your work (or you may try another reason: MATLAB vs. Python: Top Reasons to Choose MATLAB), I strongly recommend tha you could purchase MATLAB by visiting the page how to buy. If you cannot activate MATLAB in our classroom, update its license by using network.exe.

Schedule [ 236, 237, 238, 242, 244, 245, 247, 249, 251, 252, 253, 254, 256, 258, 260, 261, 262, 263, 264, 265, 266, 268, 272, 273, 275, 277, 279, 280, 281, 282, 283, 288, 289, 294, 295, 296, 297, 303, 304, 306, 307, 311, 317, 318, 322, 323, 334 ]

Date Summary
2020.8.31
  • Syllabus: grading policy, algorithm, working environment
  • Data, data type, and vectorization
    • Variables and data types (integers, floats, strings)
    • Numerical errors: finite precision
    • Assignment operator (=) with a simplified memory model
    • Arithmetic operators (+, −, *, /, ^)
    • Arrays (aka vectors and matrices)
    • Vectorization: element-by-element operations
    • String and dates
    • Rational operators (<, ==, >) and logical values
    • Logical operators (~, &, |) and quantifiers (all, any)
  • Market data of Taiwan Stock Exchange (from TEJ)
2020.9.1
  • Flow controls
    • Selections (&&, ||, if-elseif-else, switch-case-otherwise)
    • Loops (for, while) (also try this game)
    • Numerical examples: Monte Carlo simulation, bisection method for root-finding
    • Jump statements (break, continue)
    • Nested loops
2020.9.2
  • Flow controls (cont'd)
    • Two common algorithms: sorting and random permutation
  • Performance analysis
  • Plotting
    • 2D charts: line, bar, dual y-axis chart, histogram, stackedplot (feat. table), candle plot (feat. timetable), fplot, error bar, pie, word cloud, subplot, quiver, contour, worldmap & geoshow (see tw_map.pdf)
2020.9.3
  • Plotting (cont'd)
  • Functions
    • User-defined functions
    • Call stack and variable scope
    • Debugger
    • Primary function with helper functions
    • Function handle and anonymous function
    • Error and error handling (try-catch)
  • Special issue: text processing
    • Regular expressions
  • Special issue: file operations & other I/O
    • Spreadsheets: excel, csv
    • File operations
    • Mat file
    • Example: data pooling
2020.9.7
  • Midterm exam
2020.9.8
  • Matrix computation
    • Vectors and matrices
    • Inner product: projection
    • Linear transform: basic concepts of linear algebra (vector space, linear independece, span, basis, dimension)
    • Solving a system of linear equations: inverse matrix
    • Example: 2D Laplace PDE boundary value problem by finite difference method (code: fdm_example.m; see partial differential equation toolbox, which uses finite element method; check out these slides)
    • Example: polynomial regression by least square error method (also watch using the normal equations to find least-squares solutions; see curve fitting toolbox)
    • Digression: overfitting
    • Polynomials in vector form
      • Convolution
      • Root-finding example: internal rate of return (IRR)
      • Polynomial derivatives and integration
    • Eigenvalue problem
    • Singular value decomposition (SVD)
      • Example: image compression by Principal Component Analysis (PCA) (code: svd_example.m)
2020.9.9
2020.9.10

Sample code

Interesting topics for final projects

Gradebook

References

MATLAB

Linear algebra

Numerical analyses and methods

Data mining and machine learning

Optimization

Simulink