- •Пояснительная записка
- •Подпись, дата инициалы, фамилия
- •Введение
- •1 Постановка задачи
- •2 Математическое описание методов
- •2.1 Метод золотого сечения
- •Метод обладает стабильной линейной скоростью сходимости, не зависящей от рельефа функции [1].
- •6 Описание интерфейса
- •Повтор (y/n)
- •7 Численные примеры
6 Описание интерфейса
╔═════════════════════════════════════╗ ║ Меню
║ ╠═════════════════════════════════════╣ ║ 1
- Метод Золотого сечения ║ ║ 2
- Умножение вектора на число ║ ║ 3
- Метод Зейделя ║ ║ 0
- Выход ║ ╚═════════════════════════════════════╝
в котором указаны пункты: 1, 2, 3, 0 они соответственно вызывают методы .При нажатии кнопки 1, 2, 3 вызывается метод, при нажатии 0 осуществляется выход в меню. После выполнения выбранного метода выводится меню повторить (y) или нет (n)
Повтор (y/n)
при нажатии «y» программа повторяется, а при нажатии «n» программа завершается.
Пример решения задания методом золотого сечения:
Пример решения задания методом Зейделя:
Пример решения задания умножения вектора на число:
7 Численные примеры
7.1 МЕТОД ЗОЛОТОГО СЕЧЕНИЯ
Корень уравнения 2x+2*x2-3=0 на отрезке [0;2] равен 0.795.
Проверяем полученный корень с помощью программы
x |
y |
-1,8 |
3,767175 |
-1,6 |
2,449877 |
-1,4 |
1,298929 |
-1,2 |
0,315275 |
-1 |
-0,5 |
-0,8 |
-1,14565 |
-0,6 |
-1,62025 |
-0,4 |
-1,92214 |
-0,2 |
-2,04945 |
0 |
-2 |
0,2 |
-1,7713 |
0,4 |
-1,36049 |
0,6 |
-0,76428 |
0,8 |
0,021101 |
1 |
1 |
1,2 |
2,177397 |
1,4 |
3,559016 |
1,6 |
5,151433 |
1,8 |
6,962202 |
В таблице и на графике функции видно, что корень 0.795 . .
7.2 МЕТОД ЗЕЙДЕЛЯ
Корни системы линейных уравнений 3x1-0.01x2+0.5x3=-2
0.28x1+4x2+0.03x3=3
0.06x1-0.8x2-2x3=0,1
равны x1=-0.59969, x2=0.79487, x3=-0.38594. Проверяем полученные корни с помощью программы Maple V Release 4.00a.
> restart: with(linalg): A:=matrix([[3,-0.01,0.5],[0.28,4,0.03],[0.06,-0.8,-2]]);
3 -0.01 0.5
A := 0.28 4 0.03
0.06 -0.8 -2
> b:=vector([-2,3,0.1]);
b := [-2, 3, 0.1]
> x:=linsolve(A,b);
x := [-0.5996937467, 0.7948731129, -0.3859400575]
7.3 УМНОЖЕНИЕ ВЕКТОРА НА ЧИСЛО
Умножаем вектор на число 4.
Получаем произведение вектора на число равное . Проверяем полученный ответ при помощи программы Maple V Release 4.00a.
> b:=vector([-2,3,0.1]);
b := [-2, 3, .1]
> x:=4;
x := 4
> for i from 1 do b[i]:=b[i]*x od: print(b);
так как ответы сходятся то полученное произведение вектора на число верно.
Итак, ответы сходятся, что свидетельствует о правильности программы.
Заключение
В данной программе реализованы численные методы золотого сечения, умножение вектора на число, метод Зейделя. Программа составлена в объектах, методы вызываются из меню.
Программа получает результат соответствующий установленным рамкам (погрешность). Данной программой можно вычислять корень уравнения, умножать вектор на число и находить решение системы линейных уравнений.
В процессе создания программы приобретен навык работы с процедурами, функциями, объектами и модулями.
Недостатки программы: метод золотого сечения разработан только для определённого уравнения (y=2x+2x2-3), изменение уравнения требует перепрограммирования и перекомпилирования программы. Метод Зейделя работает только с системой 3 линейных уравнений, изменение функции требует перепрограммирования и перекомпилирования программы.
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
1.Воробьев Г.Н., Бахвалов Н.С. «Численные методы». М.: Наука, 1973. 231с.
2. Ефимов А.В., Демидович Б.П. «Линейная алгебра и основы математического анализа». М.: Наука, 1981. 386с.
3. Бараненков Г.С., Демидович Б.П. «Задачи и упражнения по математическому анализу для ВТУЗОВ». М.: Наука, 1980. 184с.
4. Абрамов С.А., Зима Е.В. «Начало программирования на языке Паскаль». М.: Наука, 1987. 8с.
5. Епанешников А.Е., Красильников Ю.И. «Программирование в среде турбо Паскаль». М.: Центр МИФИ СП Диалог, 1990. 3-6с.