二元一次方程式解決零點漂移

2021-09-13 14:29:16 字數 1196 閱讀 8142

針對壓力感測器的零點漂移,ad取樣值在零點附近來回波動,這樣的ad值根本沒辦法使用,但是如果直接限制幅度,會造成正壓起始點和負壓起始點抬高,又要顯示從0開始,這就需要在限制幅度的基礎上增加ad值平均分散法(自己亂命名的)。

優點:解決顯示和輸出非常穩定。(將波動值限制了,基本上使用者用不到這樣靠近零點的壓力)

缺點:被做了演算法的這段壓力段與實際壓力有微小的差異,接著看。

假如:輸入壓力的ad值範圍是-1000~1000 , 但是在 -50<0<50這一段非常不穩定,其他的段就是線性的;然後-200<0<200是客戶不用的(要用也沒關係)。

int display_number;

if(-200if(-50if(50<=adc_value<100)display_number=adc_value-50;            //           2

if(-50<=adc_value<-100)display_number=adc_value+50;         //           3

if(100<=adc_value<200)display_number=adc_value*x+y;        //           4

if(-100<=adc_value<-200)display_number=adc_value*x+y;      //           5

第一句 就是將跳動的adc值-50第二句 就是往正壓方向的<100的adc值範圍50-100的顯示為0-50

第三句 就是往負壓方向的<-100的adc值範圍-500~-100顯示為0~-50

第四句和第五句就是關鍵了;先講第四句,第五句和第四句差不多。 簡單屢一下就是輸入量adc_value是100~<200,輸出量就是display_number是60~200,這裡覺得有點迷糊的同學自己先屢屢;現在列出二元一次方程:

100x+y=60;

200x+y=200;

我們用代入消元法,將第一句變形 y= 60 -100x;帶入第二句:

200x + 60 - 100x = 200;   x=1.4;  將x帶入第一句,得出y= -80;

這樣子就在200的時候輸入和輸出對應上了。

就相當於把<50的設為0 , 把50-<100的設為0-<50 , 把100-<200的設為60-<200 ;

把最後一段的壓力100個點平均分散給140個點,是不是ad值平均分散法。還可以將這個總數個數拉長或縮短,視情況而定。

求解二元一次方程組

問題描述 已知乙個二元一次方程組如下,其中 x,y 為兩個未知數,滿足以下條件 ax by m cx dy n 現要求編寫程式輸入常數a,b,c,d,m 和 n,計算 x 和 y 的值並輸出 不考慮 ad bc 0 的情況。輸入形 式 輸入六個非零實數 a,b,c,d,m 和 n。輸出形式 輸出 x...

利用Python求解二元一次方程

本程式流程如下 1 輸入a b c 2 計算 3 判斷解的個數 4 計算解 5 輸出解 求 x2 3x 2 0的解 輸入a b c a float input 輸入a input 函式將使用者輸入的內容以字串的形式返回,可以利用type 檢視型別。b float input 輸入b c float ...

python 窮舉法解二元一次方程

1 3x 4y 100 求 x y 23 x 0 4while x 100 3 5if 100 3 x 4 0 6 y 100 3 x 4 7print 共有解 x的值是 d,y的值是 d x,y 8 x 1910 共有解 x的值是 0,y的值是 2511 共有解 x的值是 4,y的值是 2212 ...