Аппроксимация

Тема в разделе "Общие вопросы", создана пользователем Nikonte, 2 янв 2013.

  1. Lex K-G

    Lex K-G Форумчанин

    Каюсь, мне показалось решение изящным, а оно даст приемлемый результат только только для точек, РАВНОМЕРНО расположенных на окружности
    Мой предварительный результат:
    Координаты центра 1223.383 1180.487 , усредненный радиус = 9,763 м. (СКО центра 0.105 м, хотя, в данном задачи подобное СКО имеет мало смысла, указывает лишь на разлет разных радиусов, а не на корректность аппроксимации. Редактировал, бо ошибся вначале;) Близко к Вашим результатам?
    Вот, блин, это же разброс точек от окружности считать... Хотя, да, это будет самая объективная оценка качества аппроксимации.
     
  2. kub13

    kub13 Форумчанин

    Координаты центра х=1223.38771, у=1180.32215, сред.радиус 9.98465м, Минимальное СКО от центра до исх. координат вдоль радиуса 31.06 мм. Считал и подбирал МИН в MS Exsel.
     

    Вложения:

  3. Оптимізація за методом зведеного градієнта (пошук рішення) для кола і еліпса.
     

    Вложения:

  4. tsg

    tsg Форумчанин

    Несколько сожалею, что опередили, но я прикидывал с учетом вышесказанных своих утверждений, немного правда заблуждался, кук надо было считать, но открыв "Методы Вычислений" Бахвалова и посмотрев статью http://ru.wikipedia.org/wiki/Метод_наименьших_квадратов, чтобы освежить нетрезвую память, загнал все в Маткад и результат следующий:
    радиус 9,987
    координаты центра (x; y) соответственно 1 223,380; 1 180,324
    максимальное отклонение 0,048 (все отклонения в приложенном расчете имеются)

    Файл гружу в архиве zip ибо расширение Маткада (xmcd) не кушает
     

    Вложения:

    • examp.zip
      Размер файла:
      38,1 КБ
      Просмотров:
      16
  5. kub13

    kub13 Форумчанин

    Перепроверил, не все учёл, новые данные:
    координаты центра х=1223.38984, у=1180.32379, сред.радиус 9.98706м, Минимальное СКО от центра до исх. координат вдоль радиуса 32.503216 мм.
    Max абсолютное отклонение 48.46 мм.
    Файл MS Exsel прилагается, в котором считал и подбирал min.
     

    Вложения:

  6. Nikonte

    Nikonte Форумчанин

    Парадокс в том, что даже не мы сдаем эту трубу, и даже прямых отношений с заказчиком не имеем. Я крен измерял два раза (с двух и с трех точек) и при высоте трубы всего 60м, брал в первом случае 4, во втором 5 сечений. Первый раз общий крен получился 20мм, второй раз 13мм. Цифры я отдал тем кто оформляет...но заказчику надо показать свою заинтересованность и правильность видимо...и начинаются предложения: сделайте еще измерения, да возьмите немного другие сечения, вдруг получится все в допуске и все будут счастливы)) Меня однако заинтерсовало, каким способом все таки можно прийти к верному решению и будут ли расхождения с обычными измерениями.

    Ну в трубу то уже не залезешь, дверей нет. А даже если бы и были, это надо потом внутри трубы натягивать струны что ли.

    Изгиб трубы возникает в процессе погрешностей монтажа. Труба металлическая. Звенья приваривают немного криво и труба например на середине может немного уклониться от вертикали, далее потом ее монтируют с загибом в другую сторону. В итоге центры низа и верха могут находиться на одной отвесной линии, а середина уйдет в сторону.

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

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

    3) Труба из металла, иначе бы даже не пытался снимать ее по кругу.
     
    мирось нравится это.
  7. Lex K-G

    Lex K-G Форумчанин

    2-я итерация ;)
    x= 1223.388 y=1180.365 Rокружности =9.9727
    И это еще не предел!

    Уфффф, после 8-й итерации поправки уходят в четвертый знак, средний радиус не изменился до четвертого знака. Самоистязание прекращаю;)
    x= 1223.390 y= 1180.324 Rокружности =9.9870 ... На десятую итерацию уже нет времени;) Отклонения точек 1-10 от окружности, м:
    -0.041
    0.042
    0.004
    -0.045
    0.048
    0.000
    -0.008
    -0.031
    0.025
    0.006
    Если принять во внимание округления, то результат похож на результат kub13.
     
  8. ЮС

    ЮС Форумчанин

    Поздравляю всех с правильным решением!
    Мой результат (решение в CREDO_DAT):
    X= 1223.3898 Y= 1180.3238 R =9.9870

    Кстати сказать, в DAT всё делается не так уж и долго. При некотором навыке (как пристрелка в артиллерии - недолёт, перелёт) итертациями быстро достигается попадание в цель.
    Если "радиусов" не много (не сотни), то не обязательно редактировать их через приборную поправку C. Можно перебить простым копированием. А в версии DAT 4 есть возможность (в свойствах) разом изменить все измеренные на станции расстояния.
     
  9. Lex K-G

    Lex K-G Форумчанин

    Так, что мы еще раз протестили алгоритм уравнивания КРЕДО ДИАЛОГа, спасибо ЮС за увлекательную задачку! (просто так тестировать лениво)
    kub13, у Вас впечатляющий стиль работы в Exel, не понял, но понравилось! Реализовали итеративный алгоритм, али как?
    vadimart92, поясніть, будь ласка Ваш файл. Ви визначили параметри рівняння кола? А координати і радіус?
    tsg, Mathkadа нету... У вас, практически те же результаты, только - 1 223,380, может, опечатка?

    аппаратный ключ на работе::huh.gif:: Но, попробовал. Ломанную 3.0 версию не использовал под страхом наказания модерами форума::wink24.gif:: .А Досовое дало те же результаты, миллиметр в миллиметр!
    Нашел единственный способ автоматизации - через экспорт ведомостей в EXEL формируя файлы измерений и называя центр окружности CENTER1-CENTERn (короче, лучше решать такое в VBA или др. )
     
  10. X-Y-H

    X-Y-H Администратор Команда форума

    графически задачу решить никто не попробовал? например в топоплане?
     
  11. Lex K-G

    Lex K-G Форумчанин

    Вначале речь шла о графическом решении, я предлагал Автокад. Но потом речь зашла о строгом решении... А как Вы предлагаете в топоплане? Есть возможность аппроксимации точек не сплайном, а окружностью?
     
  12. X-Y-H

    X-Y-H Администратор Команда форума

    Lex K-G, есть, после праздников могу проверить
     
  13. Lex K-G

    Lex K-G Форумчанин

    Интересно. Такая функция есть или это делается неким набором действий?
     
  14. kub13

    kub13 Форумчанин

    Использовал, созданный ещё давно шаблон для определения координат центра круга и радиуса по трем точкам. Часть применяемых функций свои. Данный способ последовательного определения радиуса удобно использовать при съёмке ж.д. кривых. Наглядно видно начало кривой и тенденцию изменения радиуса.
    От среднего значению координат центра определил расстояние до исходных точек. И квадрат разности со средним значением, и СКП.
    Далее всё просто. К полученному центру прибавлял или отнимал поправки в значения Х и У, (средний радиус при этом тоже менялся) до получения минимального значения суммы квадратов отклонений =0.0095081315376932.
    Для удобства и наглядности привязал ячейки поправок к вертикальной и горизонтальной полосам прокрутки, с точностью до 10 микрон.
    Кстати подобный метод, удобно, применять при съёмки подкрановых путей. Если Вы, конечно желаете, чтобы сумма ошибок на исполнительной схеме была минимальной и в случае необходимости ремонта - минимум рихтовки.
     
    Nikonte, ЮС и Lex K-G нравится это.
  15. Lex K-G

    Lex K-G Форумчанин

    А по какому принципу выбираете сочетания точек? Не все же варианты перебирать?
    У меня на 7-ой итерации вышло 0.0094760, дисперсия 0.001052889, за строгое решение не ручаюсь.
    Это серьезно? А как это делается?
     
  16. kub13

    kub13 Форумчанин

    Поправки в ячейках Y15, Z15. Правой кнопкой мыши щёлкните на полосе прокрутки, выберете "Формат объекта...", далее думаю будет понятно. Если будут вопросы пишите.
    Изначально берётся: Вид/ Панели инструментов/ Формы
    В качестве использования других форм MS Exsel в геодезии можете посмотреть:
    http://geodesist.ru/forum/threads/n...разование-сырых-данных-RAW-и-обработки.15185/
     
    Grandpa нравится это.
  17. Lex K-G

    Lex K-G Форумчанин

    Оффтоп

    Большое спасибо! Осваивал EXEL методом тыка под конкретные задачи, мануалы для него пространные, читать некогда. Подсмотрел у Вас интересные моменты, спасибо!
     
  18. kub13

    kub13 Форумчанин


    Перебиралось 8 последовательных вариантов, для получения среднего значения, от которого надо было найти сдвиг. Поэтому в первоначальном точном определении центра и в переборе всех вариантов не было необходимости. Задача стояла в поиске минимума отклонений. То есть сдвиг можно было начинать взяв среднее координат (судя из картинки) точек 2,9,5,10 (1223.866, 1180.494). Если мне пришлось ввести поправку (сдвинуть центр) на -53.1 мм и 70.69, то в этом случае потребовалось бы -476.61 мм и -170.21 соответственно. Только что проверил, результат совпадает.
     
  19. kub13

    kub13 Форумчанин

    Могу и макросами поделиться, если интересует. Правда кроме функций сразу трудно что можно использовать. Постараюсь слегка оформить другие свои наработки и выложить на форуме.
    Это уже выходит за рамки данной темы.
     
    Lex K-G нравится это.
  20. Lex K-G

    Lex K-G Форумчанин

    Оффтоп

    Я поступил немного иначе в поисках автоматизированного решения (памятуя критику ЮС про среднее из координат) Для первого приближения определил максимальное расстояние между точками (грубый диаматр) и половину его использовал для многократной линейной засечки. Потом в EXEL сделал лист-шаблон для n-ой итерации. По обраткам вычислялся усредненный радиус и оценка ошибок. Тупо скопировал на следующие листы. На седьмом-восьмом листе разница радиусов перестала быть значимой. Было интересно наблюдать за динамикой уравнивания "вживую", а так, считаю, такие задачи нужно полностью вгонять в функцию. Не подскажите, VBA в EXEL допускает переменное число аргументов в функции? А можно ли использовать константы и переменные из VBA-МОДУЛЯ в ячейках EXELя?
    полносмтью согласен, наверное нужно открыть тему по обмену опытом работы в EXEL
     
    мирось нравится это.
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление