数值求解方程

数值求解方程

与...相关问题来自数学堆栈交换,有没有办法使用 Excel 以数值方式求解方程式?

我知道 Excel 中有一个求解器,但每当有变化时它都需要用户交互。我希望能够更改一些参数并让整个工作表自行更新,就像使用普通公式一样。

需要求解的方程如下,除以下所有参数外A已知:

a*cosh(x/a) - a - s = 0

答案1

这是不是一个通用的解决方案,只是一个技术的演示。

A1输入一些小的正值,比如说0.001。 在B1输入一个非常大的正值,比如1.E+15。 在S1输入s价值,说7。 在X1输入X价值,说10

C1进入=(A1+B1)/2D1输入您的公式:

=C1*COSH(X$1/C1)-C1-S$1

在此处输入图片描述

清楚地C1是下限和上限的平均值。由于它也非常大,因此公式得出的值约为-s

A2进入=IF(D1>0,C1,A1)B2输入=IF(D1<0,C1,B1)并复制C1D1向下。

在第 2 行中,我们将间隔减半。然后复制A2通过D2向下:

在此处输入图片描述

每行的间隔都是前一行间隔的一半。靠近底部:

在此处输入图片描述

因此数值解约为 8.097966368

笔记:

  • 使用牛顿-拉夫森法,这将收敛得更快。
  • VBA 用户定义函数将允许收敛自动终止。
  • 对于某些值sX,初始值A1可能需要修改。

相关内容