Математически смог, а в Excel не могу
Для хранения горючего требуется спроектировать бак, который имеет форму прямого кругового цилиндра. Изготавливается он методом сварки трех листовых заготовок: дна, крышки и боковой поверхности (обейчатки). Объем бака должен составлять V = 12 м3. Указать наилучший вариант бака, при котором длина l швов будет минимальна.
Я решал так.
Для решения этой задачи запишем формулы для объема бака, площади ее поверхности и длины швов:
V=pi*r*r*h, S=2*pi*r*r+2rh, l=4*pi*r+h.
Объем банки задан, это устанавливает связь между радиусом r и высотой h. Выразим высоту через радиус: h=V/(pi*r*r) и подставим полученное выражение в формулы для поверхности и длины швов. В результате получим
l(r)=4*pi*r+V/(pi*r*r), 0 < r < (беск).
Таким образом, с математической точки зрения, задача о проектировании бака сводится к определению такого значения r, при котором достигает своего наименьшего значения функция l(r).
Продифференцируем функцию l(r):
l'(r)=4*pi-2V/pi*r*r*r=2/pi*r*r*r(2*pi*pi*r*r*r-V).
Как и в предыдущем случае, при 0 < г < r2=3*(корень_куб(V/(2*pi*pi)) производная отрицательна и функция l (r) убывает, при r2 < r < (беск) производная положительна и функция l (r) возрастает. Следовательно, своего наименьшего значения эта функция достигает в точке r=r2, в которой ее производная обращается в нуль.
Итак, радиус и высота банки, наилучшие с точки зрения условия минимальности l(r), определяются формулами
r2=3*(корень_куб(V/(2*pi*pi)) , h=2*pi*r2,
при этом
l(r2)=3 * (корень_куб (4*pi*V) <= l(r). (9)
высота "наилучшего" бака она в pi раз больше диаметра.
По сути дела, надо исследовать на минимум функцию l(r)=4*pi*r+V/(pi*r*r), в экселе. Кто-нить подскажет, как это сделать? Делается это с помощью поиска решения имхо, но я не пойму никак, чего и куда там ставитm. Если подскажете, буду весьма признателен.
email: [email]andy-f1@mail.ru[/email]
Поиск решения предназначен для решения уравнений, по сути, всё сводится к следующему:
задать начальное приближение в ячейке A1, в ячейке B1 записать функцию, зависящую только от констант и значения переменной - ячейки A1 (кроме того, можно ссылаться на функции, записанные в других ячейках, но построенные по тем же правилам). После чего поиск решения сводится к следующему действию: для функции (B1) найти такое значение (например, ноль), изменяя значение переменной (А1). При этом машина найдёт такое значение переменной, при котором функции будет иметь значение, наиболее близкое к заданному. Однако, многое зависит от начального приближения, поэтому рекомендую предварительно построить график (диаграмму) искомой функции для приблизительного определения первого приближения. К сожалению, в качестве первого приближения нельзя использовать результат функции, а то бы можно было бы использовать математическое решение задачи.
P.S. Если тебе необходимо написать процедуру на VBA, которая решала бы это уравнение: включи режим записи макроса, проделай все вышеописанные действия, выключи режим записи макроса и посмотри в редакторе текст процедуры. После чего, его можно отредактировать по желанию.
P.P.S. Да забыл совсем, еще можно на глазок (по диаграмме) определить область, в которой находится решение, и для каждого значения в неё (с достаточно малым шагом) рассчитать значения функции - просто копируя строки, например.
После чего проанализировать полученные результаты, например, с помощью функций МИН(), ПОИСКЗНАЧ() и ИНДЕКС() - см. справку. Такое решение значительно более громоздкое, однако, оно не требует использования возможностей VBA.
P.P.P.S. а чем тебя не устраивает чисто математическое решение задачи: задал объём, получил радиус и высоту?