日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

h = a –bqc线性最小二乘问题 c语言,物理实验之最小二乘法 | 怎样学习大学物理小组 | 果壳网 科技有意思...

發(fā)布時間:2024/3/12 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 h = a –bqc线性最小二乘问题 c语言,物理实验之最小二乘法 | 怎样学习大学物理小组 | 果壳网 科技有意思... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

物理實驗中,數(shù)據(jù)處理經(jīng)常用到最小二乘法。當然最小二乘法用手算的話好麻煩啊。

大家可能已經(jīng)知道最小二乘法是什么了,這里也不多說了,就簡單提一下。

一、最小二乘法原理

線性的最小二乘法是用來產(chǎn)生最能代表一組數(shù)據(jù)的一個一次函數(shù),這里說的是最好的擬合,而不是完美的擬合。

例如這樣一個例子:

這里有三個數(shù)據(jù)點,A(x1,y1),B(x2,y2),C(x3,y3)。我們要找一條最能夠代表這三個點的直線。那如何找呢?

我們的想法是要使得誤差最小。可是什么是誤差?怎么代表誤差?

假設我們現(xiàn)在已經(jīng)把這條線找到了,比如是 y = f(x)。那么如果 A 點相對于直線的誤差是不是可以用 A' 和 A 的縱坐標之差來表示?這樣我們把所有的三個點的這些誤差加起來,是不是就可以代表所有點的總的誤差呢?

這里有個問題,但看一個點,這個方法沒有問題,但是如果是很多點,那么這個差值有正有負,加起來就可能會有相互抵消的。所有呢,我們的辦法是求這些誤差的平方和。

那么最小二乘法就是要這個誤差最小。Least squares 就是說要這個帶 squares 的式子最小。

至于如何使得這個最小,至少有兩種方法。一種是直接用微積分的知識,對所有未知的參量求偏導數(shù)并設為零,就可以求出參量了。另一種方法是用線性代數(shù)的方法,就是利用往空間上投影的方法。

當然,兩種方法都是課本上的公式了,具體求解的話,也就是要帶公式了。

不過呢,要是這個帖子只說這點內(nèi)容,就沒啥意義了對吧。

所以最好能討論一下從線性代數(shù)的角度,或者說從幾何的角度來看最小二乘法。

最小二乘法是要找到一條直線, y = c + d x。這樣的話,我們把數(shù)據(jù)帶進去,就會形成系列方程組,可以寫成矩陣的樣子:

但是,要知道,我們只有兩個待定系數(shù),所以這是過度確定的。一般是無解的。這就是我們前面說最小二乘法是在找最好的擬合,而不是完美的擬合的原因。

那么我們要怎么做呢?

現(xiàn)在有一組縱軸的數(shù)據(jù),

這組數(shù)據(jù)呢,就是一個 n 維空間的一個矢量。

而系數(shù)矩陣

呢,就像一個參考空間。

我們要做的呢,就是要把這個 n 維空間的矢量的末端到這個參考空間上的投影,這個投影就是最合適的擬合,也就是我們的最小二乘法的精要。

做個比喻。這就好比說我們有個平面,如果我們的數(shù)據(jù)是完全線性的,那么所有的數(shù)據(jù)都會落在這個平面內(nèi),但是,實際情況可能有所偏差,是的代表所有數(shù)據(jù)的點脫離了這個平面,那我們要找的那條曲線是什么呢?那自然是代表所有數(shù)據(jù)在這個點(或者說從起點出發(fā)的矢量)在這個平面內(nèi)的投影啦!

但,這不能算啊?我們要找到的是 c,d 的值啊?怎么算呢?

我們還有個

里面我們給 c 和 d 加了帽了~ 有帽表示這個只是個最好的擬合,但不一定是完美的~

那這些之間有什么關系呢?我們可以看前面的等式,比如用 A 表示系數(shù)矩陣,用 M 表示要求解的兩個參數(shù)(戴帽子哦)矩陣,還有一個 b 表示所有的代表縱坐標的數(shù)據(jù)矩陣。

好啦,書上說我們要求解的方程是

為嘛呢?我們做個變化

好嘛,這樣就可以理解幾何意義了。因為這里面右邊的是

一個投影算符作用在了 b 上!太好了,投影算符的作用就是把 b 在 A 空間內(nèi)投影!這樣數(shù)學就跟我們上面的意義的描述結合起來啦。所以對于最小二乘法,我們要做的是解這樣一個矩陣方程

不過這個跟用微積分做是一樣的,方程組一樣,結果更一樣。只是這樣可以看到一點從微積分來理解看不到的東西。

二、軟件處理

好了,最實用的部分。如何用軟件快速的來做最小二乘法的擬合呢?

我想大學里面可能教大家最多的是用 Origin,Sigmaplot 甚至 Excel 之類的軟件來做的。挺好的,總之能做出來就成。這些軟件里面呢,用的最廣的應該是 Origin,但是我更喜歡 Sigmaplot,因為 Sigmaplot 做出來的圖不需要做很大的調(diào)整就挺好看的,多圖排版什么的也很容易。作圖嘛,漂亮太重要了。

但是這里我們要說的不是 Sigmaplot,而是一款很多人聽說過但是沒用過的軟件,Mathematica。

可能有人要問,為什么我要用 Mathematica 這么專業(yè)的軟件啊?

說實話,Mathematica 這幾年發(fā)展下來,已經(jīng)不算是一款專業(yè)軟件了,它上手快,用起來簡單而優(yōu)雅。甚至 Mathematica 都有了 Home 版了!(這…… )

關于 Mathematica 的函數(shù)f作圖呢?參考 高數(shù)也要用 Mathematica —— 作圖一 這篇文章。

但數(shù)據(jù)處理這部分需要比較長的篇幅,所以請看怎樣學高數(shù)小組的這篇吧:

http://www.guokr.com/post/449185/

總結

以上是生活随笔為你收集整理的h = a –bqc线性最小二乘问题 c语言,物理实验之最小二乘法 | 怎样学习大学物理小组 | 果壳网 科技有意思...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。