轉(zhuǎn)載自http:///html/201106/3322831.html 本帖以8.0 版為例,舉例說明Origin中用戶自定義擬合函數(shù)的建立和使用,使得大家順利解決在實(shí)際問題中遇到特殊曲線的擬合問題。
7.5以前版本可參照:http://jpkc. ... ip/tip001.htm Origin 是一款科研和工程領(lǐng)域頗受歡迎的數(shù)據(jù)分析和繪圖軟件(A Date Analysis and Graphing Software)。 在數(shù)據(jù)分析功能中,它包涵了峰形分析、曲線擬合、統(tǒng)計(jì)、信號處理等功能。在曲線擬合功能中,用戶可以使用Origin自帶的內(nèi)置函數(shù)(Built-in Function),然而自帶函數(shù)不一定滿足實(shí)際需要,用戶還可以根據(jù)實(shí)際需求自定義擬合函數(shù),并使之進(jìn)行特殊形態(tài)曲線的擬合,得到用戶自己關(guān)心的曲線參數(shù)。 比如在介電材料的阻抗譜研究中,想知道Cole-Cole半圓與實(shí)部的兩個(gè)交點(diǎn),那么就需要知道這個(gè)半圓的方程,從而解出想要的參數(shù)。 這里以半圓形曲線擬合為例簡單介紹用戶自定義擬合函數(shù)(User Defined Fitting Function)的建立和使用。 建立用戶自定義函數(shù)的步驟: 1.選擇 Tools: Fitting Function Organizer (快捷鍵F9) ,打開 Fitting function organizer. 單擊 New Category 按鈕,創(chuàng)建一個(gè)函數(shù)類,可以根據(jù)自己需要重命名,比如 My functions.然后單擊 New Function,在這個(gè)類下面創(chuàng)建一個(gè)新的函數(shù),然后命名,比如 Semi-circle function: ![]() 2. 對該函數(shù)進(jìn)行簡短的描述,定義函數(shù)所需參數(shù),輸入函數(shù)方程。然后,進(jìn)行最最關(guān)鍵的一步:函數(shù)編譯! ![]() 編譯正確是前提是:方程正確,方程中的相關(guān)參數(shù)在方程之前進(jìn)行了創(chuàng)建,方程中的運(yùn)算符格式符合C語言規(guī)則。此處以圓的方程為例,由于只需要知道Y>0的部分,所以方程由圓的方程(x-a)^2+(y-b)^2=R^2 變形為y=sqrt(R^2-(x-a))+b. 其中,a,b,R為待定參數(shù),(a,b)為圓心,R為半徑。 參數(shù)聲明和方程建立完成之后,單擊 ![]() ![]() 如果編譯成功,界面如下: ![]() 在file中單擊 save,然后單擊return to dialog,再單擊OK。 至此,用戶自定義函數(shù)的建立已經(jīng)完成。 自定義擬合函數(shù)的使用: 曲線擬合的目的是得到曲線的方程,從而計(jì)算得到自己關(guān)心的數(shù)據(jù)。以半圓為例,自定義擬合函數(shù)的調(diào)用如下: 1. 輸入數(shù)據(jù),畫出圖形: ![]() 選擇: Fitting: Non-linear Curve Fit ,打開NLFit對話框,選定自己定義的函數(shù),然后點(diǎn)擊參數(shù)(parameter)選項(xiàng)卡,設(shè)置初始值: ![]() ![]() 初始值的大小只需要憑自己經(jīng)驗(yàn)給定一個(gè)大概的值即可。 ![]() 然后單擊一次擬合之后,得到以下結(jié)果: ![]() 可以看到,擬合結(jié)果并不很理想,然后直接擬合到收斂,可以看到擬合結(jié)果滿意,單擊OK: ![]() 至此,圓的擬合完成,我們得到了相關(guān)參數(shù):圓心(388.19,-32.88),半徑301.73。然后回歸實(shí)際問題,求得該半圓與X軸的兩個(gè)交點(diǎn),即該材料在高頻端和低頻端的兩個(gè)電阻值。 參考資料: http://wiki.originlab. ... tion_using_OC |
|