Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 практ Сучасні технології у РВ ч1.doc
Скачиваний:
15
Добавлен:
03.03.2016
Размер:
2 Мб
Скачать
☆

Ч2 лр 52 “Поиск экстремума ”

Цель: освоить использование численного метода для поиска экстремума.

Исходные условия: знание теории численного метода.

Постановка задачи (ПЗ). Найти численным методом максимального значения (экстремума) полинома 2й степени y=a1 + b1*t - c1*t*t , где a1=0,2; b1=4; c1=1,1.

Выполнение работы

Графический метод решения задачи поиска экстремума.

  1. Выражение полинома y=a1 + b1*t - c1*t*t, гдеa1=0.2;b1=42;c1=1,1.

Полотно 289

Рисунок 1. Графическое решение поиска экстремума.

Математический аппарат численного метода решения задачи поиска экстремума.

  1. Выражение полинома y=a1 + b1*t - c1*t*t

  • где a1=0,2;

  • b1=4;

  • c1=1,1.

  1. Исходные параметры аргумента:

  • начальное значение аргумента t=0;

  • шаг по аргументу, dt=0,5.

  1. Критерий решения задания:

  • определить знак приращения функции на шаге dy = yN-y(N-1);

  • где Nномер шага;

  • при dy < 0 – решение найдено (максимум пройден и значение функции уменьшается).

Алгоритм решения задачи поиска экстремума.

  1. Задать исходные данные, см. пункты 4,5.

  2. Начало решения – определить начальное значения:

  • аргумента, t=0;

  • функции, y = a1 + b1*t - c1*t*t = 0,2 + 4*0 – 1.1*0*0 = 0,2;

  • номера шага, N =0.

  1. Решение на шаге:

  • запомнить значение функции на предыдущем шаге yP = y;

  • определить номер шага, N =N+1.

  • определить значение аргумента на шаге t=t + dt;

  • определить значение функции на шаге y = 5 + 2*t – 1,

  • 2*t*t

  • определить знак приращения функции на шаге dy = y – yP.

  1. Оценка результата на шаге:

  • при dy > 0 – решение не найдено, необходимо делать очередной шаг.

  • при dy < 0 – решение найдено (максимум пройден и значение функции уменьшается), необходимо выдать результат.

  1. Окончание и выдача результата на экран (показать значения):

  • количество шагов N;

  • аргумента t;

  • отклика (функции)y;

  • ошибки dy.

Ч3 лр 52 “Знакомство с циклом While ” rN3fioWhile

Цель: разработать программную реализацию численного метода.

Исходные условия: знание теории численного метода и наличие студии NetBeans.

Постановка задачи (ПЗ). Создать приложение обеспечивающее поиск численным методом максимального значения (экстремума) полинома 2й степени y=a1 + b1*t - c1*t*t , где a1=0,2; b1=4; c1=1,1. *Использовать алгоритм разработанный в лабораторной работе ч2.

Выполнение работы

  1. Теория while (n < lim) {операторы – изменяют n}. Операторы выполняются пока соблюдается условие

  1. Создать приложение:

  • имя проекта - rN3fioWhile;

  • имя формы (тип JFrame) - fWhileFio

  • имяпакета- pWhileFio

  1. Интерфейс приложения (на форме разместить):

  • имя формы;

  • кнопку bStartFio старта задачи;

  • текстовое поле yMaxFio для вывода результата.

  1. В кнопке bStartFio создать событие MouseClicked обеспечивающее выполнение постановки задачи. Должно получиться подобное нижеприведенному

private void bStartFioMouseClicked(java.awt.event.MouseEvent evt) {

//исходные значения

int N = 0;

double a1 = 0.2, b1 = 4, c1 = 1.1, dt = 0.5;

double yFio, yP, tFio = 0, dy = 0.001;

b1 = 100;

dt = 0.1;

//начало решения

yFio = a1 + b1 * tFio - c1 * tFio * tFio;

//решение на шаге

while (dy > 0) {

yP = yFio;

N = N + 1;

tFio = tFio + dt;

yFio = a1 + b1 * tFio - c1 * tFio * tFio;

dy = yFio - yP;

}

yMaxFio.setText(String.format("%.3f",yFio));

t.setText(String.valueOf(tFio));

n.setText(String.valueOf(N));

}

Дополнительное задание.

  • Модифицировать форму для вывода на экран значения tFio и метод для решения при b1 равном номеру студента в журнале.

  • Запустить приложение.

После выполнения показать преподавателю.