嵌入式中可能使用的演算法

2021-10-01 08:53:22 字數 700 閱讀 1207

在嵌入式的測量中可能存在某些無法被直接測量的變數,但可能可以通過幾個不同的資料指標運算處理得到,這裡介紹最小而成發,最小二乘法適用於描述y = ax + b的資料,即尋找到最合適的一條通過x描述y的直線,x向量維度過多將會受到微控制器的效能的制約,這裡介紹最簡單的單維度x生成y。

最小二乘法的原理是,我們可以構造y = ax + b,對於**的誤差通過 q = σ(axi + b - yi) ^ 2描述

尋找最優描述方法則通過 detail q / detail a = 0 與 detail q / detail b = 0 得到

解得 a = (nσxy - σxσy) / (nσx^2 - (σx)^2); 再通過 b = y - ax; 解得b,其中x, y為x, y均值

對於多維度同理求解q = σ(axi1 + bxi2 + cxi3 - yi) ^ 2,實際上, 對於多維度的可以通過構造 ax = y 矩陣

通過過 a = y * (xx*) ^ -1 得到

最小二乘解中,求和部分實際可以通過累計和避免重複計算並且逐次迭代,而且可以通過使用迴圈佇列構成的滑動視窗的形式實現

此外描述直線的實際上還有主成分分析(pac)的方法,該方法對於誤差的描述採用了點到直線的距離,

即 q = σ (ax + by + c) / (a ^ 2 + b ^ 2),

實際上主成分分析方法描述了點的分布情況,而最小二乘法描述了,因變數與自變數的相互關係

非嵌入式與嵌入式的區別

非嵌入式是通過軟體控制硬體,軟硬體之間直接聯絡來實現要求。但是一旦硬體發生改變軟體也要改變,為了降低這種偶合度過高的問題,出現了嵌入式。嵌入式在軟體和硬體之間新增了作業系統,軟體通過控制作業系統進而控制硬體,硬體發生改變並不會導致軟體也發生改變,這為軟體開發人員節約了很多時間,並且嵌入式能在已有的硬...

嵌入式程式設計中,列舉變數的使用

rel file list href file c 5cdocume 7e1 5chome 5clocals 7e1 5ctemp 5cmsohtml1 5c01 5cclip filelist.xml 嵌入式程式設計中,列舉變數的使用 在 windows vs2008 中,列舉變數的值都是要占用 ...

嵌入式Linux objdump命令的使用

objdump命令的使用 objdump命令是linux下的反彙編目標檔案或者可執行檔案的命令,它還有其他作用,下面以elf格式可執行檔案test為例詳細介紹 objdump f test 顯示test的檔案頭資訊 objdump d test 反彙編test中的需要執行指令的那些section o...