MATLAB程式設計

Matlab為眾多高階語言中的一種,其優點為語法簡單、強大的數學能力與圖形支援,適合從事演算法開發、數據分析、科學(數值)計算、多媒體(影音)處理與自動化處理等需求的科學家和工程師使用。除了高效能的矩陣運算與豐富的繪圖能力外,Matlab亦提供豐富的函式庫,可快速建立使用者介面與跨平台呼叫他類語言編寫的程式。本課程將完整介紹Matlab的語法與重要的程式設計概念,輔導學員可以獨立完成Matlab程式撰寫,以利解決自己的研究課題;更希望透過本課程傳授的內涵,強化學員在資訊領域內的自我學習能力。

% 小提醒
1) 本課程將配合課程安排需要,僅介紹部份工具箱(toolboxes),如偏微分方程式 (PDE solver)、最佳化 (optimization toolbox)等等。
2) 俗話說:給你魚吃(現成答案),不如給你一個釣竿(使用工具)。我說:給你一個釣竿,不如教你怎麼做釣竿(創造工具)。
3) 為了確認學員可能掌握基本程式能力,從280期開始,在第五堂課(約略是講完函數之後)結束後,會進行一次小考。學員可在該次測驗中檢視自己學習成果。

課程大綱

% Essentials
1. Computer science basics: history, computation model, algorithms
2. Variables, data types, operators, vectorization
3. Common data structures: arrays, cells, structures
4. Flow controls: selections, repetitions, error handling
5. Analysis of algorithms, performance analysis, and speedup
6. Functions and recursion
7. 2D/3D graphics
8. File I/O
9. Matrix computation
10. GUI design tutorial
11. Simulink tutorial
12. Symbolic programming tutorial
13. Parallel computing tutorial

% Applications (下述項目將以簡單的模型當作範例作為課堂教材。)
1. Numerical methods: finite difference, numerical integration, method of least squares, interpolation, polynomial fitting
2. Digital image processing
3. Computational statistics: Monte Carlo simulation, principal component analysis (PCA)
4. Optimizations
5. Financial computing: IRR, prices on derivatives, VaR
6. Machine learning and data mining: K-mean, SVM

註1:updated on 2018/6/5
註2:夜間班以期末專題為評分依據;密集班以期末考為評分依據。

  • 房貸精算、紅外線成像晶片抓壞點、信用風險模型、油壓被動阻尼的計算(101大樓防風抗震技術)、主動濾波器的阻抗匹配 (impedance matching for power amplifier)、PET-MRI、Capital Asset Pricing Model (CAPM)、圖論應用於台指與電網分析、高頻被動元件模擬 (S21 parameters與curve fitting)、主動濾波器設計 (Butterworth filter)、模擬Van der Waals Equation、利用蒙地卡羅計算連動債價值、以MATLAB進行鋰離子正極電池之充放電數據整理與壽命預測、Semiconductors Band Diagram by using MATLAB、Signal Integrity Analysis、有限元素法 (finite element method)計算應力問題、多維無阻尼震動之特徵頻率 (modal analysis)


註3:課程教材主要以英文為主,授課過程以中文為主。英文目前仍為科技領域主要語言,想長期進入資訊領域者,應具備"透過英文學習"的基本能力。

適合對象

1. 無程式撰寫經驗的程式初學者 (本課程使用較多數學與演算法,故學員須具備高中數學程度,例如:向量、矩陣、線性方程組);或是自行參考Essence of linear algebra by 3Blue1Brown。)
2. 有繪圖、自動化處理或科學/工程計算等之需求者

開發環境

MATLAB R2010b or later

近期班次

  • 第303期 開課日期:2018.08.27 招生中

    上課時間:每週(一)(二)(三)(四)(五)
    9:30 AM ~ 12:30 PM
    上課日期:2018.08.27 ~ 2018.09.07
    學費:新生新台幣5000元整

    詳細資訊

  • 第304期 開課日期:2018.08.29 招生中

    上課時間:每週(三)(六)
    7:00 PM ~ 10:00 PM
    上課日期:2018.08.29 ~ 2018.09.29
    學費:新生新台幣5000元整

    詳細資訊

  • 注意事項

    • 上課地點:台灣大學資訊工程學系系館 詳細位置;教室號碼將於開課前一日公佈於官網"最新消息"中。
    • 上課教材:開課後將公布教學網站給同學查閱。
    • 結業狀況:請上官網”結業名單”查閱是否合格及可領取證書進度。

    講師介紹

    • 臺灣大學資訊工程學系 博士班
    • 交通大學電信工程研究所 碩士
    • 中央大學電機工程學系 學士

    // 服務經驗

    • 在本班已教授超過90個班,累計教學時數2,700個小時
    • 國立台灣大學 腦與心智科學研究所 兼任研究助理 (2014.8--present)
    • 中國信託商業銀行 全球金融商品交易處 期貨自營部 實習研究員 (2014.1--present)
    • 國立台灣大學 資訊工程學系 資訊系統訓練班 講師 (2014.1--present)
    • 國立台灣大學 資訊工程學系 課程助教:計算理論、離散數學、財務演算法 (2012.9--present)

    // 研究興趣

    • Financial computing
    • Analysis and design of algorithms
    • Quantitative finance, econometrics, and algorithmic trading
    • Statistics and machine learning
    • Computing theory and programming language design

    // 程式語言

    • MATLAB, Java, C, C++, Python

    // 教學特色

    • 中文授課,課程教材以英文為主。適合規劃出國求學或對科學/技術理論有興趣的學員。