Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Индивидуальное задание. Найти минимальное значение функции последовательно тремя численными методами для указанных исходных данных.






Найти минимальное значение функции последовательно тремя численными методами для указанных исходных данных.

 

Вариант Функция Исходный ИН Конечный ИН Точность
  [0, 1] [0, 02] [0, 001]
  [0, 1] [0, 025] [0, 001]
  [0, 1] [0, 015] [0, 001]
  [0, 1] [0, 03] [0, 002]
  [0, 1] [0, 01] [0, 001]
  [0, 1] [0, 02] [0, 001]
  [0, 1] [0, 025] [0, 001]
  [1, 2] [0, 02] [0, 001]
  [1, 2] [0, 03] [0, 003]
  [1, 2] [0, 02] [0, 002]
  [0, 1] [0, 02] [0, 001]
  [0, 1] [0, 035] [0, 002]
  [0, 1] [0, 02] [0, 001]
  [0, 1] [0, 04] [0, 001]
  [0, 1] [0, 02] [0, 001]
  [0, 1] [0, 025] [0, 004]
  [0, 1] [0, 02] [0, 001]
  [0, 1] [0, 02] [0, 001]
  [0, 1] [0, 03] [0, 004]
  [0, 1] [0, 02] [0, 001]
  [0, 1] [0, 02] [0, 001]
  [0, 1] [0, 02] [0, 001]
  [0, 1] [0, 02] [0, 001]
  [0, 1] [0, 025] [0, 004]
  [1, 2] [0, 02] [0, 001]

Контрольные вопросы

1. Группы методов определения экстремумов нелинейных функций.

2. Понятие унимодальной функции.

3. Общий принцип нахождения экстремумов нелинейных унимодальных функций.

4. Интервал неопределенности и возможности его уменьшения.

5. Метод дихотомии и порядок вычисления значений функции.

6. Числа Фибоначчи.

7. Метод Фибоначчи, определение номера числа и порядок вычисления значений функции.

8. Метод золотого сечения и порядок вычисления значений функции.

9. Точность вычисления оптимального значения в различных методах.


Приложение1

 

program dihoto;

{Обьявление переменных}

var

a, b, delta, eps, lamda, mu, f1, f2: real;

k: integer;

//Выражение исходной функции

function f(x: real): real;

begin

f: =x*x+2*x

end;

//Начало вычислений

begin

cls;

k: =0;

{Ввод данных}

writeln ('Введите данные');

write ('a='); read(a);

write ('b='); read(b);

write ('delta='); read(delta);

write ('eps='); read(eps);

//Шапка таблицы

writeln (' k ', ' a ', ' b ', ' lamda ', ' mu ', ' f1 ', ' f2 ');

//Сужение отрезка

while Abs(b - a) > delta do

begin

k: =k+1;

lamda: = (a + b) / 2 - eps;

mu: = (a + b) / 2 + eps;

f1: =f(lamda);

f2: =f(mu);

//Вывод текущей строки таблицы

writeln(' ', k, ' ', a: 6: 3, ' ', b: 6: 3, ' ', lamda: 6: 3, ' ', mu: 6: 3, ' ', f1: 6: 3, ' ', f2: 6: 3);

//Сравнение двух значений функции

If f1 < = f2 Then

b: = mu

Else

a: = lamda;

end;

//Вывод конечной длины отрезка

writeln('Конечная длина отрезка');

writeln(' ', 'a=', a: 6: 3, ' ', 'b=', b: 6: 3);

//Значения функции на концах конечного отрезка

f1: =f(a); f2: =f(b);

writeln('Значения функции на концах конечного отрезка');

writeln(' ', 'f(a)=', f1: 6: 3, ' ', 'f(b)=', f2: 6: 3);

writeln('Минимальное значение функции');

writeln(' ', (f1+f2)/2: 6: 3);

end.


Приложение 2

 

program gold;

{Обьявление переменных}

var

a, b, delta, eps, lamda, mu, f1, f2, alfa: real;

k: integer;

//Выражение исходной функции

function f(x: real): real;

begin

f: =x*x+2*x

end;

//Начало вычислений

begin

cls;

k: =0;

{Ввод данных}

writeln ('Введите данные');

write ('a='); read(a);

write ('b='); read(b);

write ('delta='); read(delta);

write ('eps='); read(eps);

//Шапка таблицы

writeln (' k ', ' a ', ' b ', ' lamda ', ' mu ', ' f1 ', ' f2 ');

//Сужение отрезка

while Abs(b - a) > delta do

begin

k: =k+1;

lamda: = a + (1-0.618)*(b-a);

mu: = a + 0.618*(b-a);

f1: = f(lamda);

f2: = f(mu);

//Вывод текущей строки таблицы

writeln(' ', k, ' ', a: 6: 3, ' ', b: 6: 3, ' ', lamda: 6: 3, ' ', mu: 6: 3, ' ', f1: 6: 3, ' ', f2: 6: 3);

//Сравнение двух значений функции

If f1 < = f2 Then

b: = mu

Else

a: = lamda;

end;

//Вывод конечной длины отрезка

writeln('Конечная длина отрезка');

writeln(' ', 'a=', a: 6: 3, ' ', 'b=', b: 6: 3);

//Значения функции на концах конечного отрезка

f1: =f(a); f2: =f(b);

writeln('Значения функции на концах конечного отрезка');

writeln(' ', 'f(a)=', f1: 6: 3, ' ', 'f(b)=', f2: 6: 3);

writeln('Минимальное значение функции');

writeln(' ', (f1+f2)/2: 6: 3);

end.


Приложение 2

 

program fibon;

{Обьявление переменных}

var

a, b, delta, eps, lamda, mu, f1, f2: real;

k, n, i, j: integer;

fi: array [0..9] of integer;

//Выражение исходной функции

function f(x: real): real;

begin

f: =x*x+2*x

end;

//Начало вычислений

begin

cls;

k: =0;

{Ввод данных}

writeln ('Введите данные');

write ('a='); read(a);

write ('b='); read(b);

write ('delta='); read(delta);

write ('eps='); read(eps);

write('максимальное(расчетное)число Фибоначчи n='); read(n);

//a: = -3;

//b: = 5;

//delta: = 0.2;

//eps: = 0.01;

//n: =9;

fi[0]: =1;

fi[1]: =1;

for i: =2 to n do

begin

fi[i]: =fi[i-1]+fi[i-2];

//write(fi[i], ' ');

end;

//Шапка таблицы

writeln (' k ', ' a ', ' b ', ' lamda ', ' mu ', ' f1 ', ' f2 ');

//Сужение отрезка

for j: =1 to n-1 do

begin

k: =k+1;

lamda: = a + fi[n-j-1]/fi[n-j+1]*(b-a);

mu: = a + fi[n-j]/fi[n-j+1]*(b-a);

f1: =f(lamda);

f2: =f(mu);

//Вывод текущей строки таблицы

writeln(' ', k, ' ', a: 6: 3, ' ', b: 6: 3, ' ', lamda: 6: 3, ' ', mu: 6: 3, ' ', f1: 6: 3, ' ', f2: 6: 3);

//Сравнение двух значений функции

If f1 < = f2 Then

b: = mu

Else

a: = lamda;

end;

//Вывод конечной длины отрезка

writeln('Конечная длина отрезка');

writeln(' ', 'a=', a: 6: 3, ' ', 'b=', b: 6: 3);

//Значения функции на концах конечного отрезка

f1: =f(a); f2: =f(b);

writeln('Значения функции на концах конечного отрезка');

writeln(' ', 'f(a)=', f1: 6: 3, ' ', 'f(b)=', f2: 6: 3);

writeln('Минимальное значение функции');

writeln(' ', (f1+f2)/2: 6: 3);

end.







© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.