Построение окружности, максимально близкой к 4 точкам

Форум пользователей пакета Mathcad

Модератор: Admin

aynroot
Сообщения: 5
Зарегистрирован: Вс окт 04, 2009 7:24 pm
Контактная информация:

Построение окружности, максимально близкой к 4 точкам

Сообщение aynroot » Вс окт 04, 2009 7:35 pm

Здравствуйте.
Чайник в маткаде, как и в любом другом мат.пакете.
Появился вопрос: как построить окружность, максимально близкую к заданным четырём точкам? То есть даны по 2 точки, лежащие на каждой из осей координат по разные стороны от нуля (например, (1,0);(-2,0);(0,1.5);(-2,0)).
Я вижу это так: нужно найти такие координаты центра окружности a и b и такой R, что сумма квадратов отклонений точек пересечения окружности с осями от заданных точек будет минимальной. Подскажите, как это записать в маткаде и решить, зная выражения отклонений через радиус и координаты и выражение функции окружности R^2 = (x-a)^2 + (y-b)^2

Заранее спасибо!

Коробов В И
Сообщения: 156
Зарегистрирован: Вт янв 15, 2008 6:43 pm

Сообщение Коробов В И » Вт окт 06, 2009 10:22 am

В аттач - решение.
Там у Вас 2 точки имеют одинаковые координаты, поэтому окружность проходит через все точки.
Во второй части документа я смоделировал ситуацию для множества точек. Но ход решения тот же.

aynroot
Сообщения: 5
Зарегистрирован: Вс окт 04, 2009 7:24 pm
Контактная информация:

Сообщение aynroot » Вт окт 06, 2009 2:42 pm

Спасибо вам за решение!
Буду разбираться, основываясь на нём.

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

Alex_cs_gsp
Сообщения: 30
Зарегистрирован: Чт май 11, 2006 9:22 pm
Откуда: Днепропетровск (УКРАИНА)

Сообщение Alex_cs_gsp » Пн окт 19, 2009 7:24 am

А можно подробнее про алгоритм? Спасибо
P.S. Хорошо бы на форуме сделать форму "пожаловаться на сообщение", чтобы верхние товарищи форум не загаживали.

Korobov V I
Сообщения: 1609
Зарегистрирован: Вт янв 21, 2003 5:12 pm

Сообщение Korobov V I » Пн окт 19, 2009 11:49 am

Alex_cs_gsp писал(а):А можно подробнее про алгоритм? Спасибо

Функция FIND находит координаты центра, если заданные точки принадлежат окружности. Если нет - то используем функцию MINERR, к-рая минимизирует вектор невязок. Т.е. в последнем случае реализуется МНК - идет поиск некоего центра, по возможности равноудаленного от всех точек.
Alex_cs_gsp писал(а):P.S. Хорошо бы на форуме сделать форму "пожаловаться на сообщение", чтобы верхние товарищи форум не загаживали.

Хорошо бы вновь зарегистрированным пользователем установить лимит времени, в течение к-рого они не могут отправлять свои следующие сообщения. Например, 1 час. После "проверки на лояльность" такое ограничение можно будет снять.

Alex_cs_gsp
Сообщения: 30
Зарегистрирован: Чт май 11, 2006 9:22 pm
Откуда: Днепропетровск (УКРАИНА)

Сообщение Alex_cs_gsp » Пн окт 19, 2009 11:05 pm

Спасибо!