Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
oksanaBM
1 / 1 / 0
Регистрация: 27.01.2011
Сообщений: 91
#1

Обобщенная обратная матрица - C++

12.06.2014, 00:05. Просмотров 837. Ответов 5
Метки нет (Все метки)

Всем привет. В общем такая ситуация. Реализовала на с++ нахождение обратной матрицы путем решения СЛАУ методом Гаусса-Жордана. НО во всех случаях матрицы выходила вырожденной. Далее попробовала найти псевдообратную. Опять же ничего хорошего не вышло. Обратила матрицу в маткаде при помощи функции geninv () - задача решилась. Теперь ищу эту реализацию нахождения обобщенной обратной на си. Может кто-нибудь поделится формулой для обобщенно-обратной матрицы, идентичной операции geninv на маткаде ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2014, 00:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обобщенная обратная матрица (C++):

Обратная матрица - C++
Друзья, помогите пожалуйста с кодом. Нужен работающий простенький код на С++ для расчёта обратной матрицы, чтобы компилировался в microsoft...

Обратная матрица на С - C++
Помогите приЗЗЗ получить обратную матрицу из квадратной матрицы на "С" очень нада!!!!!!!!

Обратная матрица - C++
Дана разреженная матрица общего вида. Найти матрицу, обратную к ней... Нужно написать функцию которая вычисляет обратную матрицу, при этом...

Обратная матрица - C++
Срочно в СИ нужна программа нахождения обратной матрицы. Что-то я пробовала методом Гаусса у меня на первой же функции ошибка, расскажите...

Обратная матрица - C++
В общем писал я LUP разложение, но мне нужно еще дописать обратную матрицу, но не пойму, как и куда вставить эту обратную матрицу, да и как...

Обратная матрица - C++
Доброго времени суток Нужно написать прогу, которая решает СЛАУ методом обратной матрицы Однако, моя программа не работает...

5
gazlan
3133 / 1909 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
12.06.2014, 02:37 #2
Цитата Сообщение от oksanaBM Посмотреть сообщение
поделится формулой
Там не все так просто :-)

Теория есть у Лоусон, Хенсон "Численное решение задач метода наименьших квадратов" + см. работы Х. Д. Икрамова.

Версия на ALGOL'e была в оригинальной статье Golub, Reinsch "Singular Value Decomposition and Least Squares Solutions" (с тестовыми примерами) - рекомендую, на Fortran'e (перевод) у Форсайт, Малькольм, Моулер "Машинные методы математических вычислений" (переделывал в свое время на C).

SVD на C легко находится поиском (svd c source code), полностью псевдообращение навскидку не помню.

Могу поискать свою старую реализацию на C, но не сегодня.

Ищите по ключевым словам SVD и "псевдообратная по Пенроузу-Муру".
1
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
12.06.2014, 03:42 #3
gazlan, спасибо за чтиво на ночь.

по теме: если на плюсах нужно работать с матрицами, то в первую очередь следует обратить внимание на Boost::uBLAS
например, поиск обратной матрицы будет выглядеть так -- matrix <float> myInv = gjinverse(mySrc);
0
oksanaBM
1 / 1 / 0
Регистрация: 27.01.2011
Сообщений: 91
12.06.2014, 09:14  [ТС] #4
gazlan
Спасибо ) попробую найти.

Добавлено через 59 секунд
Vladimir.
С Boost::uBLAS была знакома, но успеха не было.
0
AndrSlav
44 / 44 / 6
Регистрация: 20.12.2013
Сообщений: 267
12.06.2014, 11:35 #5
А находить обратную матрицу с помощью LU разложения не пробовали?
0
oksanaBM
1 / 1 / 0
Регистрация: 27.01.2011
Сообщений: 91
12.06.2014, 12:36  [ТС] #6
AndrSlav
Если гаусс не может обратить, то LU тем более не обратит.
0
12.06.2014, 12:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2014, 12:36
Привет! Вот еще темы с ответами:

Обратная матрица третьего порядка - C++
Необходимо написать программу в С++, для нахождения обратной матрицы третьего порядка

Очень нужно...обратная матрица - C++
выбивает ошибку с filePath #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;values.h&gt; #include...

Обратная матрица. Отказывается компилировать. - C++
Нужно для матрицы 30*30 найти обратную. Задаю матрицу через rand() состоящую из 1 и 0. С помощью Метода Гаусса — Жордана нахожу обратную...

Обратная матрица методом отражения - C++
Нужно найти обратную матрицу методом отражения. Написала программу,не идёт,никак не могу понять в чем причина,помогите найти ошибку в коде....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru