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

2 / отчет2

.docx
Скачиваний:
1
Добавлен:
18.02.2023
Размер:
124 Кб
Скачать

Лабораторная работа №2

Исследование нелинейных моделей. Бифуркация Андронова – Хопфа.

#include <iostream>

#include <fstream>

#include <algorithm>

#include <stdlib.h>

#include <vector>

#include <iterator>

#include <math.h>

using namespace std;

int const n = 100000, n1 = 1000, m = n / n1;

double f1(double t, double x, double y);

double f2(double t, double x, double y);

int main() {

int i, k;

double k11, k12, k13, k14, k21, k22, k23, k24;

double x, y;

double res[6][n1 + 1], h, a, b, t, pi;

pi = 2.0 * asin(1.0);

a = 0.0;

b = 20.0;

h = (b - a) / double(n);

k = 0;

x = 1.0;

y = 0.0;

t = a;

res[1][0] = t;

res[2][0] = x;

res[3][0] = y;

for (i = 1; i <= n; i++) {

k11 = f1(t, x, y);

k21 = f2(t, x, y);

k12 = f1(t + h / 2.0, x + h / 2.0 * k11, y + h / 2.0 * k21);

k22 = f2(t + h / 2.0, x + h / 2.0 * k11, y + h / 2.0 * k21);

k13 = f1(t + h / 2.0, x + h / 2.0 * k12, y + h / 2.0 * k22);

k23 = f2(t + h / 2.0, x + h / 2.0 * k12, y + h / 2.0 * k22);

k14 = f1(t + h, x + h * k13, y + h * k23);

k24 = f2(t + h, x + h * k13, y + h * k23);

x = x + h * (k11 + 2.0 * (k12 + k13) + k14) / 6.0;

y = y + h * (k21 + 2.0 * (k22 + k23) + k24) / 6.0;

t = t + h;

if (i % m == 0) {

k = k + 1;

res[2][k] = x;

res[3][k] = y;

res[1][k] = t;

printf("x(%.2lf)=%.8lf y(%.2lf)=%.8lf\n",t,x,t,y);

}

}

ofstream file;

file.open("105.txt", ios::out);

if (file.is_open())

{

for (i = 0; i <= n1; i++) {

file << res[2][i] << " \t" << res[3][i] << endl;

//fprintf(file, "%.16lf %.16lf\n", res[2][i], res[3][i]);

}

file.close();

}

}

double f1(double t, double x, double y) {

return 0.25 * x - y - x * (x * x + y * y);

}

double f2(double t, double x, double y) {

return x + 0.25 * y - y * (x * x + y * y);

}

1. При a = 0.25, x = 1.0, y = 0.0:

2. При a = 0.25, x = 0.1, y = 0.0:

3. При a = -0.25, x = 1.0, y = 0.0:

Видно, что качественные свойства решения системы уравнений Хопфа – Андронова, полученные аналитически и численно, полностью совпадают.

Соседние файлы в папке 2