1. ВНИМАНИЕ! В течении пары дней +- будет переезд форума на более защищённый сервер. Возможны периодические перебои в работе.

Алгоритм создания и заполнения матрицы

Тема в разделе "Общие вопросы", создана пользователем Blaukempt, 9 фев 2020.

  1. Blaukempt

    Blaukempt Форумчанин

    Я пишу программу для уравнивания одиночного разомкнутого полигонометрического хода методом наименьших квадратов коррелатным способом. Делаю это для себя. Это не контрольная работа.
    Уже получил вектор поправок в измеренные углы и расстояния и соответственно уравненные угля и расстояния тоже.
    Но только не справился с алгоритмом создания матрицы коэффициентов условных уравнений поправок.
    По сути мой код сейчас работает только с моим контрольным примером, так как я не соображу как заставить матрицу меняться и наполнятся значениями в зависимости от количества измеренных величин.
    Исходные данные получаются из csv файлов. Файлы с углами, расстояниями, координатами начального и конечного пунктов, и дирекционными углами начальной и конечной сторон хода.
    Готового решения не прошу. Мне нужно понять логику этого действия. Спасибо за внимание.
     
  2. shiz

    shiz Форумчанин

    Из текста данные читаются последовательно, следовательно в цикле чтения заводите счётчик и подсчитывает количество величин, которые определят размерность матриц. После считывания данных задаёте и заполняете сами матрицы.
     
  3. Blaukempt

    Blaukempt Форумчанин

    Немного не так. исходные считались в массивы исходных данных. из длины массива с углами и длины массива с расстояниями можно получить число всех измерений, число неизвестных и число возникающих условий(в случае разомкнутого хода их всегда три если я не ошибаюсь). Размер матрицы коэффициентов - число условий на число всех измерений (r x n). Значит размер массива коэффициентов будет три на число измерений.
    Указывать размер массива коэффициентов переменными r и n мне помешали вначале ошибки в синтаксисе и как мне показалось неудачный выбор структуры данных, но я разобрался с этим. Сейчас массив нужного размера (r x n) создается заполненным единицами и я его заполняю кое как.
    Теперь нужны циклы заполняющие массив коэффициентами. Буду думать сегодня.
     
  4. В.Шуфотинский

    В.Шуфотинский Модератор Команда форума

    Если не секрет, зачем это при современном, практически нулевом, количестве прокладываемых в мире высокоточных полигонометрических ходов?
     
  5. shiz

    shiz Форумчанин

    Так для отдельного хода при коррелатном методе уравнивания там матрица нормальных уравнений всего 3 на 3 (3 условных уравнения) и коэффициенты в них вычисляют простым суммированием, если мне память не изменяет.
     
  6. Blaukempt

    Blaukempt Форумчанин

    Для более полного погружения в профессию.
    --- Сообщения объединены, 9 фев 2020, Оригинальное время сообщения: 9 фев 2020 ---
    Я наверное неправильный подход выбрал.
    Разве матрица с коэффициентами не имеет размер число условий (три) на число всех измерений (сумма углов и расстояний)?
     
    В.Шуфотинский нравится это.
  7. В.Шуфотинский

    В.Шуфотинский Модератор Команда форума

    Весьма похвально, но стоит, наверное, сначала в тетрадочке, как в добрые старые времена, по учебнику, а потом уже, разобравшись с алгоритмом, пытаться что-то программировать.
     
    ErnieBoyd нравится это.
  8. shiz

    shiz Форумчанин

    Я говорил о том, что для отдельного полигонометрического хода составлять матрицу коэффициентов - не самый эффективный способ. Обычно отдельный ход с 3 условными уравнениями удобнее обсчитывать сразу через нормальную матрицу:
    IMG_20200209_143805.jpg
    Вообще коррелатный способ для программирования очень непростой и чем сложнее построение, тем больше вероятность ошибиться в определении типов и количества независимых условных уравнений.
    --- Сообщения объединены, 9 фев 2020, Оригинальное время сообщения: 9 фев 2020 ---
    И вот с этим согласен на все 100% и думаю к этому совету нужно прислушаться.
     
  9. Blaukempt

    Blaukempt Форумчанин

    Так как в тетрадочке массив заполняется я знаю. Берешь карандаш и пошел в табличной форме наполнять. Этот момент я не отбрасывал.
    Правда, матричные операции так хорошо в экселе делаются.::biggrin24.gif::
    --- Сообщения объединены, 9 фев 2020, Оригинальное время сообщения: 9 фев 2020 ---
    а что за учебник у вас?
     
  10. shiz

    shiz Форумчанин

    Практикум по мат. обработке Большаков, Маркузе.
     
  11. Blaukempt

    Blaukempt Форумчанин

    У меня есть такой.
     
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление