You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于Philip入渗方程参数s和k的非软件辅助手工求解方法问询

关于Philip入渗方程参数s和k的非软件辅助手工求解方法问询

当然可以不用软件,纯手工求解!你已经通过最小二乘法推导出了关于$s$和$k$的线性方程组,接下来有几种手工可行的解法,甚至还有更简化的思路,我给你一步步拆解:

一、先搞定所有必要的求和项(所有方法都需要这一步)

不管用哪种方法,首先得把方程组里的各个求和项算出来,我帮你用手工近似计算(保留合适小数位减少误差):

  • $\sum t_i = 5+15+45+75+110 = 250$
  • $\sum t_i^{3/2} = \sum \sqrt{t_i} \times t_i ≈ 11.18 + 58.08 + 301.86 + 649.5 + 1153.68 ≈ 2174.3$
  • $\sum t_i^2 = 52+152+452+752+110^2 = 25+225+2025+5625+12100 = 20000$
  • $\sum z_i\sqrt{t_i} ≈ 4.472 + 17.424 + 60.372 + 112.58 + 183.54 ≈ 378.39$
  • $\sum z_i t_i = 10 + 67.5 + 405 + 975 + 1925 = 3382.5$

由此得到你推导出的二元线性方程组:
$$
\begin{cases}
250s + 2174.3k = 378.39 \
2174.3s + 20000k = 3382.5
\end{cases}
$$


二、方法1:高斯消元法(手工解二元方程组最常用的办法)

这个方法就是通过消元把二元方程变成一元,步骤很直观:

  1. 把第一个方程乘以$\frac{2174.3}{250}≈8.6972$,得到:
    $2174.3s + 2174.3×8.6972k ≈ 378.39×8.6972$
    计算后:$2174.3s + 18910.3k ≈ 3290.0$
  2. 用第二个方程减去这个新方程,消去$s$:
    $(2174.3s + 20000k) - (2174.3s + 18910.3k) = 3382.5 - 3290.0$
    化简得:$1089.7k = 92.5$,所以$k≈\frac{92.5}{1089.7}≈0.085$ cm/min
  3. 把$k≈0.085$代入第一个方程:
    $250s + 2174.3×0.085 ≈ 378.39$
    计算:$250s ≈ 378.39 - 184.82 ≈ 193.57$,所以$s≈\frac{193.57}{250}≈0.774$ cm/√min

三、方法2:克莱姆法则(矩阵形式的手工解法)

你提到的矩阵解法其实就是把方程组写成$A\mathbf{x}=\mathbf{b}$的形式,然后用克莱姆法则计算:

  • 系数矩阵$A = \begin{bmatrix}250 & 2174.3 \2174.3 & 20000\end{bmatrix}$,未知数$\mathbf{x}=\begin{bmatrix}s \k\end{bmatrix}$,右端向量$\mathbf{b}=\begin{bmatrix}378.39 \3382.5\end{bmatrix}$
  1. 计算$A$的行列式:
    $det(A) = 250×20000 - (2174.3)^2 = 5000000 - 4727580.49 ≈ 272419.51$
  2. 计算$A_s$(把$A$的第一列换成$\mathbf{b}$)的行列式:
    $det(A_s) = 378.39×20000 - 2174.3×3382.5 ≈ 7567800 - 7354579.75 ≈ 213220.25$
    所以$s = \frac{det(A_s)}{det(A)}≈\frac{213220.25}{272419.51}≈0.783$ cm/√min
  3. 计算$A_k$(把$A$的第二列换成$\mathbf{b}$)的行列式:
    $det(A_k) = 250×3382.5 - 2174.3×378.39 ≈ 845625 - 822740 ≈ 22885$
    所以$k = \frac{det(A_k)}{det(A)}≈\frac{22885}{272419.51}≈0.084$ cm/min

四、方法3:变形为一元线性回归(最简便的手工方法)

其实你可以把Philip方程变形,转化为我们更熟悉的一元线性模型,大幅减少计算量:
原方程$z = s\sqrt{t} + kt$,两边同时除以$\sqrt{t}$,得到:
$$\frac{z}{\sqrt{t}} = s + k\sqrt{t}$$
令$y = \frac{z}{\sqrt{t}}$,$x = \sqrt{t}$,就变成了标准的一元线性方程:$y = kx + s$,其中$k$是斜率,$s$是截距。

接下来用一元线性回归的手工公式计算:

  1. 先计算每组数据的$x_i$和$y_i$:
    t(min)z(cm)$x=\sqrt{t}≈$$y=\frac{z}{\sqrt{t}}≈$
    522.2360.894
    154.53.8721.162
    4596.7081.342
    75138.6601.501
    11017.510.4881.669
  2. 计算求和项:
    • $\sum x_i≈31.964$,$\sum y_i≈6.568$
    • $\sum x_i y_i≈2.000 + 4.500 + 9.001 + 12.999 + 17.505≈46.005$
    • $\sum x_i^2 = \sum t_i = 250$(因为$x_i=\sqrt{t_i}$,所以$x_i^2=t_i$,省了计算!)
    • 样本数$n=5$
  3. 代入一元线性回归公式:
    斜率$k = \frac{n\sum x_i y_i - \sum x_i \sum y_i}{n\sum x_i^2 - (\sum x_i)^2}≈\frac{5×46.005 - 31.964×6.568}{5×250 - (31.964)^2}≈\frac{230.025 - 209.94}{1250 - 1021.7}≈\frac{20.085}{228.3}≈0.088$ cm/min
    截距$s = \bar{y} - k\bar{x}≈\frac{6.568}{5} - 0.088×\frac{31.964}{5}≈1.3136 - 0.088×6.3928≈0.751$ cm/√min

这几种方法都可以纯手工完成,其中变形为一元线性回归的方法计算量最小,最适合手动操作。如果想要更精确的结果,计算时保留更多小数位即可。

备注:内容来源于stack exchange,提问作者Amirali

火山引擎 最新活动