关于反比例函数方程拟合的思考 |
您所在的位置:网站首页 › 反比例函数计算 › 关于反比例函数方程拟合的思考 |
设 y = a x + c + b + ϵ y=\frac{a}{x+c}+b+\epsilon y=x+ca+b+ϵ,则 y − a x + c − b = ϵ y-\frac{a}{x+c}-b=\epsilon y−x+ca−b=ϵ。我们希望 ϵ \epsilon ϵ的值尽可能接近0,则正常情况下,我们转化为求如下表达式的最小值: Q = ∑ i = 1 n ( y i − a x i + c − b ) 2 = ∑ i = 1 n ϵ i 2 Q=\sum_{i=1}^n (y_i-\frac{a}{x_i+c}-b) ^{2}=\sum_{i=1}^n \epsilon_i^2 Q=∑i=1n(yi−xi+ca−b)2=∑i=1nϵi2。此时我们就将 Q Q Q看作是关于 a a a和 b b b的函数,即为 Q ( a , b ) Q(a,b) Q(a,b),然后对它求偏导,求得 a a a和 b b b的值。 但由于有分式的存在,在求偏导时,除了数值计算,我想不到其他好的解法了,所以我索性换了一种评价方式,我们对式子变形得到: ( y − b ) ( x + c ) − a = ϵ ( x + c ) (y-b)(x+c)-a=\epsilon(x+c) (y−b)(x+c)−a=ϵ(x+c),这个式子表明,如果,在 x + c > 0 x+c>0 x+c>0的情况下, x x x越大,要想使得 ( y − b ) ( x + c ) − a (y-b)(x+c)-a (y−b)(x+c)−a接近0,则 ϵ \epsilon ϵ必须越小。但是,在 x + c ≈ 0 x+c\approx0 x+c≈0的情况下,误差就会十分的明显,所以,我们应该想办法避免这种情况的发生。(但事实是我不会避免,求大神帮忙) 我们转化为求如下表达式的最小值: Q = ∑ i = 1 n [ ( y i − b ) ( x i + c ) − a ] 2 Q=\sum_{i=1}^n [(y_i-b)(x_i+c)-a]^{2} Q=∑i=1n[(yi−b)(xi+c)−a]2。对 Q Q Q求偏导得到: ∂ Q ∂ a = − 2 ∑ i = 1 n [ ( y i − b ) ( x i + c ) − a ] \frac{\partial {Q}}{\partial {a}}=-2\sum_{i=1}^n [(y_i-b)(x_i+c)-a] ∂a∂Q=−2∑i=1n[(yi−b)(xi+c)−a] ∂ Q ∂ b = − 2 ∑ i = 1 n [ ( y i − b ) ( x i + c ) − a ] ( x i + c ) \frac{\partial {Q}}{\partial {b}}=-2\sum_{i=1}^n [(y_i-b)(x_i+c)-a](x_i+c) ∂b∂Q=−2∑i=1n[(yi−b)(xi+c)−a](xi+c) ∂ Q ∂ c = 2 ∑ i = 1 n [ ( y i − b ) ( x i + c ) − a ] ( y i − b ) \frac{\partial {Q}}{\partial {c}}=2\sum_{i=1}^n [(y_i-b)(x_i+c)-a](y_i-b) ∂c∂Q=2∑i=1n[(yi−b)(xi+c)−a](yi−b) 令 ∂ Q ∂ a = ∂ Q ∂ b = ∂ Q ∂ c = 0 \frac{\partial {Q}}{\partial {a}}=\frac{\partial {Q}}{\partial {b}}=\frac{\partial {Q}}{\partial {c}}=0 ∂a∂Q=∂b∂Q=∂c∂Q=0得: ∑ i = 1 n [ ( y i − b ) ( x i + c ) − a ] = 0 … … ( 1 ) \sum_{i=1}^n [(y_i-b)(x_i+c)-a]=0 ……(1) ∑i=1n[(yi−b)(xi+c)−a]=0……(1) ∑ i = 1 n [ ( y i − b ) ( x i + c ) − a ] ( x i + c ) = 0 … … ( 2 ) \sum_{i=1}^n [(y_i-b)(x_i+c)-a](x_i+c)=0……(2) ∑i=1n[(yi−b)(xi+c)−a](xi+c)=0……(2) ∑ i = 1 n [ ( y i − b ) ( x i + c ) − a ] ( y i − b ) = 0 … … ( 3 ) \sum_{i=1}^n [(y_i-b)(x_i+c)-a](y_i-b)=0……(3) ∑i=1n[(yi−b)(xi+c)−a](yi−b)=0……(3) 我们将(1)代入(2)(3)化简,令 s u m x sumx sumx= ∑ i = 1 n x \sum_{i=1}^n x ∑i=1nx, s u m y sumy sumy= ∑ i = 1 n y \sum_{i=1}^n y ∑i=1ny 展开得: ∑ i = 1 n x i y i n + s u m y n c − s u m x n b − b c = a … … ( 4 ) \frac{\sum_{i=1}^n x_iy_i}{n}+\frac{sumy}{n}c-\frac{sumx}{n}b-bc=a……(4) n∑i=1nxiyi+nsumyc−nsumxb−bc=a……(4) ∑ i = 1 n x i 2 y i s u m x + ∑ i = 1 n x i y i s u m x c − ∑ i = 1 n x i 2 s u m x b − b c = a … … ( 5 ) \frac{\sum_{i=1}^n x_i^2y_i}{sumx}+\frac{\sum_{i=1}^n x_iy_i}{sumx}c-\frac{\sum_{i=1}^n x_i^2}{sumx}b-bc=a……(5) sumx∑i=1nxi2yi+sumx∑i=1nxiyic−sumx∑i=1nxi2b−bc=a……(5) ∑ i = 1 n x i y i s u m y + ∑ i = 1 n y i 2 s u m y c − ∑ i = 1 n x i y i s u m y b − b c = a … … ( 6 ) \frac{\sum_{i=1}^n x_iy_i}{sumy}+\frac{\sum_{i=1}^n y_i^2}{sumy}c-\frac{\sum_{i=1}^n x_iy_i}{sumy}b-bc=a……(6) sumy∑i=1nxiyi+sumy∑i=1nyi2c−sumy∑i=1nxiyib−bc=a……(6) 令 k = a + b c k=a+bc k=a+bc,则我们可以得到: s u m y n c − s u m x n b − k = − ∑ i = 1 n x i y i n … … ( 7 ) \frac{sumy}{n}c-\frac{sumx}{n}b-k=-\frac{\sum_{i=1}^n x_iy_i}{n}……(7) nsumyc−nsumxb−k=−n∑i=1nxiyi……(7) ∑ i = 1 n x i y i s u m x c − ∑ i = 1 n x i 2 s u m x b − k = − ∑ i = 1 n x i 2 y i s u m x … … ( 8 ) \frac{\sum_{i=1}^n x_iy_i}{sumx}c-\frac{\sum_{i=1}^n x_i^2}{sumx}b-k=-\frac{\sum_{i=1}^n x_i^2y_i}{sumx}……(8) sumx∑i=1nxiyic−sumx∑i=1nxi2b−k=−sumx∑i=1nxi2yi……(8) ∑ i = 1 n y i 2 s u m y c − ∑ i = 1 n x i y i s u m y b − k = − ∑ i = 1 n x i y i s u m y … … ( 9 ) \frac{\sum_{i=1}^n y_i^2}{sumy}c-\frac{\sum_{i=1}^n x_iy_i}{sumy}b-k=-\frac{\sum_{i=1}^n x_iy_i}{sumy}……(9) sumy∑i=1nyi2c−sumy∑i=1nxiyib−k=−sumy∑i=1nxiyi……(9) 这样我们就可以通过matlab计算出来 b b b、 c c c、 k k k的值了。 令 A = [ s u m y n − s u m x n − 1 ∑ i = 1 n x i y i s u m x − ∑ i = 1 n x i 2 s u m x − 1 ∑ i = 1 n y i 2 s u m y − ∑ i = 1 n x i y i s u m y − 1 ] A=\left[ \begin{matrix} \frac{sumy}{n} & -\frac{sumx}{n} & -1\\ \frac{\sum_{i=1}^n x_iy_i}{sumx} & -\frac{\sum_{i=1}^n x_i^2}{sumx} &-1\\ \frac{\sum_{i=1}^n y_i^2}{sumy} & -\frac{\sum_{i=1}^n x_iy_i}{sumy} & -1\\ \end{matrix} \right] A=⎣⎢⎡nsumysumx∑i=1nxiyisumy∑i=1nyi2−nsumx−sumx∑i=1nxi2−sumy∑i=1nxiyi−1−1−1⎦⎥⎤ B = [ − ∑ i = 1 n x i y i n − ∑ i = 1 n x i 2 y i s u m x − ∑ i = 1 n x i y i s u m y ] B=\left[ \begin{matrix} -\frac{\sum_{i=1}^n x_iy_i}{n} \\ -\frac{\sum_{i=1}^n x_i^2y_i}{sumx}\\ -\frac{\sum_{i=1}^n x_iy_i}{sumy}\\ \end{matrix} \right] B=⎣⎢⎡−n∑i=1nxiyi−sumx∑i=1nxi2yi−sumy∑i=1nxiyi⎦⎥⎤ X = [ c b k ] X=\left[ \begin{matrix} c\\ b\\ k\\ \end{matrix} \right] X=⎣⎡cbk⎦⎤ 所以,式子改写成: A X = B AX=B AX=B 所以,解得 X = A − 1 B X=A^{-1}B X=A−1B 然后,我们就可以求出a的值了: a = k − b c a=k-bc a=k−bc |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |