отчет2 - line.tom.ru

advertisement
Министерство образования и науки
Государственное образовательное учреждение высшего
профессионального образования
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТОМСКИЙ
ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Институт кибернетики
Кафедра информатики и проектирования систем
Отчет по лабораторной работе №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
Related documents
Download