1 / 1 / 1
Регистрация: 08.12.2012
Сообщений: 47
1

Паскаль. Минимум функции на отрезке с точностью (см. внутри)

05.04.2013, 18:42. Показов 2656. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Найти приближенно, с точностью до 0,01, минимум функции f(x) = ax^2 + bx + с на отрезке х1<= х <=х2. Значения х1, х2 и а, b, с ввести как константы.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses crt;
var
a,b,c,x1,x2,x,fx,fx_min:real;
begin
read(a,b,c,x1,x2);
x:=x1;
fx_min:=a*x*x+b*x+c;
while x<x2 do
begin
fx:=a*x*x+b*x+c;
x:=x+0.01;
if fx<fx_min then
begin
fx_min:=fx;
end;
end;
writeln('Минимум функции',fx_min:0:2);
end.
С таким заданием столкнулся впервые. Не могу понять, что здесь не так.

Добавлено через 14 минут
Она то работает, но она сделана не так. Нужно, чтобы была проверка точности.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.04.2013, 18:42
Ответы с готовыми решениями:

Найти минимум и максимум функции на отрезке
Народ, помогите, пожалуйста, вот с такой задачкой: Перебором с шагом 0.05 найти минимум функции...

Найти минимум функции f(x)=4x2+8 на отрезке [а; b].
Найти минимум функции f(x)=4x2+8 на отрезке . (не могу решить ) Спасибо за прошлую помощь !!!!!...

Минимум и максимум функции на заданном отрезке
Написать программу, которая выводит минимум и максимум функции на заданном отрезке. Входные данные...

Найти минимум функции f(x)=e^x-x^3 методом перебора с шагом 0,05 на отрезке [1,5; 4,5].
Найти минимум функции f(x)=e^x-x^3 методом перебора с шагом 0,05 на отрезке . Построчно...

5
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 8
05.04.2013, 20:07 2
Не понял вопроса...
0
1 / 1 / 1
Регистрация: 08.12.2012
Сообщений: 47
05.04.2013, 21:32  [ТС] 3
Вообщем, надо прочитать условие. А код - это то, что у меня получилось. Я надеюсь на помощь более разбирающихся ребят в этом деле.
0
228 / 225 / 220
Регистрация: 03.07.2012
Сообщений: 466
06.04.2013, 15:30 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses crt;
var
a,b,c,x1,x2,x,fx,fx_min:real;
function f(x,a,b,c:real):real;
begin
  f := a*x*x+b*x+c;
end;
begin
read(a,b,c,x1,x2);
x:=x1;
fx_min:=f(x1,a,b,c);
while x<x2 do
begin
fx:=f(x,a,b,c);
x:=x+0.01;
if fx<fx_min then
begin
fx_min:=fx;
end;
end;
writeln('Минимум функции',fx_min:0:2);
end.
0
1 / 1 / 1
Регистрация: 08.12.2012
Сообщений: 47
06.04.2013, 17:08  [ТС] 5
Спасибо, но это не то. Вы сделали фактически тоже самое, что и я, но только через пользовательскую функцию.
0
1 / 1 / 1
Регистрация: 08.12.2012
Сообщений: 47
14.04.2013, 13:05  [ТС] 6
У меня есть вариант с массивом и изменением x1 и x2:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses crt;
const e=0.01;
var y:array[1..4]of real;
x,x1,x2,h:real; 
i:byte;
begin
write('Введите a,b,c,x1,x2: ');
read(a,b,c,x1,x2);
repeat
h:=(x2-x1)/3;
for i:=1 to 4 do
begin
x:=x1+(h*(i-1)); 
y[i]:=a*sqr(x)+b*x+c;
end;
if (y[1]>y[2]) and (y[2]>y[3]) then
x1:=x1+h
else 
x2:=x2-h;
until abs(y[3]-y[4])<e;
writeln('x= ',x:10:8); writeln('f= ',y[4]:10:8);
end.
Мне нужно без массива и не трогать x1 и x2. В условии сказано, что их ввести как константы, т.е. ввести с клавиатуры и не изменять.
0
14.04.2013, 13:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.04.2013, 13:05
Помогаю со студенческими работами здесь

Вычислить значения функции 1 – x + sin(x) – ln(1+x) = 0 на отрезке [0;1.5] с точностью 10
Я болел на этой теме, теперь не могу решить.. а задание такое: Цель: Разработка алгоритмов,...

Найти приближенно, с точностью до 0.01, минимум функции на отрезке
Найти приближенно, с точностью до 0.01, минимум функции f(x) = ax2+bx+c на отрезке x1&lt;=x&lt;=x2....

Минимум функции на отрезке
Всем добрый день! Подскажите пожалуйста, как можно найти минимум функции которая была...

Найти минимум функции с точностью 0.001
f(x) = a * {x}^{2} + b * x + c. x1&lt;= x &lt;= x2. Числа x1,x2,a,b,c ввести как константы.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru