Pascal. для функции y=x(x-1)^2(x-2)^3 записать в массив в значение аргумента х на интервале [-0,3; 0,5] и найти минимум этой функции и соответствующее значение аргумента
var b: array[1..nm] of real; x, y, min: real; i, n, imin: integer;
begin n := trunc((a2 - a1) / h + 1); x := a1; min := 1e20; for i := 1 to n do begin b[i] := x; y := x * sqr(x - 1) * (x - 2) * sqr(x - 2); if min > y then begin imin := i; min := y end; x := a1 + i * h end; Writeln('Минимальное значение ', min, ' достигнуто при аргументе ', b[imin]) end.
Результат выполнения программы: Минимальное значение -0.746496 достигнуто при аргументе 0.2
Аналитическое решение показывает, что у функции имеется локальный минимум в точке x=(5-√13)/6≈0.2324081207; при этом функция принимает значение, приблизительно равное -0.7562371972, поэтому решение можно считать верным.
a1 = -0.3;
a2 = 0.5;
h = 0.1;
nm = 50;
var
b: array[1..nm] of real;
x, y, min: real;
i, n, imin: integer;
begin
n := trunc((a2 - a1) / h + 1);
x := a1; min := 1e20;
for i := 1 to n do
begin
b[i] := x;
y := x * sqr(x - 1) * (x - 2) * sqr(x - 2);
if min > y then begin imin := i; min := y end;
x := a1 + i * h
end;
Writeln('Минимальное значение ', min, ' достигнуто при аргументе ', b[imin])
end.
Результат выполнения программы:
Минимальное значение -0.746496 достигнуто при аргументе 0.2
Аналитическое решение показывает, что у функции имеется локальный минимум в точке x=(5-√13)/6≈0.2324081207; при этом функция принимает значение, приблизительно равное -0.7562371972, поэтому решение можно считать верным.