Страница 1 от 1

Формули за обръщане на матрица

Публикувано на: Пон Дек 21, 2009 6:57 pm
от eo.geodesy
Заггубил съм си записките по ЕИТ в Геодезията, а от учебника не ми става ясно как да обърна квадратна матрица .... (там пише за последователни ортогонализации, но аз съм ги забравил тези неща)
1. Транспонирах матрицата A и по този начин получих matricata A*
2. Извърших умножението (A*)(A)
3. Сега трябва да обърна получената от умножението квадратна матрица
4. ........
Благодаря !

Публикувано на: Вто Дек 22, 2009 12:03 pm
от smart
в Excel има една много удобна функция за намиране на обратна матрица - MINVERSE - може да я пробваш ;) успех

Публикувано на: Вто Дек 22, 2009 12:13 pm
от eo.geodesy
smart написа:в Excel има една много удобна функция за намиране на обратна матрица - MINVERSE - може да я пробваш ;) успех
Благодаря, но бих предпочел математически формули, понеже ми трябват в една програма, на Pascal, която вече прави транспониране и умножение на матрици, сега остава да направи обръшането на квадратна симетрична матрица и изравнението е почти готово ....
Разбира се за проверка на програмката, с удоволствие ще използвам функцията на Excel, стига да разбера как се използва ...

Публикувано на: Вто Дек 22, 2009 10:23 pm
от Biliana

Публикувано на: Сря Дек 23, 2009 10:18 am
от Красимир Колев
Колко е голяма получената матрица ?

Публикувано на: Чет Дек 24, 2009 12:10 am
от eo.geodesy
Красимир Колев написа:Колко е голяма получената матрица ?
Решавам елементарен пример от учебника по ТМОГИ, с който мога да си контролирам резултатите, докато правя програмата ....
Матрицата, която трябва да се инвертира ( обърне ) е 4x4, но за в бъдеще, ще трябва да имам универсални формули и за по-голям размер ....
( Постепенно трябва да постигна универсалност на програмата )

Публикувано на: Чет Дек 24, 2009 10:00 am
от Красимир Колев
Пише, че програмираш на Делфи. За продуктите на Борланд има една камара добавки (статични библиотеки, пакети обекти и т.н.). Със сигурност има и някоя с матрични функции. По принцип има една универсална формулка, обаче не съм я пробвал, защото ми се струва, че е доста мудна и бавна (аз па пиша на C++). Ако искаш, ше я изровя и ше драсна някакви обяснения :) А за тестове дали работи правилно, някой по-горе каза - Excel ти е варианта. Аз навремето така си тествах едно параметрично изравнение :)

Публикувано на: Чет Дек 24, 2009 9:16 pm
от eo.geodesy
Красимир Колев написа:Пише, че програмираш на Делфи. За продуктите на Борланд има една камара добавки (статични библиотеки, пакети обекти и т.н.). Със сигурност има и някоя с матрични функции. По принцип има една универсална формулка, обаче не съм я пробвал, защото ми се струва, че е доста мудна и бавна (аз па пиша на C++). Ако искаш, ше я изровя и ше драсна някакви обяснения :) А за тестове дали работи правилно, някой по-горе каза - Excel ти е варианта. Аз навремето така си тествах едно параметрично изравнение :)
Програмирам на Делфи, напоследък на Lazarus ( Free Pascal ) ....
Търсих много, но то си е и въпрос на късмет дали и кога, ще намеря библиотека, обект, компонент, функция или процедура, която да върши това, от което се нуждая ....
Ако не ти представлява трудност, изрови тази униерсална формулка, нищо, дали е бавна или не, ако драснеш и обяснения за нея - супер !
Да Excel ще върши работа за тестване на самото обръщане на квадратна симетрична матрица ( примерът който правя в момента е точно за параметрично изравнение на трилатерация /измерени само дължини/ в една малка мрежа от няколко точки ... ).

Публикувано на: Пет Дек 25, 2009 6:11 am
от Красимир Колев
За параметрично изравнение не ти трябва обръщане на матрица. Алгоритъма на Гаус за решаване на системата нормални уравнения върши страхотна работа. По този начин освен, че решаваш изравнението, така или иначе намираш и обратната матрица и то без да си блъскаш главата с матрични преобразувания :). Проблема е, че имаше един доста тегав за "циклене" момент. Все пак ше питам дебелите книги за формулата, а ако искаш, давам и сорс код (С++ обаче) за съставяне и решаване на СНУ. Тестван и работещ.

Публикувано на: Пет Дек 25, 2009 10:22 am
от eo.geodesy
Честита Коледа :!:
Четох "Метод на последователната ортогонализация или пряк начин за решаване на задачата на посредственото изравнение" от учебника ЕИТ в геодезията на проф.д-р т.н.Георги Златанов 1979г. стр.75, формула /2.3.51/:
X = -(A*A)-1 A*F; където А* е транспонираната на матрицата с коефициентите A;
Ако намериш формула за изравнение и ( C++ source code тестван и работещ ) - супер, ще напрегна сивото вещество, да преведа от C++ на Pascal.... ще питам тук - там, все някой ще помогне ....
Благодаря :!:

Публикувано на: Пет Дек 25, 2009 3:08 pm
от Красимир Колев
Честита ви коледа :)

Като за програмисти препоръчвам "Обобщение на МНМК за изравнение на нормално разпределени измервания" пак на проф. Златанов (лека му пръст). Сравнително нова е, 1996, само че не пише издателство, ала бала ... Ама така поне като гледам как е опакована, най-вероятно е ВИАС-ко произведение :). Аз я купувах от едната от книжарниците в старата сграда. На предната корица пише "Книга за инженера и програмиста". Има доста неща, които на друго място не съм срещал, примерен код на Basic и C++, също и това, което ти трябва.

P.S. Имаш лично съобщение :)

Публикувано на: Чет Яну 07, 2010 1:58 pm
от Незнайко1
За много години!
ето един линк http://alglib.sources.ru/linequations/s ... c/ldlt.php
има два метода единия е Холецки той решава цялата матрица (примерно КООРД - константно време за обръщане на матрицата независимо дали е плътна или разредена),
другият е Гаус-Жордан за симетрични близко диагонални матрици, силно разредени (примерно ТПЛАН - много бърз ако е разредена диагонална лента, колкото по плътна матрицата толкова по-бавен) това е най-ефективно за полигони - получават се силно разредени матрици. И за да стене близко диагонална се ползва алгоритъма на KM ( Катхила-Макки http://www.mathnet.ru/php/getFT.phtml?j ... what=fullt )

Публикувано на: Сря Яну 13, 2010 7:00 pm
от eo.geodesy
За много години :!:
Благодаря Незнайко1 :!:
Точно днес ( 13.януари.2010 ) успях превеждайки формулите на Красимир Колев от C++ да тествам успешно два примера за изравнение .... единия от стар учебник по ТМОГИ, другия от старо ръководство по ТМОГИ ....
Ще пробвам и твоите линкове в най-близко възможно бъдеще.
Нищо не ми пречи да имам два варианта за изравнение, или пък специален вариант за изравнение на полигони .... :idea:
( Уж на 13-ти би трябвало да не ми върви, но днес ми провървя, странно но факт .... :D
Благодаря още веднъж :!: :!: :!: :!: )