Исследование математических моделей

Алгебра-9, Геометрия-7 P^g3

Исследование математических моделей начинается с за­писи формальной модели на языке определенной области математики: алгебры, геометрии и так далее.

Приближенное решение уравнений

На языке алгебры формальные модели записываются с помощью уравнений, точное решение которых основывается на поиске равносильных преобразований алгебраических выражений, позволяющих выразить переменную величину с помощью формулы. Точные решения существуют только для некоторых уравнений определенного вида (линейные, квадратные, тригонометрические и др.), поэтому для боль­шинства уравнений приходится использовать методы при­ближенного решения с заданной точностью (графические, числовые и др.).

Графический метод. Построение графиков функций мо­жет использоваться для грубо приближенного решения уравнений. Для не имеющего точного алгебраического ре­шения уравнения вида f(x) = 0, где f(x) — некоторая непре­рывная функция, корень (или корни) этого уравнения яв­ляется точкой (или точками) пересечения графика функции с осью ОХ.

Задача. Найти графическим методом корень уравнения ж3 - cos* = 0, которое не имеет точного алгебраического ре­шения.

Формальная модель задана уравнением, для нахождения корня уравнения разработаем компьютерную модель на язы­ке Visual Basic.

Проект «Приближенное решение уравнения»

1. В программный код проекта «Построение графика функции» в цикл построения графика ввес­ти строку:

Исследование математических моделей - student2.ru

picGraph.PSet (sngX, sngX л 3 - Cos(sngX))

График функции пересекает ось ОХ один раз, и, следова­тельно, уравнение имеет один корень. По графику грубо приближенно можно определить, что х я 0,8.

Числовой метод половинного деления. Для решения уравнений с заданной точностью можно применить разра­ботанные в вычислительной математике числовые итераци­онные методы решения уравнений. Если мы знаем отрезок, на котором существует корень, и функция на краях этого отрезка принимает значения разных знаков, то можно ис­пользовать метод половинного деления.

Идея метода состоит в выборе точности решения и сведе­нии первоначального отрезка [А;В], на котором существует корень уравнения, к отрезку заданной точности. Процесс сводится к последовательному делению отрезков пополам точкой С = (А+В)/2 и отбрасыванию той половины отрезка ([А;С] или [С;В]), на котором корня нет.

Выбор нужной половины отрезка основывается на про­верке знаков значений функции на его краях. Выбирается та половина, на которой произведение значений функции на краях отрицательно, то есть где функция пересекает ось абс­цисс.

Процесс продолжается до тех пор, пока длина отрезка не станет меньше удвоенной точности. Деление этого отрезка пополам дает значение корня х = (А+В)/2 с заданной точно­стью.

2. Поместить на форму текстовые поля для ввода числовых значений концов отрезка А и В, поле для ввода точности вычислений и поле для вывода значений корня.

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

Private Sub cmdNum_Click() dblA = Val(txtA.Text) dblB = Val(txtB.Text) dblE = Val(txtE.Text) Do

dblC = (dblA + dblB) / 2

If (dblA Л 3 - Cos (dblA) ) * (dblC л 3 - Cos (dblC) ) < 0 Then dblB = dblC Else

dblA = dblC End If


dblE

Loop While (dblB - dblA) / 2 > txtX.Text = (dblA + dblB) / 2 End Sub

JajjcJ Ш ЯШ ц мммц
CD-ROM

4. Из графика функции видно, что корень нахо­дится на отрезке [0,5;1]. Введем в текстовые поля значения концов отрезка, а также точ­ность вычислений (на­пример, 0,00001). В текстовое поле будет выведено значение кор­ня с заданной точно­стью: * = 0,86547.

Проект хранится в каталоге \textbook\VB\prjMath1\


 


Практические задания

5.9. Приближенно решить уравнение дг3 - cos* = 0 с использованием компьютерной модели в электронных таблицах.

Вероятностные модели

Вероятностные модели базируются на использовании боль­ших серий испытаний со случайными параметрами, причем точность полученных результатов зависит от количества про­веденных опытов. Воспользуемся методом Монте-Карло для приближенного вычисления площадей геометрических фи­гур.

Качественная модель метода Монте-Карло. Сначала по­строим качественную вероятностную модель данного мето­да:

• поместим геометрическую фигуру полностью внутрь квадрата;

• будем случайным образом «бросать» точки в этот квад­рат, то есть с помощью генератора случайных чисел зада­вать точкам координаты внутри квадрата;



Исследование математических моделей - student2.ru

• будем считать, что отношение числа точек, попавших внутрь фигуры, к общему числу точек в квадрате прибли-

зительно равно отношению площади фигуры к площади квадрата, причем это отношение тем точнее, чем больше количество точек. Формальная модель. Построим формальную модель для вычисления площади круга радиуса R, центр ко­торого совпадает с началом коорди­нат. Круг вписан в квадрат со сторо- — ной 2R, площадь которого вычисля­ется как 4R2 (рис. 5.8).

Пусть N — количество точек, ко­торые случайным образом генериру­ются внутри квадрата. Случайный

выбор координат точек, которые по- квадр™'3""

падают внутрь квадрата (N точек), должен производиться так, чтобы координаты точек х и у удовлетворяли условиям:

-R < х < R и -R < у < R. Пусть М — количество точек, попавших внутрь круга, то есть их координаты удовлетворяют условию:

х2 + у2 < R2.

Тогда площадь круга можно вычислить по формуле:

S = 4Д2 • M/N. Компьютерная модель. Разработаем на языке Visual Basic компьютерную модель, позволяющую определять площадь круга методом Монте-Карло.

■j Проект «Метод Монте-Карло»

1. Поместить на форму графическое поле, в котором будет отображаться процесс случайной генерации точек, квад­рат, круг и оси координат.

2. Поместить на форму два текстовых поля для ввода радиу­са окружности и количества генерируемых точек и одно поле для вывода значения площади круга.

Исследование математических моделей - student2.ru

3. Поместить на форму кнопку и создать для нее событий­ную процедуру, которая обеспечивает ввод значений ра­диуса окружности в переменную R, ввод количества гене­рируемых точек в переменную N, генерацию случайных точек, подсчет в переменной М количества точек, попав­ших внутрь круга, вычисление и вывод значения площа­ди круга в текстовое поле:

Dim dblX, dblY As Double, S As Double

I, N, M, R As Long,
1)-(R + 1, , В
(R + 1))

Private Sub cmdl_Click() M = 0 picl.Cls 'Ввод значений R = Val(txtR) N = Val(txtN) picl.Scale (-(R + 1),R + picl.Line (-R, R)-(R, -R) , picl.Circle (0, 0), R 'Генерация точек For I = 1 To N dblX = 2 * R * Rnd - R dblY = 2 * R * Rnd - R picl.PSet (dblX, dblY)

If dblX Л 2 + dblY Next I

' Площадь

txtS.Text = 4 * R ' 'Ось X picl.Line For I = - (R picl.PSet (I, pxcl.Print I Next I 'Ось Y

2 <= R Then М = М + 1 (М / N)
(-(R + 1), 0)- (R + 1, 0)
+ 1) 0)
То R + 1
+ 1))-(0, То R + 1
R + 1)
Исследование математических моделей - student2.ru

picl.Line (0, - (R For I = -(R + 1) picl.PSet (0, I) picl.Print I Next I End Sub Ввести радиус окружно­сти и количество генери­руемых точек. После щелчка по кнопке Пуск в графическом поле будет отображен процесс гене­рации случайных точек, а в текстовое поле будет выведено значение пло­щади круга.

Исследование модели. Существует геометрическая фор­мула, позволяющая вычислить площадь круга: S = пR2. Если в процессе исследования модели в качестве радиуса окружности выбрать 1, то числовое значение площади круга будет соответствовать числу п. Таким образом, с помощью метода Монте-Карло можно определить с необходимой точ­ностью значение числа я (при увеличении количества гене­рируемых точек можно наблюдать все большее приближе­ние значения площади к значению числа л).

Проект хранится в каталоге гп Dr... гкзр \textbook\VB\prjMath2\ ш-ним ^

Практические задания

5.10. Определить методом Монте-Карло площадь треугольника, вер­шины которого имеют координаты (-1, 0); (0, 1) и (1, 0).

Наши рекомендации