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

Методичка / MetRec03-2

.htm
Скачиваний:
16
Добавлен:
09.12.2013
Размер:
3.28 Кб
Скачать

Алгоритмические языки и программирование Задача 3-2 Найти координаты точек пересечения линий, оганичивающих закрашенные области методом итераций Рис. 3-2 Рассмотрим в качестве примера следующую задачу Требуется с помощью метода итераций определить параметр x0 или смещение вдоль оси X центра окружности, изображенной на рис. 3-2. Пусть при этом заданы следующие исходные данные:

R - радиус окружности;

x2 - значение координаты x=x2 в точке пересечения окружности и оси X, при этом y=0;

y1 - значение координаты y=y1 самой нижней (минимальной по Y) точки окружности.

Также известна формула окружности:

(x-x0)*(x-x0)+(y-y0)*(y-y0)=R*R    (3-21) Для того, чтобы найти значение x0 мы должны знать все другие параметры формулы.

Радиус R нам известестен.

Значения x и y мы определяем из рис. 3-2: x=x2, y=0;

Смещение центра окружности по Y находим по простой формуле: y0=y1+R.

Теперь мы имеем в качестве неизвестного параметра лишь x0.

Опишем алгоритм наших действий по шагам Преобразуем формулу 3-21 так, чтобы слева в явном виде присутствовал искомый параметр x0.

Она будет выглядеть так:

x0:=(x*x+x0*x0+(y-y0)*(y-y0)-R*R)/(2*x)    (3-22) Задаем начальное значение для x0 вблизи искомого корня, пусть будет x0=0; Сохраняем значение x0 в переменной xp (это нужно для проверки условия завершения цикла) Подставляем значение x0 в правую часть формулы 3-22 и находим новое значение x0 (это и есть итерация) Проверяем точность полученного решения, для этого сравниваем разность текущего и предыдущего значений x0, взятую по абсолютной величине, с требуемой точностью вычисления:

Если |x0-xp|>E (Е - это точность. Например, Е=0.001), цикл продолжаем (повторяем шаги 3,4,5)

Если |x0-xp|

Соседние файлы в папке Методичка