江西省高安市宜春幼兒師范高等??茖W校初等教育學院 黃 淵
達到最小。如果 關于b 是非線性函數,那么稱這樣的曲線擬合為非線性曲線擬合。
對于非線性曲線擬合,數學軟件Matlab 提供了nlinfit 函數,它的調用格式為:
其中,b0為待定參數b 的初始值,其他的含義參見文獻[1]第71頁。關于初始值,一般要根據函數模型的數學意義和實際意義來猜測b0,這往往是比較困難的事,而且大部分數學建模教材通常直接給出初始值,不會解釋初始值是怎么來的。所以筆者在給大專生講授此內容時也直接給出初始值,但學生不易接受。
由于非線性曲線擬合實際上是一個無約束優化問題,即
決策變量是擬合函數 含有的待定參數b,因此可以用Lingo軟件來解決。下面舉一個例子。
例:給藥方案制定問題,詳細介紹參見文獻[2]第145 頁。
模型假設:
[1]機體看作一個房室。
[2]藥物進入機體到分布均勻所需的時間不計。
[3]藥物排出速率與血藥濃度成正比,比例系數 。
下面通過非線性擬合求出參數 。
在Lingo 軟件中輸入以下程序:
在Matlab 軟件中輸入以下程序:
運行程序,得到散點圖和擬合曲線圖如下:
假設:
每次注射劑量D,間隔時間。
將代入計算得:
故可制定給藥方案:
即首次注射 mg,其余每次注射 mg,注射的間隔時間為 h。
用Lingo 軟件求解非線性曲線擬合,不需要給定初始值,彌補了Matlab 軟件的不足,同時,程序簡單,結果可靠,是求解非線性曲線擬合的一種比較好的方法,但是Lingo 軟件不會作圖,無法展示散點圖和擬合曲線圖,此時可借助Matlab 軟件來解決。綜上所述,對于求解非線性曲線擬合,最好將Lingo 軟件與Matlab 軟件兩者結合起來使用,各取所長。