3

Связанный с вопросом от обмена стека Math, есть ли способ, которым я могу решить уравнение численно, используя Excel?

Я знаю, что в Excel есть решатель, но он требует взаимодействия с пользователем, когда что-то меняется. Я хочу иметь возможность изменять некоторые параметры и обновлять весь рабочий лист, как с обычными формулами.

Уравнение , которое необходимо решать , заключается в следующем, со всеми параметрами , кроме известных:

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

1 ответ1

3

Это не общее решение, просто демонстрация техники.

В A1 введите небольшое положительное значение, скажем, 0,001. В B1 введите ДЕЙСТВИТЕЛЬНО большое положительное значение, скажем, 1.Е +15. В S1 введите значение s , скажем, 7. В X1 введите значение x , скажем, 10.

В C1 введите =(A1+B1)/2 и в D1 введите вашу формулу:

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

Ясно, что С1 - это среднее значение нижней и верхней границы. Поскольку она также ДЕЙСТВИТЕЛЬНО велика, формула дает значение приблизительно -s

В A2 введите =IF(D1>0,C1,A1) а в B2 введите =IF(D1<0,C1,B1) и скопируйте C1 и D1 вниз.

В строке 2 мы сократили интервал пополам. Затем скопируйте A2 - D2 вниз:

В каждом ряду интервал составляет половину интервала в предыдущем ряду. Около дна:

Таким образом, численное решение составляет примерно 8.097966368

ЗАМЕТКИ:

  • Это сойдет намного быстрее, используя Ньютона-Рафсона.
  • Пользовательская функция VBA позволяет конвергенции завершаться автоматически.
  • Для некоторых значений s и x может потребоваться изменить начальное значение в A1 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .