Телескопы покупают здесь


A A A A Автор Тема: расчет координат точки на местности используя исходные данные модуля навигатора  (Прочитано 872 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн СиротаАвтор темы

  • Новичок
  • *
  • Сообщений: 10
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Сирота
Добрый день.    Вот вопрос.....   Возникла необходимость посчитать координаты  точки на местности, используя исходные данные, которые можно получить  от модуля GPS.  В астрономии - на уровне средней школы. В Геодезии  - на уровне интернет-знаний. Почитал. Научился определять/вычислять координаты спутников по известным эфемеридам, понял как эти эфемериды получить от модуля GPS.  почти понял, что делать дальше,  прочитав про формулы псевдодальности, и поняв как  можно получить псевдодальность  по каждому спутнику от модуля GPS. Но вот дальше......

 Дальше споткнулся вот на этом вычислении.  Не знаю, как считают такие матрицы, и матрицы вообще. Прочитал про метод наименьших квадратов, - все примеры из экономики. не подошли. почитал как решают матрицы, - научился находить минор и дискриминант, но это не то. мне бы пример решения.  примерно как у Вас тут был по расчетам координат спутников лет 10 назад.
 
 
« Последнее редактирование: 06 Ноя 2018 [06:44:33] от Сирота »

Оффлайн Upsilon

  • *****
  • Сообщений: 518
  • Благодарностей: 245
    • Сообщения от Upsilon
Индекс -1 видите в правом верхнем углу матрицы? Это обратная матрица. Гугл знает, как вычислять обратные матрицы.
Непонятно, в чем конкретно проблема.

Оффлайн СиротаАвтор темы

  • Новичок
  • *
  • Сообщений: 10
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Сирота
Проблема  наверное  в моем полном незнании вычислений при помощи матриц.   Вы пишете - обратная.  Там, где я прочитал эту формулу написано про метод наименьших квадратов, но не написано, что я должен найти обратную матрицу. Посмотрел Гугл (яндекс). он знает про вычисление обратных матриц, но он не предлагает мне их решение. а  предлагает вычислить обратную, зная обычную.  Я не математик. но хотел бы вычислить эту формулу.

Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Проблема  наверное  в моем полном незнании вычислений при помощи матриц.
Ну так с этого и надо начинать. С учебников.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн nolv

  • *****
  • Сообщений: 2 662
  • Благодарностей: 194
    • Сообщения от nolv
Проблема  наверное  в моем полном незнании вычислений при помощи матриц.   Вы пишете - обратная.  Там, где я прочитал эту формулу написано про метод наименьших квадратов, но не написано, что я должен найти обратную матрицу. Посмотрел Гугл (яндекс). он знает про вычисление обратных матриц, но он не предлагает мне их решение. а  предлагает вычислить обратную, зная обычную.  Я не математик. но хотел бы вычислить эту формулу.

А как Вы вообще вычисления производите? Калькулятор и бумажка что-ли?
numpy гораздо удобнее, и с матрицами дружит.

Оффлайн СиротаАвтор темы

  • Новичок
  • *
  • Сообщений: 10
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Сирота
вычисления провожу в двух вариантах, - что то   сразу перевожу в алгоритм на Си и там вычисляю, а что то частично считаю в эксел.

Оффлайн Toth

  • *****
  • Сообщений: 2 604
  • Благодарностей: 176
    • Сообщения от Toth
а что то частично считаю в эксел.
В Excel есть матричные функции - МУМНОЖ, МОБР и т.д.
Посмотрите в гугле, как с ними работать.
А в Си придется самому с массивами что-то писать. Или поискать в сети, этот велосипед уже многие изобрели.

Оффлайн СиротаАвтор темы

  • Новичок
  • *
  • Сообщений: 10
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Сирота
Вот. я именно про это. Мне бы пример решения вот того матричного уравнения..... по шагово.  велосипед наверное многие изобрели. но я не смог найти внятного пояснения. Функции эксела не помогут. Во первых все равно в итоге надо на Си, а во вторых нет понимания процесса

Оффлайн Toth

  • *****
  • Сообщений: 2 604
  • Благодарностей: 176
    • Сообщения от Toth
Мне бы пример решения вот того матричного уравнения
Вот вам от David Vallado astMath. Файл имеет расширение .cpp, я просто переименовал в .txt , чтоб можно было вложить. Файл большой, ищите по слову matrix - там есть умножения матр х матр, матр х вектор.

И второй - это я писал когда-то на Pascal, но можно понять.



Оффлайн Upsilon

  • *****
  • Сообщений: 518
  • Благодарностей: 245
    • Сообщения от Upsilon
Там, где я прочитал эту формулу написано про метод наименьших квадратов, но не написано, что я должен найти обратную матрицу.
Метод наименьших квадратов используют для нахождения наилучшего решения, когда данные избыточны: уравнений больше, чем переменных. На вашей картинке переменных 4, уравнений тоже 4, решение единственное, поэтому используется обратная матрица. Найдите в сети учебник по линейной алгебре, порешайте на листе бумаги пару простых примеров, чтобы понять ход алгоритма, и программируйте. А самый простой вариант - найти готовую функцию, обращение и умножение матриц на всех языках программирования написано и доступно.

Оффлайн СиротаАвтор темы

  • Новичок
  • *
  • Сообщений: 10
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Сирота
Найдите в сети учебник по линейной алгебре, порешайте на листе бумаги пару простых примеров, чтобы понять ход алгоритма, и программируйте.
какого  алгоритма?  метода наименьших квадратов или нахождения  обратной матрицы? Если второе, - то да, я так и делаю. Что понятно, - нужно найти вычислить обратную матрицу, (нахожу детерминант, нахожу матрицу алгебраических дополнений. умножаю её на дискриминант. и получаю искомую обратную матрицу).  написал такой алгоритм, на днях проверю на простых примерах, сравнив с готовым вычислением на онлайн-сервисах.  Это понятно. Потом, я должен эту матрицу 4х4  умножить на вторую. если её вычислить. это будет матрица 4х1. примеры такого рода в сети тоже есть, и можно повторить процесс,

Оффлайн СиротаАвтор темы

  • Новичок
  • *
  • Сообщений: 10
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Сирота
На вашей картинке переменных 4, уравнений тоже 4, решение единственное
Вот я ведь задал свой вопрос не на сайте  математиков, а у Вас, потому что предполагаю, что Вы не только отлично ориентируетесь в матричном исчислении, но и прекрасно знаете что это за формула. откуда она "выдрана", и как решается весь "процесс".  Вот вторая матрица, - я ведь должен её вычислить, получив в итоге матрицу 4х1.  И вот, - PSR - это псевдодальность. данные от навигатора. Rtotal - высчитывется по формуле. и вот мне уже не ясно, какие данные и когда используются для этого вычисления.

Оффлайн Upsilon

  • *****
  • Сообщений: 518
  • Благодарностей: 245
    • Сообщения от Upsilon
Конкретный пример пишите. Какие данные у вас есть, что хотите получить.

Оффлайн СиротаАвтор темы

  • Новичок
  • *
  • Сообщений: 10
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Сирота
ага.  Я сейчас пока поделаю то, что вроде понял, - и получается, Часть вопросов вроде решилось как то.из разных источников.

Оффлайн СиротаАвтор темы

  • Новичок
  • *
  • Сообщений: 10
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Сирота
добрый день.   Очень старался делать то, - что получается, - не задавая вопросов.
Пока вот так:
Запрашиваю от навигатора эфемериды, посылаю запрос для 32 спутников GPS  получаю ответ и складываю в таблицу. Потом раскладываю информацию. Получая нужные для расчетов переменные и константы для каждого спутника.  Провожу расчет. По найденной здесь на форуме методичке. (Спасибо тому кто её так доходчиво написал и оформил).
Проверил правильность вычислений по готовому примеру. Вычислил координаты спутников X_wgs84 ,   Y_wgs84 ,  Z_wgs84.  Время взял из методички.


Вопрос теперь такой,-  Какое время мне нужно взять для расчетов вот сразу, после получения данных,  и где это время взять. (в методичке оно задано как константа).
Запросил от навигатора псевдодальности для этих же спутников. Получил их.
В пакете, вместе с псевдодальностями, есть вот такое время, (ниже, - в табличке).   может быть можно использовать его?  В общем на  определении время t     я споткнулся, прошу помочь.

Содержимое полезной нагрузки
Смещ. байт   Формат числа   Масштаб   Имя   Ед.   Описание
0   I4   -   rcvTow   мс   Время недели измерения по локальному времени приемника.
4   I2   -   week   -   Номер недели измерения по локальному времени приемника.


Алгоритм расчета с матрицами по псевдодальностям, вроде бы  получился.





« Последнее редактирование: 08 Янв 2019 [15:13:24] от Сирота »

Оффлайн СиротаАвтор темы

  • Новичок
  • *
  • Сообщений: 10
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Сирота
Можно я выложу сюда код на Си. который получился.....  Его кто нибудь посмотрит?

Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Лучше на специализированный ресурс типа https://gist.github.com/ , https://gist.github.com/ , http://everfall.com/paste/ или другой на свой вкус.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн СиротаАвтор темы

  • Новичок
  • *
  • Сообщений: 10
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Сирота
Лучше на специализированный ресурс
Спасибо.  Насколько я понял, вопросы что я задаю, - тоже не  на "профильном"форуме. Судя по ответам, - это никому не интересно, а судя по наполнению темы, она вряд ли будет кому то интересна в будущем. Поэтому удалите её.


Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Вы, видимо, даже не посмотрели что это за ресурс. Туда предлагалось только загрузить код и дать ссылку. Там из удобств как минимум подсветка синтаксиса и нумерация строк, что существенно облегчает обсуждение кода.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/