Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив2 / курсач docx283 / Kursach_Gusev.docx
Скачиваний:
55
Добавлен:
07.08.2013
Размер:
84.02 Кб
Скачать

Федеральное государственное бюджетное

образовательное учреждение высшего профессионального образования

«Ивановский государственный энергетический университет им. В. И. Ленина»

Кафедра

Программного обеспечения компьютерных систем

Курсовая работа

по дисциплине «Вычислительная математика»

Выполнил:

Студент гр. 3-42к Фёдоров А.С.

Проверил:

К.ф.м.н. проф. Гусев В.А.

Иваново 2011 г.

Задание.

Построить решение дифференциального уравнения, подобрать многочлен, описывающий полученное решение и определить корни многочлена на полученном интервале

y’’+10*y’+650*y = 3900y’= z

x0 = 0 z’ + 10*z + 650*y = 3900

y0 = 41.3553

y’0= 707.1067

Точность ε = 0.0001

Нахождение корней методом Рунге-Кутта.

Для достижения лучшей точности будем использовать метод Р.-К. 4го порядка.

Выбор шага: Сначала возьмем h = 0.001.

Алгоритм вычислений для классического метода Рунге-Кутта:

Имеемфункцию

, где

Ход вычислений:

(Для выбора шага достаточно 15 точек)

h = 0.001

i

xi

yi

0

0

41.3553

1

0.001

42.0474

2

0.002

42.7093

3

0.003

43.3408

4

0.004

43.9419

5

0.005

44.5125

6

0.006

45.0525

7

0.007

45.5618

8

0.008

46.0405

9

0.009

46.4886

10

0.01

46.9060

11

0.011

47.2928

12

0.012

47.6490

13

0.013

47.9748

14

0.014

48.2701

15

0.015

48.5352

Делим шаг пополам и вычисляем точки до 15 с новым шагом:

h = 0.0005

i

xi

yi

0

0

41.3553

1

0.0005

41.2833

2

0.001

42.0474

3

0.0015

42.3821

4

0.002

42.7093

5

0.0025

42.0288

6

0.003

43.3408

7

0.0035

43.6451

8

0.004

43.9419

9

0.0045

44.2310

10

0.005

44.5125

11

0.0055

44.7863

12

0.006

45.0525

13

0.0065

45.3110

14

0.007

45.5618

15

0.0075

45.8050

Видим, что yi для выделенных значений xi сходятся с требуемой точностью. Возьмем шаг h = 0.001.

Рис.1

График, построенный по точкам, обозначен темной линией на рисунке 1.

Будем интерполировать функцию на интервале [0,1.2], так как установившийся режим наступает после точки 1.2. h = 0.001

Интерполяционный многочлен будем подбирать методом наименьших квадратов:

, где n – количество узлов интерполяции,

m – степень многочлена.

……………………………………………………………..

Матрица коэффициентов симметрична относительно главной диагонали, и ее можно решить методом Гаусса-Зейделя.Расписывать ее и приводить подробное решение не будем ввиду большого размера матрицы.

Примем m = 69. Тогда интерполяционный многочлен:

График этого многочлена также представлен на рис.1 (пунктирной линией).

Высчитываем погрешность методом суммарного отклонения квадратов:

(Приведем выборочно по 10-15 значений на разных отрезках, так как вывод 1200 значений, очевидно, неудобен)

i

xi

yi

P(x)

0

0

41,3553

25,2826

1

0.001

42,0474

28,1319

2

0.002

42,7093

30,8130

3

0.003

43,3408

33,3313

4

0.004

43,9419

35,6918

5

0.005

44,5125

37,8995

6

0.006

45,0525

39,9593

7

0.007

45,5618

41,8760

8

0.008

46,0405

43,6543

9

0.009

46,4886

45,2987

10

0.01

46,9060

46,8138

11

0.011

47,2928

48,2040

12

0.012

47,6490

49,4735

13

0.013

47,9748

50,6265

…………………………………………………………………….

96

0.096

4,6451

-0,7210

97

0.097

3,8835

-1,3756

98

0.098

3,1308

-2,0130

99

0.099

2,3875

-2,6333

100

0.1

1,6539

-3,2363

101

0.101

0,9304

-3,8220

102

0.102

0,2174

-4,3903

103

0.103

-0,4848

-4,9412

104

0.104

-1,1758

-5,4748

105

0.105

-1,8553

-5,9909

106

0.106

-2,5229

-6,4896

107

0.107

-3,1784

-6,9710

108

0.108

-3,8214

-7,8818

109

0.109

-4,4517

-8,3113

110

0.11

-5,0689

-8,7237

……………………………………………………………………

195

0.195

-5,0008

-1,3626

196

0.196

-4,5615

-1,0508

197

0.197

-4,1198

-0,7397

198

0.198

-3,6758

-0,4295

199

0.199

-3,2301

-0,1202

200

0.2

-2,7828

0,1878

201

0.201

-2,3343

0,4945

202

0.202

-1,8848

0,7998

203

0.203

-1,4348

1,1035

204

0.204

-0,9843

1,4054

205

0.205

-0,5339

1,7055

206

0.206

-0,0837

2,0036

207

0.207

0,3659

2,2996

208

0.208

0,8147

2,5933

209

0.209

1,2624

2,8847

……………………………………………………………………….

378

0.378

0,5258

4,7367

379

0.379

0,4254

4,6504

380

0.380

0,3295

4,5656

381

0.381

0,2383

4,4824

382

0.382

0,1517

4,4007

383

0.383

0,0697

4,3206

384

0.384

-7.5655*10^-3

4.2420

385

0.385

-0,0802

4,1651

386

0.386

-0,1482

4,0899

387

0.387

-0,2115

4,0162

388

0.388

-0,2702

3,9443

389

0.389

-0,3243

3,8740

390

0.390

-0,3737

3,8054

391

0.391

-0,4185

3,7385

392

0.392

-0,4587

3,6734

……………………………………………………………………

412

0.412

-0,3470

2,7440

413

0.413

-0,2992

2,7165

414

0.414

-0,2477

2,6907

415

0.415

-0,1927

2,6668

416

0.416

-0,1343

2,6446

417

0.417

-0,0725

2,6242

418

0.418

-7.3574*10^-3

2.6055

419

0.419

0,0610

2,5887

420

0.420

0,1325

2,5735

421

0.421

0,2072

2,5601

422

0.422

0,2848

2,5485

423

0.423

0,3653

2,5385

424

0.424

0,4487

2,5303

425

0.425

0,5348

2,5237

426

0.426

0,6236

2,5188

На рис.1 видим, что на промежутке, примерно равном [0,0.53] график P(x) довольно близко подходит к графику исходной функции у, а на промежутке [0.53,1.2] расхождение усиливается. Это и обусловило такую большую погрешность. Если мы возьмем многочлен степени не 69, а 68, получим погрешность , что намного больше δ69. Если же возьмем степень 70, то получим погрешность что сравнительноненамного меньшеδ69. Выше 70-й степени начинаются сильные расхождения на промежутке [0.53,1.2], и это приведет к гораздо большей погрешности (порядка 10:4 и выше).

(Приведем 1-е 14 и последние 15 точек)

i

xi

yi

P(x)

0

0

41,3553

14,7525

1

0,001

42,0474

18,9603

2

0,002

42,7093

22,9133

3

0,003

43,3408

26,6205

4

0,004

43,9419

30,0904

5

0,005

44,5125

33,3313

6

0,006

45,0525

36,3514

7

0,007

45,5618

39,1586

8

0,008

46,0405

41,7606

9

0,009

46,4886

44,1651

10

0,01

46,9060

46,3794

11

0,011

47,2928

48,4106

12

0,012

47,6490

50,2658

13

0,013

47,9748

51,9517

………………………………………………………………………..

1186

1,186

5,8896

3,3143

1187

1,187

5,8920

3,6244

1188

1,188

5,8945

3,9872

1189

1,189

5,8970

4,4064

1190

1,19

5,8995

4,8859

1191

1,191

5,9021

5,4299

1192

1,192

5,9048

6,0425

1193

1,193

5,9074

6,7282

1194

1,194

5,9101

7,4918

1195

1,195

5,9129

8,3380

1196

1,196

5,9156

9,2719

1197

1,197

5,9184

10,2988

1198

1,198

5,9212

11,4242

1199

1,199

5,9241

12,6539

1200

1,2

5,9241

13,9939

Как видим, погрешность очень велика. Очевидно, невозможно интерполировать нашу функцию на данном интервале с достаточно большим приближением одним многочленом. Поэтому разбиваем интервал на 2 части и для каждой подбираем свой интерполяционный многочлен.

Все множество точек – 1200 – делим на три по 400.

Получаем три интервала: [0,0.4], [0.401,0.8], [0.801,1.2].

Интерполируем функцию на интервале [0,400].

Примем m = 19.

Матрица коэффициентов системы уравнений довольно громоздка, поэтому не будем ее расписывать и перейдем сразу к решению. Решая методом Гаусса-Зейделя, получаем:

Приведем 1-е 14 и последние 15 точек.

i

xi

yi

P(x)

0

0

41,3553

41,3550

1

0,001

42,0474

42,0473

2

0,002

42,7093

42,7093

3

0,003

43,3408

43,3409

4

0,004

43,9419

43,9421

5

0,005

44,5125

44,5127

6

0,006

45,0525

45,0527

7

0,007

45,5618

45,5621

8

0,008

46,0405

46,0407

9

0,009

46,4886

46,4888

10

0,01

46,9060

46,9061

11

0,011

47,2928

47,2929

12

0,012

47,6490

47,6491

13

0,013

47,9748

47,9748

386

0,386

-0,1482

-0,1482

387

0,387

-0,2115

-0,2115

388

0,388

-0,2702

-0,2702

389

0,389

-0,3243

-0,3242

390

0,39

-0,3737

-0,3737

391

0,391

-0,4185

-0,4185

392

0,392

-0,4587

-0,4587

393

0,393

-0,4944

-0,4944

394

0,394

-0,5254

-0,5255

395

0,395

-0,5520

-0,5520

396

0,396

-0,5740

-0,5741

397

0,397

-0,5916

-0,5917

398

0,398

-0,6047

-0,6048

399

0,399

-0,6135

-0,6135

400

0,4

-0,6179

-0,6178


Посмотрим, нельзя ли обеспечить лучшую точность. Повысим степень многочлена.

m = 20

– ошибка незначительно меньше. Оптимальная степень многочлена для нашей задачи – 19. (При степени 18 получаем ошибку

, котораясовершенно не удовлетворяет нашим условиям).

График полученного многочлена приведен на рис.2. Как видим, он практически совпадает с графиком функции на [0,0.4]Рис.2

Интерполирование на отрезке [0.401,0.8]

Сразу возьмем степень m = 25:

Приведем 1-е 15 и последние 15 точек.

i

xi

yi

P(x)

401

0,401

-0,6179

-0,6133

402

0,402

-0,6138

-0,6099

403

0,403

-0,6052

-0,6023

404

0,404

-0,5926

-0,5903

405

0,405

-0,5758

-0,5742

406

0,406

-0,5549

-0,5539

407

0,407

-0,5300

-0,5295

408

0,408

-0,5011

-0,5011

409

0,409

-0,4683

-0,4688

410

0,41

-0,4316

-0,4325

411

0,411

-0,3912

-0,3923

412

0,412

-0,3470

-0,3484

413

0,413

-0,2992

-0,3008

414

0,414

-0,2477

-0,2496

415

0,415

-0,1927

-0,1947

…………………………………………………………………….

786

0,786

6,9821

6,9821

787

0,787

6,9765

6,9765

788

0,788

6,9704

6,9703

789

0,789

6,9636

6,9635

790

0,79

6,9564

6,9561

791

0,791

6,9486

6,9483

792

0,792

6,9402

6,9399

793

0,793

6,9313

6,9310

794

0,794

6,9219

6,9216

795

0,795

6,9120

6,9117

796

0,796

6,9017

6,9014

797

0,797

6,8908

6,8907

798

0,798

6,8795

6,8795

799

0,799

6,8677

6,8681

800

0,8

6,8554

6,8563


– минимальная сумма квадратов разностей д/многочлена 25-й степени.

Проверим, не даст ли многочлен степени 26 лучшую точность:

m = 26.

Считаем погрешность. Наименьшая сумма квадратов д/многочлена 26 степени равна:

. Ошибка приблизительно такая же и даже чуть больше из-за распространения погрешности.

Проверяя, не будет ли оптимальным многочлен степени 24, получим ошибку

, которая больше полученной для 25-й степени.

Таким образом, оптимальный многочлен, описывающий функцию на данном интервале, имеет степень 25.

График полученного многочлена приведен на рис.3. Как видим, он практически совпадает с графиком функции на [0.401,0.8]

Рис.3

Соседние файлы в папке курсач docx283