摘要:將數(shù)學(xué)軟件Mathstudio應(yīng)用到大學(xué)物理實驗數(shù)據(jù)處理中,進行描述性統(tǒng)計、推斷統(tǒng)計、求不確定度、線性回歸等運算。Mathstudio具備數(shù)值運算和符號運算功能,使用數(shù)組和切片(Slice)操作,內(nèi)置大量數(shù)學(xué)函數(shù),微積分、統(tǒng)計等功能很強大,作圖和動畫也方便。Mathstudio不用安裝、編譯,瀏覽器打開網(wǎng)址即可運行,可逐行調(diào)試,命令格式簡單。示例結(jié)合線性代數(shù)理論,使用了雅可比矩陣、海森矩陣、范數(shù)、線性回歸、作圖等命令,實現(xiàn)Mathstudio編程計算空心圓柱體體積的不確定度、銅-康銅熱電偶溫差電勢的線性回歸模型,程序簡短精練,結(jié)構(gòu)清晰,提高了數(shù)據(jù)處理效率。Mathstudio編程效率高,難度較低,適合小規(guī)模數(shù)據(jù)快速分析,也能進一步開發(fā)更專業(yè)的數(shù)據(jù)處理功能。
關(guān)鍵詞:Mathstudio 描述統(tǒng)計 推斷統(tǒng)計 梯度 不確定度 線性回歸
中圖分類號:G633.7 文獻標識碼:A
Application of Mathstudio in the Experimental Data Processing of University Physics
ZHOU Hongliang
(Jiangsu Vocational College of Electronics and Information, Huai'an, Jiangsu Province, 223003 China)
Abstract: Mathematical software Mathstudio is applied to the experimental data processing of university physics to perform operations such as descriptive statistics, inferential statistics, uncertainty and linear regression. Mathstudio has the function of numerical and symbolic operations, uses arrays and slice operations, has a large number of built-in mathematical functions, has powerful functions such as calculus and statistics, and is also convenient for graphing and animating. Mathstudio does not need to be installed and compiled, and it can be run by opening the Web site in the browser and debugged line by line with the simple command format. Combined with the linear algebra theory, the example uses commands such as the Jacobi matrix, Hessian matrix, paradigm, linear regression and graphing to realize the calculation of the uncertainty of the volume of hollow cylinders and the linear regression of copper-constantan thermocouple temperature difference potential by Mathstudio programming, and the program is short and concise with clear structure, which improves the efficiency of data processing. Mathstudio programming is highly efficient and less difficult, and it is suitable for the rapid analysis of small-scale data and also can further develop the more professional functions of data processing.
Key Words: Mathstudio; Descriptive statistics; Inferential statistics; Gradient; Uncertainty; Linear regression
大學(xué)物理實驗數(shù)據(jù)處理與統(tǒng)計密切相關(guān),針對不同實驗?zāi)康?,實驗?shù)據(jù)處理包括描述性統(tǒng)計、不確定度分析、線性擬合、回歸分析、向量微分、導(dǎo)數(shù)、梯度等運算。教材中的作圖法、逐差法、最小二乘法等等是實驗數(shù)據(jù)處理的理論基礎(chǔ),若采用手工計算,過程繁瑣并且錯誤率高,使用數(shù)學(xué)軟件可以有效提高數(shù)據(jù)處理效率,便于實現(xiàn)數(shù)據(jù)可視化。
Mathstudio是一款小巧精致的數(shù)學(xué)軟件[1],無須編譯,在網(wǎng)頁http://mathstud.io/輸入指令直接運行,可以進行統(tǒng)計運算、微積分運算、級數(shù)運算、傅里葉變換、矩陣運算(特征值、QR分解、LU分解、SVD分解)、解方程組和微分方程等,函數(shù)與MATLAB類似,有豐富的作圖和動畫功能,提供循環(huán)判斷語句和邏輯關(guān)系等運算,可以實現(xiàn)較完整的功能。在矩陣運算上相當便捷,可以使用函數(shù)直接對矩陣計算,命令簡潔,比循環(huán)語句效率高。
1描述性統(tǒng)計
1.1集中量數(shù)
1.1.1向量計算
設(shè)隨機變量,X容量為n,常用的統(tǒng)計集中量有計數(shù)、求和、最大值、最小值、平均值、中位數(shù)、眾數(shù)。
Mathstudio命令[length(X), sum(X), max(X), min(X), mean(X), median(X)]計算各統(tǒng)計量(無mode函數(shù)),與MATLAB命令格式相同。
1.1.2矩陣計算
設(shè)隨機變量有m組樣本,用矩陣表達,第i列向量。示例:Mathstudio輸入矩陣X = [[5, 0, 3, 7], [1, -5, 7, 3], [4, 9, 8, 10]],取第1列命令X(*, 1),得到列向量。
Mathstudio命令[max(X), min(X)]統(tǒng)計矩陣所有元素的最值,[mean(X), median(X)]按矩陣列方向計算并返回行向量。與Matlab區(qū)別在于,Matlab除length()以外的函數(shù)都是按矩陣列計算返回行向量。
1.2差異量數(shù)
1.2.1標準差和方差
求標準差(Standard Deviation)和方差(Variance)是數(shù)據(jù)分析的基礎(chǔ),眾多統(tǒng)計量數(shù)包含標準差或形式上類似標準差的計算。容量為n的隨機變量X,X的標準差σ用于度量個體xi和X的數(shù)學(xué)期望E(X)(即X的均值)之間的偏離程度,或者說表達了隨機變量數(shù)據(jù)的離散程度,方差是標準差的平方。
樣本標準差分無偏估計和有偏估計,分母分別取n?1(當n>1時)和n計算。
Mathstudio命令StandardDeviation(X)計算向量X的無偏估計標準差,或者對矩陣X列向量計算并返回行向量。Variance(X)計算無偏估計標準方差。若要按行計算用StandardDeviation(X'),其中撇號“'”表示轉(zhuǎn)置。
1.2.2標準誤差和不確定度
樣本均值的標準誤差(Standard Error),,描述樣本均值的分布,在物理實驗中用于表達測量列X的A類不確定度,測量列X的A類不確定度uA = StandardDeviation(X)/SQRT(Length(X))。
2推斷統(tǒng)計
2.1協(xié)方差
協(xié)方差(Covariance)用來衡量隨機變量X、Y的總體誤差,表達了X和Y的相關(guān)性,
。矩陣X的協(xié)方差矩陣
是對稱、半正定矩陣,對角線為兩個變量相同時的協(xié)方差,即。
2.2相關(guān)系數(shù)
皮爾遜相關(guān)系數(shù)[2](Pearson correlation coefficient),反映線性相關(guān)變量之間相關(guān)密切程度的統(tǒng)計指標,相關(guān)系數(shù)將協(xié)方差歸一化(normalization)消除變量量綱或者變化幅度不同的影響,單純反映兩個變量在每單位變化上的相似程度,,其中,,余類似。
,越接近1說明X、Y線性相關(guān)越明顯,如果接近0說明X、Y不相關(guān),不能用線性回歸模型來估計X、Y的關(guān)系。
2.3范數(shù)
向量X的2范數(shù),即取向量的模,在三維坐標系中2范數(shù)表示點M(x, y, z)到原點O的歐幾里得距離(Euclidean distance)。在物理實驗中求間接測量不確定度時,將各不確定度分量合成,需要求元素的平方和再開根號的運算,就可使用norm()。
評定測量結(jié)果的最小二乘估計模型的精度時,表達模型誤差通常用殘差平方和,即殘差向量ε的2范數(shù)的平方,或者使用均方根誤差。
Mathstudio中Norm(X)返回向量的2范數(shù),模型誤差可用RSS = Norm(ε)^2和RMSE = Norm(ε) / SQRT(Length(ε))計算。
2.4 線性回歸
某實驗測量值(xi, yi)分屬于和,若物理量y和x之間存在線性關(guān)系,線性回歸(Linear Regression)指找到兩變量y、x之間的線性相關(guān)性,有時也稱線性擬合(Linear Fit)。根據(jù)最小二乘法[3]的原理,找到一條最佳的擬合曲線,那么各測量值與這條擬合曲線上對應(yīng)點之差(即殘差)的平方和為最小。設(shè)估計的一元線性回歸方程,其中w為斜率,b為截距。設(shè)定目標函數(shù)并要求J最小,即J→min,可見J是w和b的函數(shù)。求J對w和b的偏導(dǎo)數(shù)并令偏導(dǎo)數(shù)等于0,解得,,就是線性回歸方程中的待定參數(shù)w和b的最佳估計值。
在待定參數(shù)w和b確定以后,為了判斷所得結(jié)果是否合理,通常用相關(guān)系數(shù)r來檢驗[4],,值越接近1,說明實驗數(shù)據(jù)點密集地分布在所擬合的直線附近,用最小二乘法進行線性回歸是合適的。時可認為兩個物理量之間存在較密切的線性關(guān)系,線性回歸才有意義。表示變量X、Y完全線性相關(guān),擬合直線通過全部實驗數(shù)據(jù)點。相反,值越小線性越差,如果而接近于0,用線性回歸來推測實驗數(shù)據(jù)的模型與實際差異很大,說明假設(shè)是錯誤的,應(yīng)采用其他函數(shù)曲線或方法進行擬合。
Mathstudio用LinearFitModel()計算線性回歸。
3 導(dǎo)數(shù)和微分
在計算不確定度、線性擬合時需要運用一階偏導(dǎo)數(shù)和二階偏導(dǎo)數(shù)運算。
3.1雅可比矩陣
對列向量,有行向量偏導(dǎo)算子,其作用于函數(shù)向量,得到雅可比(Jacobian)矩陣J,函數(shù)按列方向,自變量按行方向,
3.2梯度矩陣
對列向量,有列向量偏導(dǎo)算子,其作用于函數(shù)向量,得到梯度(Gradient)矩陣:
梯度矩陣是其雅可比矩陣的轉(zhuǎn)置。梯度與方向?qū)?shù)關(guān)系密切,方向?qū)?shù)的最大值為梯度向量的模。在梯度正方向,函數(shù)以最大速率上升。例如電場強度的方向是負梯度方向,沿著電場線方向電勢下降最快。
3.3 海森矩陣
如果實值多元函數(shù)二階連續(xù)可導(dǎo),海森(Hessian)矩陣是梯度對自變量x的Jacobian矩陣,
在判斷多元函數(shù)極值時,在駐點M有,是可能的極值點。但是僅通過一階偏導(dǎo)數(shù)無法判斷,需要通過二階偏導(dǎo)數(shù)判斷極值。
Hessian矩陣為二階偏導(dǎo)數(shù)矩陣,為實對稱陣,根據(jù)其對應(yīng)的二次型,Hessian矩陣有正定、半正定、負定、半負定、不定等類型。Hessian矩陣正定性與多元函數(shù)的凹凸性有關(guān)。
正定[5],M為極小值點;負定,M為極大值點;不定矩陣,M非極值點;為半正定矩陣(或半負定矩陣)時,M為“可疑”極值點,需要利用其他方法來判定。
Mathstudio分別用Jacobian()、Gradient()、Hessian()計算雅可比矩陣、梯度矩陣、海森矩陣。
4 Mathstudio實驗數(shù)據(jù)處理示例
4.1 計算空心圓柱體積不確定度
4.1.1 數(shù)據(jù)和變量預(yù)處理
clear(all) // 清空變量
vars = [D, d, H, h] // 定義符號自變量外徑D、內(nèi)徑d、高度H、深度h,單位mm
V = 3.1416 / 4 * (D^2 * H - d^2 * h) // 定義體積符號函數(shù)
D0 = [16.00, 16.01, 16.02, 16.05, 15.93, 15.99]
d0 = [14.02, 14.03, 14.02, 14.08, 14.22, 14.01]
H0 = [20.01, 20.02, 20.00, 20.06, 20.10, 19.88]
h0 = [18.01, 18.22, 18.00, 18.06, 18.14, 18.18]
data = [D0, d0, H0, h0]' // 原始數(shù)據(jù)矩陣轉(zhuǎn)置
zero_offset = [0, 0, 0, 0] // 長度測量零點誤差
mean_list = mean(data) - zero_offset // 外徑、內(nèi)徑、高度、深度平均值列表
uA_list = StandardDeviation(data) / SQRT(length(data(*, 1))) // A類不確定度列表
uB = [0.02, 0.02, 0.02, 0.02] / SQRT(3) // 游標卡尺B類不確定度
uC_list = sqrt(uA_list^2 + uB^2) // C類不確定度列表
說明:程序用數(shù)組Data存儲測量原始數(shù)據(jù),對外徑D、內(nèi)徑d、高度H和深度h定義符號自變量vars = [D, d, H, h]和符號函數(shù),第二步Mean(X)計算自變量的平均值,并用標準誤差計算A類不確定度,計算B類不確定度,再用計算合成不確定度,全部以矩陣函數(shù)f(data)直接計算。
4.1.2計算體積結(jié)果和間接測量不確定度
V_val = eval(V, vars, mean_list) // 體積結(jié)果
Jaco_mat = Jacobian(V, vars) // 求體積偏導(dǎo)函數(shù)
Jaco_vals = Jacobian(V, vars, mean_list) // 求體積偏導(dǎo)函數(shù)并賦值
uV = Norm(Jaco_vals * uC_list) // 總不確定度
說明:經(jīng)間接測量得各分量的不確定度,體積的間接測量不確定度[6]
,如果手工計算非常繁瑣,極易出錯。將上式改寫成,運用符號運算Jacobian()計算體積的雅可比矩陣,求出梯度向量gradV,gradV和取哈達瑪積(Hadamard product)得到偏微分向量,再用norm()取向量的模,即平方和開根號,計算體積的總不確定度。
程序在均值、標準差、范數(shù)等運算中,將變量定義為向量或矩陣,函數(shù)可以作用于矩陣A,直接用矩陣函數(shù),命令含義一目了然。矩陣運算功能簡化了程序,避免使用循環(huán),程序結(jié)構(gòu)更清晰,運算效率提高。利用Mathstudio強大的符號運算功能計算偏微分,精簡了語句。
4.1.3 數(shù)據(jù)顯示
m = 10^floor(log(10, uV)) // uV保留一位縮放
res = ([round(V_val / m), ceil(uV / m)] * m) // 體積四舍五入,不確定度只進不舍
n = floor(log(10, V_val)) // 科學(xué)計數(shù)法n次冪
res = res / 10^n // 科學(xué)計數(shù)法,除以10^n
["V=", res(1), "±", res(2), "×10^", n] // 顯示結(jié)果V_val±uV=1.21±0.02×10^3
說明:10^floor(log(10, uV))計算出采用科學(xué)計數(shù)法需要縮放的倍率,不確定度的保留規(guī)則是只進不舍,保留一位,與體積V有效數(shù)字右對齊,uV用ceil()進位,V用round()四舍五入,結(jié)果用科學(xué)計數(shù)法顯示。
4.1.4 梯度矩陣、海森矩陣極值判定
fDiff(V, vars) // 計算全微分,求偏導(dǎo)函數(shù)
grad_V = Gradient(V, vars) // 求梯度函數(shù)
grad_vals = eval(grad_V, vars, mean_list) // 梯度函數(shù)賦值
stationary_point = SolveSystem(grad_V, vars) // 計算一階偏導(dǎo)數(shù)為0的點
Hess_mat = Hessian(V, vars) // 計算海森矩陣
Hess_vals = eval(Hess_mat, vars, stationary_point(2,*)) // 符號變量賦駐點的值
eig_vals = Eigenvalues(Hess_vals) // 計算駐點海森矩陣特征值,判斷正負定
說明:對比fDiff()、Gradient()、Jacobian()三個函數(shù),都可以計算偏導(dǎo)數(shù),fDIff()是全微分,可以簡記全微分為,Gradient()和Jacobian()的結(jié)果在Mathstudio中都用偏導(dǎo)數(shù)向量表示。
在求出偏導(dǎo)數(shù)后,根據(jù)多元函數(shù)極值的條件,求解梯度方程組,SolveSystem(grad_V, vars)計算V對[D, d, H, h]的一階偏導(dǎo)數(shù)為0的點(注:結(jié)果僅供參考),Hessian()計算海森矩陣即V對[D, d, H, h]的二階偏導(dǎo)數(shù)矩陣,eval()將駐點自變量值賦值給海森矩陣,Eigenvalues()計算駐點處海森矩陣的特征值,由特征值判斷正、負定,判斷極值點。本例為不定型,無法判斷極值,需要其他手段再判斷。
4.2 熱電偶溫差系數(shù)線性回歸
4.2.1 溫差電動勢
熱電偶的溫差電動勢大小由熱端和冷端的溫差決定,其熱端為正極,冷端為負極,當已知冷端溫度,并測出其溫差電動勢后,便可求出熱端溫度。溫差電動勢的大小與金屬材料的性質(zhì)及接觸點處的溫度差有關(guān)。當冷熱端溫差不大時,溫差電動勢與溫度的關(guān)系近似為,式中:ε為溫差電動勢;T1為熱端溫度;T0為冷端溫度,a是由構(gòu)成熱電偶的金屬材料決定的常數(shù)。
溫差電動勢ε與冷熱端溫差ΔT=T1?T0成線性關(guān)系,比率系數(shù)a稱為熱電偶的溫差系數(shù)或稱熱電動勢率。而在一般情況下,溫差電動勢與兩接觸點溫差的關(guān)系為一曲線。
銅-康銅熱電偶的溫差系數(shù)近似地取a=0.0435 mV/K。但由于組成熱電偶的材料成分有差異,所以實際數(shù)值有出入。因此在實際使用時,要先對熱電偶進行校正,以確定a的數(shù)值。校正時,熱端緩慢加熱,并測量熱端溫度T1,冷端保持固定T0,可以在杜瓦瓶中放冰水混合物,測出不同溫度差下的溫差電動勢,將ε和ΔT運用線性回歸,求出斜率和截距,即得到溫差系數(shù)。
4.2.2銅-康銅熱電偶的溫差系數(shù)線性回歸
T1 = [30, 40, 50, 60, 70, 80, 90, 100, 110, 120] // 熱電偶熱端溫度,單位℃
T0 = 19 // 熱電偶冷端溫度,單位℃
dT = T1 - T0 // 溫度差ΔT
ε = [0.53, 0.94, 1.36, 1.81, 2.25, 2.70, 3.15, 3.62, 4.08, 4.56] // 溫差電勢ε,單位mV
m = LinearFitmodel(dT, ε) // 線性回歸模型斜率m.a、截距m.b和相關(guān)系數(shù)m.r
說明:程序傳遞參數(shù)ΔT、ε兩個向量作為線性擬合的參數(shù),利用LinearFitmodel()函數(shù)直接返回線性回歸模型,包括最佳估計的斜率w、截距b、相關(guān)系數(shù)r三個參數(shù),求得溫差電動勢與溫度差的回歸模型,溫度系數(shù)0.0449mV/K,相關(guān)系數(shù)。
4.2.3 回歸結(jié)果分析
Linearfitplot(dT, ε) // 線性回歸作圖
err = m.a * dT + m.b - ε? // 殘差向量
RMSE = SQRT(Mean(err^2)) // 模型均方根誤差
說明:相關(guān)系數(shù)接近1,表明ε與ΔT強線性相關(guān),回歸模型使用得當。Linearfitplot()可以作出數(shù)據(jù)的散點圖和擬合直線對比,從圖2中直觀看出數(shù)據(jù)點與擬合直線非常接近,計算結(jié)果殘差的均方根誤差RMSE=0.026,印證了回歸模型的精度。溫差系數(shù)的計算結(jié)果0.044 9 mV/K與理論值0.043 5 mV/K非常接近,相對誤差3%,測量精度高,數(shù)據(jù)處理效果很好。
5 結(jié)論
Mathstudio小巧靈活,容易入門,提供大量的內(nèi)置數(shù)學(xué)函數(shù)包括統(tǒng)計、導(dǎo)數(shù)微分、符號運算、矩陣運算和作圖等,具備關(guān)系、邏輯運算和循環(huán)、判斷語句,運用數(shù)組切片操作和矩陣函數(shù),語句簡潔,程序結(jié)構(gòu)清晰,避免了循環(huán)判斷語句,提高數(shù)據(jù)處理效率。運用Mathstudio編程進行大學(xué)物理實驗不確定度和線性回歸計算,具有方便快捷的優(yōu)點,易于修改應(yīng)用到其他實驗數(shù)據(jù)的分析處理。Mathstudio適合大學(xué)物理實驗數(shù)據(jù)的處理,對促進教學(xué)數(shù)字化轉(zhuǎn)型,提升學(xué)生自主學(xué)習(xí)能力、信息素養(yǎng)與持續(xù)發(fā)展能力很有意義。
參考文獻
[1]蔡春雨,薩仁高娃,包琳,等.Mathstudio在近代物理實驗數(shù)據(jù)處理中的應(yīng)用[J].大學(xué)物理實驗,2023,36(2):139-143.
[2]李陽,李曉琪,楊佳瀅,等.基于THz時域反射成像技術(shù)的玉米種子淀粉分布可視化研究[J].光譜學(xué)與光譜分析,2023,43(9):2722-2728.
[3]吳城,李曉娟.基于單線激光的果園機器人自主導(dǎo)航方法[J].江蘇大學(xué)學(xué)報(自然科學(xué)版),2023,44(5):530-539.
[4]曹久瑩,于陸軍.基于最小二乘法擬合的流量計不確定度分析方法[J].中國測試,2022,48(S1):122-128.
[5]田宇洋,顧青濤,張任楠,等.協(xié)同定位最小二乘凸性分析[J].現(xiàn)代電子技術(shù),2022,45(3):10-16.
[6]賈欣.原子吸收分光光度計石墨爐法測定小米中鉻的不確定度分析[J].食品工程,2023(3):44-47.