Министерство образования и науки Государственное образовательное учреждение высшего профессионального образования «НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» Институт кибернетики Кафедра информатики и проектирования систем Отчет по лабораторной работе №2 по дисциплине «Методы оптимизации» Вариант№4 Метод стрельбы Студент гр 8ВМ14 _____________ Кокойко К.С. (подпись) _____________ (дата) Руководитель ____________ Рейзлин В.И. (подпись) _____________ (дата) Томск – 2011 Цель работы: Решить краевую задачу методом стрельбы, используя схему секущих. 𝑦 𝑦 ′′ + 2𝑦 ′ − = 3 𝑥 y(0,2) = 2 0,5y(0,5) - y'(0,5) = 1. Интервал [0,2; 0,5] Листинг программы: #include #include #include #include <fstream.h> <iostream.h> <math.h> <conio.h> double U = 0; double V = 0; double F0(double x, double u, double v) { return v; } double F1(double x, double u, double v) { return 3 - 2 * v + v / x; } void runge(double x0, double xn, double y0, double t0, double h) { double f0, f1, f2, f3, q0, q1, q2, q3, df, dq, y, x, t; x = x0; y = y0; t = t0; while q0 f0 q1 f1 q2 f2 q3 f3 df dq (x < xn) { = F0(x, y, t); = F1(x, y, t); = F0(x + h / 2.0, y + q0 * h / 2.0, t = F1(x + h / 2.0, y + q0 * h / 2.0, t = F0(x + h / 2.0, y + q1 * h / 2.0, t = F1(x + h / 2.0, y + q1 * h / 2.0, t = F0(x + h, y + q2 * h, t + f2 * h); = F1(x + h, y + q2 * h, t + f2 * h); = h * (f0 + 2.0 * f1 + 2.0 * f2 + f3) = h * (q0 + 2.0 * q1 + 2.0 * q2 + q3) y += dq; t += df; x += h; } U = y; V = t; } double psi(double N) { 2 + + + + f0 f0 f1 f1 * * * * / 6.0; / 6.0; h h h h / / / / 2.0); 2.0); 2.0); 2.0); runge(0.2, 0.5, 2, N, 0.1); return 0.5 * U - V - 1; } int main(int argc, char* argv[]) { double N[100], Wi; int i = 0; N[0] = 0.6; N[1] = 0.5; Wi = psi(N[i]); while (fabs(Wi) > 0.000001) { if (i >= 2) { N[i+1] = N[i] - (N[i] - N[i-1]) * Wi / (Wi - psi(N[i-1])); } i++; Wi = psi(N[i]); cout <<U <<" | " <<V <<endl; } _getch(); return 0; } Результаты работы программы: x y y` 0.2 2 -3.70284 0.3 1.71694 -2.08442 0.4 1.5655 -1.01085 0.5 1.50461 -0.247693 U V 2.33821 | 1.67386 2.14921 | 0.987788 1.85745 | -0.071273 Выводы: В результате выполнения лабораторной работы был реализован метод стрельбы для решения краевой задачи и получены решения для заданного уравнения. 3