ministrel 0 13 апреля, 2005 Опубликовано 13 апреля, 2005 · Жалоба Hi ALL! Помогите пожалуйста. Мне надо собрать на ПЛИС устройство, которое вычисляет определитель матрицы размерностью 6х6. И всё бы ничего, но формула определителя имеет 720 слагаемых в каждом из которых по 5 опреаций умножения (...-a1*b2*c3*d4*f5+...) :blink: Так вот я решил разложить матрицу по минорам и алгеброическим дополнениям так, чтобы получилось 120 (если не ошибаюсь) матриц 3х3 умноженных на алгеброические дополнения. Есть ли в Matlab'e такая функция, которая производит разложение матриц (в символьном виде) на миноры ну и соответственно алг.доп.? P.S. Извиняюсь перед математиками, за неккоректное использование терминов :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MKS 0 21 апреля, 2005 Опубликовано 21 апреля, 2005 · Жалоба ...Так вот я решил разложить матрицу по минорам и алгеброическим дополнениям... Можно попробовать использовать т.н. QR разложение. При этом исходная матрица представляется в виде произведения матрицы Q(det(Q)=1), и матрицы R, которая является верхней триугольной. Следовательно определитель исходной матрицы будет равен произведению диагональных элементов матрицы R. Реализацию алгоритма на C и Pascal можно найти здесь Удачи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 0 3 мая, 2005 Опубликовано 3 мая, 2005 · Жалоба Еще вариант - смотрите, как вычисляется определитель в Матлабе (набрав в командной сторке "doc det"). Метод Гаусса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться