1.17k likes | 1.44k Views
Matlab 簡 介. 王 偉 仲 國立臺灣大學數學系 版本 : 2009/02. Ask Questions, Find Answers, Enjoy the Journey!. For a Better Future of Human Beings. 明天的天氣如何 ? 癌症可以治癒嗎 ? 為什麼人會興奮會悲傷 ? 如何有效利用自然能源 ? 人類對事物的了解尚未完整, 人類對未知的探索從未停止。 好奇心驅使我們向前, 科學方法協助我們釐清真相。 追求美好未來的腳步不曾停歇, 此時此刻也不例外。. 第三種科學方法. 理論 實驗 計算. 計算科學.
E N D
Matlab 簡 介 王 偉 仲 國立臺灣大學數學系 版本: 2009/02
Ask Questions, Find Answers, Enjoy the Journey!
For a Better Future of Human Beings 明天的天氣如何?癌症可以治癒嗎?為什麼人會興奮會悲傷?如何有效利用自然能源?人類對事物的了解尚未完整,人類對未知的探索從未停止。好奇心驅使我們向前,科學方法協助我們釐清真相。追求美好未來的腳步不曾停歇,此時此刻也不例外。 W. Wang
第三種科學方法 • 理論 • 實驗 • 計算 W. Wang
計算科學 • 以科學和工程知識描述問題與釐清所需資料 • 以數學和統計知識設計模型 • 以數值分析知識設計與分析演算法、發展數學軟體、估計誤差 W. Wang
計算科學 • 統合科學、數學、電腦知識實作數學軟體 • 聰明的使用數學軟體分析數學模型 • 跨領域 (interdisciplinary) 學科,需要合作 • Computational Science, SIAM Review, vol. 43, no. 1, 2001 W. Wang
科學與工程 應用數學 資訊科學 計算科學架構
0 與 1 的世界 (續) • 二進位 • 電腦怎麼樣‘寫字’ (ASCII, Unicode) • 電腦為什麼會唱歌 (聲源,取樣,頻率) • 電腦怎麼樣秀圖 (資料視覺化,影像處理) W. Wang
為什麼會有誤差? • 電腦使用二進位 (0 or 1) 來表示數目 • 截斷誤差 (Truncation error) • 捨入誤差 (Rounding error) W. Wang
二進位 (binary) • 十進位數字: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 • 二進位數字: 0 (off, 開), 1 (on,關) • 十進位位值 • 二進位位值 • 整數十進位與二進位互換 W. Wang
以二進位儲存整數 • 二進位可以無誤差的表示所有整數 • 但是,電腦只能用有限大小的記憶體來儲存整數 • 因此,電腦只能表示某些範圍的整數 • 例如:以 16 位元大小可表示從 -32768 到 32767 的 65536 個整數 W. Wang
以二進位儲存整數 (續) • 假設 b 是一個二進位的位元符號 • b=0 或 1 W. Wang
以二進位儲存整數 (續) W. Wang
以二進位儲存非整數 • 基本想法 W. Wang
以二進位儲存非整數 (續) • (0.8125)10 = (?)2 W. Wang
以二進位儲存非整數 (續) • (0.1)10 = (?)2 W. Wang
以二進位儲存非整數 (續) • 雙精準浮點數 W. Wang
以二進位儲存非整數 (續) • 雙精準浮點數數線 W. Wang
程式中的 bugs • 一般軟體:每 1000 行程式約25個錯誤 • 好的軟體:每 1000 行程式約 2個錯誤 • 太空梭軟體:每 10000 行程式小於1個錯誤 • 手機程式約20萬行程式,約有600個錯誤 • Windows 95:約1千萬行程式, 小於20萬個錯誤 • Intel: Pentium 晶片中小於 80-90個錯誤 W. Wang
亞利安5號(Ariane 5)無人火箭 • 歐洲13國投入超過80億美元研發十年成果1996年6月4日,於法屬圭亞那首度發射 • 載有價值5億美元的4顆科學衛星,準備探討地球磁場與太陽風的關係 W. Wang
亞利安5號 (續) • 發射後約40秒,3700公尺高處爆炸!http://www.youtube.com/watch?v=kYUrqdUyEpI • 發生什麼問題? W. Wang
亞利安5號 (續) • 慣性參考系統軟體出錯 • 紀錄側向速度的64位元浮點數,在慣性參考系統軟體中,被轉換成16位元的整數 • 但卻超過其所能表示的最大數 (32,767) • 慣性參考系統因此被認定故障,向主電腦送出錯誤信號,並自動關機 W. Wang
亞利安5號 (續) • 控制火箭主電腦,錯把錯誤訊息當成火箭當時的火箭狀況參數,做出不必要的方向修正與旋轉 • 推進器與火箭因而被空氣動力裂解 • 終於導致安全系統啟動,自動引爆 W. Wang
失敗從未阻止人類向前 夢想要被實現
波音 777 • 全世界第一款完全以電腦技術設計的民用飛機 • CATIA(Computer-aided Three-dimensional Interactive Application) • 空氣動力、複合材料、控制系統、發動機… • 數值偏微分方程解、超大型矩陣計算、最佳化問題、實驗設計… W. Wang
飛翔與奔馳 • Air Dynamicshttp://www.youtube.com/watch?v=1mm8raOaOIU • The BMW Sauber F1 Team wind tunnelhttp://www.youtube.com/watch?v=I_7-W6X23-I&feature=related W. Wang
風洞 • Wind Tunnelshttp://www.youtube.com/watch?v=5RJwUMLu2Zg • Pagani Zonda F wind-tunnel testinghttp://www.youtube.com/watch?v=2CYUuBiW_lY&feature=related • how wings work? Smoke streamlines around an airfoilhttp://www.youtube.com/watch?v=6UlsArvbTeo&NR=1 • Airfoil Stall CFDhttp://www.youtube.com/watch?v=SffugtkQbfA&feature=related W. Wang
模擬 • CFD simulation of vortex sheddinghttp://www.youtube.com/watch?v=P8VcZzgdfSc&feature=related • Wake Turbulence Testhttp://www.youtube.com/watch?v=JYEqB1RR9hw&feature=PlayList&p=71369B28D0ED19CB&index=6&playnext=4&playnext_from=PL • Flow Studyhttp://www.youtube.com/watch?v=ouF9Xkoi3uk&feature=PlayList&p=71369B28D0ED19CB&index=7&playnext=5&playnext_from=PL W. Wang
科學與工程 應用數學 資訊科學 計算科學架構
大綱 • Matlab 基本介紹 • 陣列運算 (向量與矩陣) • 資料視覺化 (二維與三維繪圖) • 程式寫作 (正確, 效率, 穩定) • 數學演算法, 電腦硬體架構 W. Wang
1 unit 驅動問題 • 以蒙地卡羅法求 值 • 了解問題 • 擬定策略 • 編寫程式 • 顯示圖形 • 執行程式 • 分析數據 W. Wang
自學資源 • MATLAB程式設計【入門篇】作者 / 張智星清蔚科技 出版ISBN:986-80131-2-7 http://www.terasoft.com.tw/books/books_1.asp範例程式碼:http://neural.cs.nthu.edu.tw/jang/books/matlabProgramming4beginner/cdrom/matlabProgramming4beginner/example投影片: http://neural.cs.nthu.edu.tw/jang/books/matlabProgramming4beginner/cdrom/matlabProgramming4beginner/slide部分習題解答與補充題: http://neural.cs.nthu.edu.tw/jang/books/matlabProgramming4beginner-exercise • >> demo • Gerald Recktenwald 投影片http://www.prenhall.com/recktenwald • 其他線上教學資料。例如http://www.mines.utah.edu/gg_computer_seminar/matlab/matlab.html W. Wang
在視窗系統中啟動 Matlab W. Wang
什麼是 Matlab? • MATLAB = MATrix LABoratoryMathworks: http://www.mathworks.com • 主要設計理念: • 以矩陣為基礎的數值計算 • 高階程式語言 • 圖形與資料視覺化 • 各種應用工具箱 W. Wang
什麼是 Matlab? (續) • 跨平台支援 (PC / Macintosh / UNIX) • 存在與其他程式語言或儀器介面 • C, Fortran (MATLAB is callable) • 外部資料輸入輸出功能 • 大小寫在 Matlab 中視為不同字元(例如:mtxA ~= MTXA) W. Wang
計算機 W. Wang
計算機 (續) • a = 2; • b = 5; • a^b • ans = • 32 • x = 5/2*pi; • y = sin(x) • y = • 1 • z = asin(y) • z = • 1.5708 • -5/(4.8+5.32)^2 ans = -0.0488 • (3+4i)*(3-4i) ans = 25 • cos(pi/2) ans = 6.1230e-017 • exp(acos(0.3)) ans = 3.5470 W. Wang
Matlab 的內建常數 W. Wang
Matlab 的內建函式 W. Wang
生存法則:尋找關鍵字 W. Wang
生存法則:線上救援 W. Wang
生存法則:尋找程式碼 • To see the code (of function fzero):>> type fzero • To find out where the code is:>> which fzero W. Wang
利用分號隱藏輸出 W. Wang
單行多敘述 (指令) W. Wang
核磁共振影像 W. Wang