Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 курс / Численные методы / Задание 5 / Метод парабол конечные разности

.pas
Скачиваний:
37
Добавлен:
29.03.2016
Размер:
1 Кб
Скачать
function f(x:real):real; {Исходная функция}
begin
 f:=(x-3)*(x-3)-1+sin(x);
end;

var a,b,x,e,h,en:real;
    i:integer;
begin
 writeln ('Нахождение минимума функции методом парабол (модификация метод конечных разностей)');
 writeln ('Уравнение f:=(x-3)^2-1+sin(x), пределы a=0, b=5, шаг сетки h=0,000001, точность e=0,001');
 writeln ('Введите левую границу интервала:');
 readln (a);
 writeln ('Введите правую границу интервала:');
 readln (b);
 writeln ('Введите шаг сетки (т.е. приращение координаты х):');
 readln (h);
 writeln ('Введите требуемую точность решения:');
 readln (e);
 writeln ('Решение:');
 writeln ('Номер шага Значение x');
 en:=abs(a-b);
 x:=b;
 i:=1;
 while ((en)>e) do 
 begin {Пока не достигнута точность}
 x:=x-(h*(f(x+h)-f(x-h)))/(2*(f(x+h)-2*f(x)+f(x-h))); {выполнить шаг метода}
 writeln (i:10,x:20:14); {вывести значение X с шага}
 en:=abs(x-b); {Новая точность}
 b:=x; {Значение границы для следующего шага}
 i:=i+1; {Номер шага}
 end;
end.
Соседние файлы в папке Задание 5