Ответ(ы) на вопрос:
Гость
Вспоминаем математику. Если функция дважды дифференцируема, то её минимум находится в точке х тогда, когда в этой точке первая производная равна нулю, а вторая производная имеет положительное значение.
[latex]\displaystyle f(x)=ax^3+bx^2+cx+d \\ f^{'}(x)=3ax^2+2bx+c \\ f^{''}(x)=6ax+2b \\ f^{'}(x)=0; \ 3ax^2+2bx+c=0; D=4b^2-12ac; \ D\ge0[/latex]
// PascalABC.NET 3.1, сборка 1246 от 23.05.2016
function f(a,b,c,d,x:real):=d+x*(c+x*(b+a*x));
begin
var a,b,c,d:real;
Write('Введите значения a b c d: ');
Read(a,b,c,d);
var dd:=4*b*b-12*a*c;
if dd<0 then Writeln('Минимум отсутствует')
else
if dd=0 then begin
var d1:=-b/(3*a);
Writeln('f(',d1,')=',f(a,b,c,d,d1))
end
else begin
dd:=sqrt(dd);
var d1:=(-2*b-dd)/(6*a);
var d2:=(-2*b+dd)/(6*a);
if 6*a*d1+2*b>0 then Writeln('f(',d1,')=',f(a,b,c,d,d1));
if 6*a*d2+2*b>0 then Writeln('f(',d2,')=',f(a,b,c,d,d2));
end
end.
Тестовое решение
Введите значения a b c d: 5 90 20 10
f(-0.112159422448102)=8.88193311534206
Не нашли ответ?
Похожие вопросы