Document 7652964

Download Report

Transcript Document 7652964

NUMERICAL LAB
TOOLBOX
摘要
一般大學數值方法與分析課程中所使用的教科書對數值分法
與分析的闡釋太過靜態與單調,並無法有效引起學習者之學習興
趣。此外在有限的教學時間內,面對眾多的內容學習者越來越無
法領會其中的奧妙。因此,本論文根據建構主義學習理論與電腦
輔助教學原理,設計一MATLAB工具箱軟體—數值實驗室
(Numerical Lab Toolbox),並以之為輔助教材來輔助教學活動,
結果的確提升了學生的學習興趣。本數值實驗室內容共分九章,
二十五個主題,每個主題皆以圖形使用者界面(GUI)來設計,
使得軟體操作更具親和力且簡易,透過數據的幾何化與視覺化,
讓學習者更能容易的了解數值方法與分析。目前此類數值方法與
分析的CAI軟體十分稀少,本論文所設計的軟體配合一般數值方
法與分析之教科書可有效地達到教學目標,希望能廣為大專院校
教授此學門時參考與採納。配合網路的發展,未來希望透過網路
CGI功能來連結執行數值實驗室,或者研發本軟體之Java版本,以
嘉惠網上的學習者。
內容
第一章
第二章
第三章
第四章
緒論
數值實驗室
軟體展示:一些例子
結論
第一章 緒論
1.1 研究動機
1.2 MATLAB綜覽
1.3 建構主義
第二章 數值實驗室
2.1 特色
2.2 內容與結構:分成九章,共25個主題
2.3 遭遇到的困難
第三章 軟體展示
1. 牛頓法求單變數方程式之根
2. Bezier curve 之 tracing point
3. Composite Simpson’s integration
4.四次 Adams Bashforth: 不穩定現象
5. 1-Norm 與 eigenvalue, eigenvector
6. Step function 之離散傅氏級數逼近
7. Steepest descent
8. Shooting method 解 ODE BVP
第四章 結論
本數值實驗室配合數值方法與分析課程作為學生之輔助
教材,雖沒有經過正式統計分析,但大致可觀察出學生之
學習興趣有所提升。未來希望能提供給國內外大專院校數
值方法與分析課程當做輔助教材,及進一步調查與分析提
升學習的效果如何,以玆下一版本改進之用。此外,本軟
體除開放予外界試用,以搜集反應外,尚希望學界對此有
興趣者,能提供素材及意見,一起投入研發本軟體之後續
版本。此乃鑑於國內CAI軟體發展者,往往單打獨鬥,無法
群策群力。以致功能類似的小軟體林立,而又無法繼續成
長茁壯,甚是可惜,以致國內CAI軟體市場為國外產品所宰
制。再者目前網路非常發達,未來希望透過網路CGI功能來
連結執行數值實驗室,或者研發本軟體之Java版本,以嘉惠
有心上網的學習者。
注意事項

Numerical Lab ToolBox 只適用於MATLAB 5,其
中有些主題需要 Symbolic Math ToolBox.
研究動機(一)




在有限的教學時間內,初學者無法領會數值方法與分析中眾多
的內容.
一般教科書不是偏重理論分析缺乏範例,就是附上一些靜態的
圖片加上文字敘述,初學者不易掌握其中精髓.
學生有時需撰寫程式實習之,使得拙於程式語言習作的學生興
趣缺缺.
依據電腦輔助教學原理(CAI)與建構主義(constructivism)之教育
理念,設計一MATLAB工具箱軟體-數值實驗室(Numerical Lab
Toolbox).
研究動機(二)








放棄以FORTRAN或C++語言,改採數值導向數學軟體
中的MATLAB做為設計及執行平台,亦即本軟體以一
MATLAB工具箱形式呈現.
採用MATLAB設計之原因:
可應付一切設計上的需要.
MATLAB語言撰寫十分人性化與容易.
MATLAB有廣大的使用群.
具有符號運算能力.
價格一般大專院校均可負擔.
圖形使用者介面(GUI)設計特別容易.
MATLAB之特色
1.
2.
3.
4.
5.
6.
7.
8.
數值計算與繪圖功能強大.
高階、簡單的直譯式程式環境.
開放及可延伸的架構.
豐富的程式工具箱.
市場佔有率大.
方便使用之內建編輯器Meditor.
圖形使用者介面設計簡便.
可轉成MEX檔(MATLAB),DLL檔(VB,EXCEL,DELPHI)
,EXE檔(C++).
9. 與文字處理軟體溝通容易.
10. 平行化.
11. WWW化.
建構主義
理論:解釋知識是什麼和學習是什麼.
 主張:學習者由被動接受知識轉為主動建
構知識.
 傳統觀念與建構觀念之比較.
 建構論的教學策略:以學生為主的教學活
動.

傳統觀念與建構觀念之比較
傳統觀念
建構觀念
學生如白紙
學生非白紙,已有很多知
識與經驗
學習是主動建構知識
學習是被動吸收知識
學習是在儲存真理和發現 認知在適應,不是在發現
真理
真理
知識的意義在文字或言語 知識的意義是社會互動所
之中
達成的共識
教學在講解知識或真理 教學在促進學習者知識的
建構
數值實驗室之特色
1. 提供個別化學習環境.
2. 提供教師動態與互動地展示數值方法及
分析之原理與結果.
3. 提供不受人性干擾的學習環境.
4. 具有趣味性與參考性.
5. 提供反覆、多樣性地實驗數值方法的環
境.
數值實驗室之內容與結構(一)

軟體外觀
數值實驗室之內容與結構(二)
第一章 數值方法與分析之數學預備知識
1. 捨入誤差的影響
第二章
1.
2.
3.
4.
5.
單變數方程式的解
二分法(bisection method)
固定點迭代法(fixed point iteration)
牛頓法(Newton-Raphson method)
正割法(secant method)
試位法(method of false position)
6. Logistic map
數值實驗室之內容與結構(三)
第三章
1.
2.
3.
4.
內插法與多項式逼近法
拉格朗吉(Lagrange)多項式內插法
用多項式或分段多項式做函數內插
單調遞增離散數據點之內插
離散數據點之參數化內插或逼近
第四章
1.
2.
3.
數值微分和積分
有限差分數值微分的不穩定性
基本數值積分方法
複合數值積分法(composite numerical integration)
數值實驗室之內容與結構(四)
4. 調適數值積分法(adaptive quadrature)
5. 高斯積分法(Gaussian quadrature)
第五章 常微分方程之初值問題
1. 解常微分方程之初值問題
2. 解常微分方程組之初值問題
第六章 數值線性代數
1. 向量和矩陣之範數(norm)
2. Gerschgorin 圓定理
數值實驗室之內容與結構(五)
第七章 逼近理論
1. 最小平方法
2. 正交多項式和傅氏級數
第八章 非線性方程組之數值解
1. 非線性方程組織數值解
2. 最速下降法(steepest descent techniques)
第九章 常微分方程之邊界值問題
1. 利用射擊法(shooting method)、有限差分法
解常微分方程之邊界問題
數值實驗室設計遭遇之困難
1. MATLAB zoom功能改良
2. 微分方程式初值問題的數值方法中相關
的A-穩定區域(A-stability region)
3. Bezier曲線之tracing point
4. 方向場(direction field)
5. MATLAB ginput 功能改良
MATLAB zoom 功能改良

MATLAB zoom會清掉圖形物件屬性中
erasemode是xor去掉.
 當圖形放大時,函數圖形會隨之喪失解析
度而變得不夠精確.
 設計myzoom.m以解決上述問題.
A-穩定區域(A-stability region)

微分方程初值問題之數值方法中,穩定性是一重
要課題,吾人需研究每種方法之A-穩定區域。
–如Runge-Kutta method之A-穩定區域。

利用MATLAB可輕易計算並繪出A-穩定區域,
這在其他軟體環境下可能相當困難。
Runge-Kutta method之A-穩定區域
Bezier曲線
Bezier 曲線之 tracing point
Bezier曲線亦可由tracing point來表達,當選定參數時,利用
每一邊的比為選取中間點再連成線段,如此重覆進行即可得到在
Bezier曲線上之tracing point。以4個控制點即3次之Bezier曲
線,t=0.4為例,如下圖。當從0變化至1,其tracing point即可描
述出整條Bezier曲線,此tracing point之原理與演算法係根據de
Casteljau’s algorithm
方向場(direction field) (一)
利用MATLAB中的quiver,使我們能夠畫出解微分方程
初值問題中函數的方向場,以便對照數值解的軌跡方向
是否符合方向場所指示的方向。
方向場(direction field) (二)
下圖為dy/dx=y-x^2+1之方向場: