Найти минимум функции: y = log^3 ( |x -12|^1,7 +5,1) логарифм по основанию 2. язык паскаль

hjdbrvjt hjdbrvjt    2   09.06.2019 07:50    0

Ответы
mrdruss mrdruss  08.07.2020 06:55
Function f(x: real): real;
begin
  f := exp(3 * ln(ln(exp(1.7 * ln(abs(x - 12))) + 5.1))) / exp(3 * ln(ln(2)));
end;

var
  a, b, eps, r, delta, lp, rp, sgn: real;

begin
  r := (sqrt(5) + 1) / 2; {Пропорция золотого сечения}
  writeln('Пропорция золотого сечения=', r:0:6);
  writeln('Задайте границы интервала и точность решения');
  readln(a, b, eps);
  delta := eps / 2;
  rp := a + (b - a) / r;
  lp := b - (b - a) / r;
  if f(a) > (f(a + delta)) then sgn := 1 else sgn := -1;
  while abs(b - a) > eps do
  begin
    rp := a + (b - a) / r;
    lp := b - (b - a) / r;
    if (sgn * f(lp)) < (sgn * f(rp)) then b := rp else a := lp
  end;
  if sgn = -1 then writeln('Максимум достигнут при х=', lp:0:6,
      ', значение функции равно ', f(lp):0:6)
  else writeln('Минимум достигнут при х=', rp:0:6,
      ', значение функции равно ', f(rp):0:6)
end.

Тестовое решение:

Пропорция золотого сечения=1.618034
Задайте границы интервала и точность решения
11 15 0.00001
Минимум достигнут при х=11.999996, значение функции равно 12.986115
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика