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

8510

.pdf
Скачиваний:
0
Добавлен:
25.11.2023
Размер:
1.67 Mб
Скачать

90

6.2. Пример программы на VBA

Рассмотрим, как можно решить задачу, рассмотренную в разделе

3.2 с помощью программы, составленной на VBA (рис. 13).

 

 

 

 

 

Начало

 

 

 

 

 

 

 

 

 

Ввод a , b ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c (a b) / 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нет

F(a) F(c) 0

 

 

Да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a c

 

 

 

 

 

b c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b a

Да

 

Нет

x (a b) / 2 ; (b a) / 2

Вывод x ,

Конец

Рис. 13. Блок-схема алгоритма уточнения корня уравнения F(x) 0 на отрезке a; b с

точностью методом половинного деления

91

Код программы на языке VBA, реализующей алгоритм метода по-

ловинного деления, может быть представлен следующим образом.

Sub Bisection()

Dim x As Double, a As Double, b As Double, e As Double, c As Double Dim i As Integer, n As Integer

a=0

b=1

n=0

e=0,00025 For i=1 To 20 n=n+1 c=(a+b)/2

If (b-a)/2<e Then GoTo Finish If f(a)*f(c)<0 Then

a=a

b=c Else a=c b=b

End If Next i finish:

x=c

Debug.Print «корень уравнения x=»; x; «точность вычисления»; (b-a)/2

Debug.Print «число итераций»; n

End Sub

Private Function f(x As Double) As Double f=x-Cos(x)

End Function

92

7. Лабораторный практикум

Практикум предназначен для более глубокого усвоения и детально-

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

7.1.Требования к письменному оформлению лабораторных работ

В каждой лабораторной работе должны быть указаны:

1.Порядковый номер, название работы, номер варианта.

2.Цель работы.

3.Краткое изложение сути исследуемого вычислительного алго-

ритма.

4.Блок-схема алгоритма.

5.Пошаговое описание алгоритма.

6.Программа на языке VBA.

7.Результаты выполнения программы с заданной точностью.

7.2.Лабораторная работа №1. Метод половинного деления

Задание

Отделите графическим способом корни данного уравнения и уточ-

ните их методом половинного деления с точностью до 0,5 10 4 . Урав-

нения по вариантам приводятся в таблице 1.

93

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант

Уравнение

Вариант

 

Уравнение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2 x x 1

2

0,9 ln x ( 1,1) x 1 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,9

 

 

x lg x 0,6

 

 

 

 

 

 

 

 

 

 

 

 

3

1,2 x x

4

 

 

 

 

 

 

5

x 1 2 0,6 e x

6

2 x x 0,1 0,9

 

 

 

 

 

 

 

 

 

 

 

 

1,1 ln x 0,9 x 1 3

 

 

 

 

 

1,1

 

7

8

 

 

1 x

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

x 1,2 lg x 0,5

10

1,2 x 0,7 2 x

 

 

 

 

 

 

 

 

11

ln x (x 1)3 0

12

x 3 cos x 1

 

 

 

 

 

 

 

 

13

tg 0,55x 0,1 x 2

14

lg 2 x 2x 3

 

 

 

 

 

 

 

 

 

2

2 e x

 

 

 

 

 

 

 

15

 

16

 

x cos(0,6x)

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Порядок выполнения работы

1.Отделите графически один из корней уравнения f (x) 0 так,

чтобы на отрезке изоляции корня выполнялись условия, необходимые для применения метода.

2.Составьте программу уточнения корня с точностью до , ре-

зультат работы которой должен быть в виде таблицы

n

an

 

bn

ln

 

 

 

 

 

 

 

 

 

 

где n – номер итерации, an и bn

– начальная и конечная точки вложенных

отрезков, ln – длина вложенного отрезка.

3. Найти приближенное значение корня, записать результат с верными значащими цифрами.

94

7.3. Лабораторная работа №2. Метод простой итерации

Задание

Отделить графически один из корней уравнения и определить его с точностью до 0,5 10 5 методом простой итерации. Уравнения по вари-

антам приводятся в таблице 1.

Порядок выполнения работы

1.Найдите графически отрезок a; b небольшой длины h , изо-

лирующий один из корней.

2.Приведите исходное уравнение к виду, пригодному для реше-

ния методом простой итерации.

3.Составьте программу вычисления приближений до достиже-

ния требуемой точности с выводом результатов.

4.Найдите приближенный корень и запишите его с верными зна-

чащими цифрами.

7.4. Лабораторная работа №3. Метод хорд

Задание

Отделить графически один из корней уравнения и определить его с точностью до 0,5 10 5 методом хорд. Уравнения по вариантам приво-

дятся в таблице 2.

Порядок выполнения работы

1.Отделите корень и выберите тот отрезок изоляции, на котором выполняются условия применимости метода.

2.Выберите начальное приближение согласно правилам.

3.Составьте программу вычисления приближений до достиже-

ния требуемой точности с выводом результатов.

4.Найдите приближенный корень и запишите его с верными зна-

чащими цифрами.

 

 

95

 

 

 

 

Таблица 2

Вариант

Уравнение

Вариант

Уравнение

1

cos2x 3x2 1

2

sin 2 (2 x) x2 1

3

0,3e 0,7 x 2x2 4

4

x ln x e 0,5x 2

5

3 x 0,5ln x

6

0,3cos2 x ln x 2

7

e 0,3x 2 x 1

8

cos2 x 0,1ex

9

sin 0,5x 1 x2

10

0,5ln x 3 x3

11

1 0,3 x 0,5x2 ln x

12

1,5 0,4 x3 0,5ln x

13

cosx 0,5 e x

14

x 4 x 1 ln x 1,5

15

x2 e x 2

16

cos0,5x 0,4ln x

7.5. Лабораторная работа №4. Метод касательных

Задание

Отделить графически один из корней уравнения и определить его с точностью до 0,5 10 4 методом касательных. Уравнения по вариантам приводятся в таблице 2.

Порядок выполнения работы

1.Отделите корень и выберите тот отрезок изоляции, на котором выполняются условия применимости метода.

2.Выберите начальное приближение, согласно предписаниям ме-

тода.

3.Составьте программу вычисления приближений до достижения требуемой точности с выводом результатов.

4.Найдите приближенный корень и запишите его с верными зна-

чащими цифрами.

96

7.6.Лабораторная работа №5. Метод простой итерации приближенного решения систем линейных алгебраических уравнений

Задание

Дана система уравнений, коэффициенты при неизвестных и сво-

бодные члены которой являются точными числами. Найдите ее прибли-

женное решение с точностью до 0,5 10 3 . Системы уравнений по ва-

риантам получаются из исходной системы подстановкой значений коэф-

фициентов, соответствующих варианту (таблица 3).

Исходная система:

Mx1

0,04x2

0,21x3

0,18x4

1,24

 

 

 

 

 

 

 

Nx3

0,09x4

P

 

 

 

0,25x1 1,23x2

 

 

 

 

 

 

 

0,80x3

0,13x 4 2,56

 

 

 

0,21x1 Nx2

 

 

 

0,15x 0,31x

2

0,06x

3

Px

4

 

M

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант

 

M

 

N

 

 

 

P

 

 

 

Вариант

M

N

P

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

-0,77

 

 

0,16

 

 

 

1,12

 

 

 

9

0,89

0,08

-1,21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

0,93

 

 

0,07

 

 

 

-0,84

 

 

 

10

-1,13

0,14

0,87

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

-1,14

 

-0,17

 

 

 

0,95

 

 

 

11

0,91

-0,23

-1,04

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

1,08

 

 

0,22

 

 

 

-1,16

 

 

 

12

1,25

-0,14

-1,09

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

0,87

 

-0,19

 

 

 

1,08

 

 

 

13

0,79

0,18

-0,86

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

-1,21

 

 

0,20

 

 

 

0,88

 

 

 

14

0,79

0,18

-0,86

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

1,09

 

-0,16

 

 

 

0,84

 

 

 

15

-1,19

-0,21

1,21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

0,82

 

-0,14

 

 

 

1,03

 

 

 

16

-1,08

0,09

0,82

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Порядок выполнения работы

1.Преобразуйте систему к приведенному виду с выполнением условий сходимости итерационной последовательности.

2.Возьмите в качестве начального приближения вектор свобод-

ных членов приведенной системы и найдите вручную первое приближе-

97

ние. Затем определите его абсолютную погрешность и проверьте условие окончания итерационного процесса.

3. Составьте программу вычисления приближений до достижения требуемой точности с выводом на каждом шаге значений:

k

x1

x2

x3

x4

Ek

 

 

 

 

 

 

 

 

 

 

 

 

Здесь x1 , x2 , x3 , x4 – координаты векторов-приближений, Ek – абсолют-

ные погрешности этих векторов.

4.Найдите приближенное решение системы и выпишите его ко-

ординаты с верными значащими цифрами. Сравните полученное решение и решение, найденное точными методами (обратной матрицы, определите-

лей).

7.7.Лабораторная работа №6. Численное решение обыкновенных дифференциальных уравнений методом ЭйлераКоши

Задание

Используя метод Эйлера-Коши, найдите численное решение диф-

ференциального уравнения (таблица 4) на отрезке a,b с шагом h 0,1,

удовлетворяющее начальному условию y x0 y0 (в таблицу подставлять улучшенные значения yi* , найденные двукратным вычислением с шагом

h

2 =0,05). Оцените погрешности чисел yi* методом двойного пересчета и определите верные значащие цифры этих чисел. Начертите ломаную Эй-

лера.

98

 

 

 

 

Таблица 4

 

 

 

 

 

Вариант

Уравнение

x0

y0

a,b

 

 

 

 

 

1

y ' x y

0

0,8

0,1

 

 

 

 

 

2

y ' x cos y

1,8

2

1,8; 2,8

 

 

 

 

 

3

y ' e x y

0

1,2

0,1

 

 

 

 

 

4

y' xy sin x

0

2

0,1

 

 

 

 

 

5

y ' x 3sin y

1,6

2

1,6;2,6

 

3

 

 

 

 

 

 

 

 

6

y' ex y

0

-1

0,1

7

y' xy ex

-1

0,5

1,0

 

 

 

 

 

8

y' x y2

-2

0

2, 1

 

 

 

 

 

9

y' sin x y

1

3

1,2

 

 

 

 

 

10

y' cos x y

2

0

2,3

 

 

 

 

 

11

y' y cos x

2

0

2,3

 

 

 

 

 

12

y' x2 y

1

0

1,2

 

 

 

 

 

13

y' x ey

1

-1

1,2

 

 

 

 

 

14

y' x sin y

1,5

3

1,5;2,5

 

 

 

 

 

15

y y xy2

0

0,5

[0; 0,8]

 

 

 

 

 

16

y 0,5xy2 y

0

2

[0;2]

 

 

 

 

 

Порядок выполнения

1.Убедиться в существовании и единственности решения поставлен-

ной задачи Коши.

2.Вычислить «вручную» y1* и оценить его погрешность.

3.Составить программу вывода таблицы

99

xi

yi*

yi

Ei

 

 

 

 

 

 

 

 

где yi – приближение к значению точного решения в точке xi , найденное однократным вычислением по методу Эйлера-Коши с шагом h 0,1, Ei

оценка погрешности значения yi* .

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

ния с верными значащими цифрами.

5.Построить соответствующую ломаную Эйлера.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]