IPB
ЛогинПароль:

> Компиляция правил для данного раздела

1. Заголовок темы должен быть информативным. В противном случае тема закрывается и удаляется ...
2. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
3. Одна тема - один вопрос (задача)
4. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Проблема с вычислением обратной матрицы, Как бороться в нулями на главной диагонали?
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской

Репутация: -  0  +


Необходимо решить систему нелинейных уравнений. Я это делаю через метод Ньютона, в процессе вычисляя обратную матрицу.
Я вычисляю обратную матрицу Lu методом, приведением матрицы к верхнетреугольной. На этом месте получается затык потому, что на главной диагонали получаются нули или очень малые значения. Эта матрица имеет решение, но нужны какие-то методы, чтобы обойти этот ступор.
Ранее , на этомфоруме, я встречал совет прибавлять к строке, в которой на главной диагонали образовался ноль, все нижестоящие - это неверный путь. Таким образом не находятся даже обратные матрицы, которые без труда вычислялись. Я просто суммировал 2 произвольные строки. В прямой матрице также делал эту операцию (и не делал тоже), при перемножении прямой и обратной матриц единичной не получалось.
Может кто знает как решить эту проблему?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


у меня есть чтото в конспекте похожее , к примеру

2 3 11 5 | 2
1 1 5 2 | 1
2 1 3 2 | -3
1 1 3 1 | -3

и от левой верхней части диагональ к низу
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской

Репутация: -  0  +


Цитата(Evyn @ 11.07.2007 23:28) *

у меня есть чтото в конспекте похожее , к примеру

2 3 11 5 | 2
1 1 5 2 | 1
2 1 3 2 | -3
1 1 3 1 | -3

и от левой верхней части диагональ к низу


Не совсем вас понял. Ваша матрица имеет обратную и она легко вычисляется.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


Может есть смысл прикрепить задание? Возможно есть вариант более простого решения.


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата(Tan @ 11.07.2007 17:39) *

Может есть смысл прикрепить задание? Возможно есть вариант более простого решения.


Матрица огромна и задание сюда не войдёт. Я дам вам вот эту матрицу ,у неё таже болезнь - она в прямом решении не имеет обратной матрицы

1 2 3 4
5 6 7 8
9 10 11 1
1 1 1 2
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Не знаю , говорим ли мы про одно и тоже. У меня пример такой:
{ 2X(1)+3X(2)+11X(3)+5X(4)=2
{ X(1)+X(2)+5X(3)+2X(4)=1
{ 2X(1)+X(2)+3X(3)+2X(4)=-3
{ X(1)+X(2)+3X(3)+4X(4)=-3

Исходя из системы уравнений создается матрица ~

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 52
Пол: Мужской

Репутация: -  0  +


Цитата(vly67 @ 11.07.2007 17:55) *

Необходимо решить систему нелинейных уравнений. Я это делаю через метод Ньютона, в процессе вычисляя обратную матрицу.
Я вычисляю обратную матрицу Lu методом, приведением матрицы к верхнетреугольной. На этом месте получается затык потому, что на главной диагонали получаются нули или очень малые значения. Эта матрица имеет решение, но нужны какие-то методы, чтобы обойти этот ступор.
Ранее , на этомфоруме, я встречал совет прибавлять к строке, в которой на главной диагонали образовался ноль, все нижестоящие - это неверный путь. Таким образом не находятся даже обратные матрицы, которые без труда вычислялись. Я просто суммировал 2 произвольные строки. В прямой матрице также делал эту операцию (и не делал тоже), при перемножении прямой и обратной матриц единичной не получалось.
Может кто знает как решить эту проблему?

Метод Гаусса(LU) -- самый плохой метод. Попробуй с выбором главного элемента(NPU). Да методов много, вот запрограммировать их сложнее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Весьма полезный ресурс
http://matclub.ru/lec1/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской

Репутация: -  0  +


ПРоблема в сингулярности матрицы, т.е. система имеет множество решений (детерминант матрицы равен нулю). Пока не найду путей обхода этого. Возможно и есть какие-то выходы , путём добавление в систему уравнений фиктивных переменных , а потом вычисление и основных.
Я вот экпериментировал, посмотрите. что вышло
Есть система уравнеий
x1+ 2*x2 +3*x3 + 4*x4 = 30
5*x1+ 6*x2 +7*x3 + 8*x4 = 70
9*x1+ 10*x2 +11*x3 + 1*x4 = 66
x1+ 1*x2 +1*x3 + 2*x4 = 14

Вектор свободных членов V={30,70,66,14}
матрица D=
1 2 3 4
5 6 7 8
9 10 11 1
1 1 1 2

детерминант det(D) =0,
но система имеет решения при x1=1, x2=2, x3=3, x4=4, а также при
x1=-2, x2=8, x3=0, x4=4, и при многих других.
ПРи введении фиктивного члена x5=1 система приобретает вид
x1+ 2*x2 +3*x3 + 4*x4 +x5= 31
5*x1+ 6*x2 +7*x3 + 8*x4 +x5= 71
9*x1+ 10*x2 +11*x3 + 1*x4 +x5= 67
x1+ 1*x2 +1*x3 + 2*x4 +x5= 15
x2+x5 = 3
Матрица D1=
1 2 3 4 1
5 6 7 8 1
9 10 11 1 1
1 1 1 2 1
0 1 0 0 1
детерминант det(D1) =-88,
и система имеет одно решение при x1=1, x2=2, x3=3, x4=4, x5=1
Но мне нужно работать с огромным массивом чисел, и понять как вводить фиктивную переменную и сколько их нужно для единственного решения - это я не могу пока.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






Цитата(vly67 @ 16.07.2007 14:21) *

ПРоблема в сингулярности матрицы, т.е. система имеет множество решений (детерминант матрицы равен нулю). Пока не найду путей обхода этого. Возможно и есть какие-то выходы , путём добавление в систему уравнений фиктивных переменных , а потом вычисление и основных.
Я вот экпериментировал, посмотрите. что вышло
Есть система уравнеий
x1+ 2*x2 +3*x3 + 4*x4 = 30
5*x1+ 6*x2 +7*x3 + 8*x4 = 70
9*x1+ 10*x2 +11*x3 + 1*x4 = 66
x1+ 1*x2 +1*x3 + 2*x4 = 14

Вектор свободных членов V={30,70,66,14}
матрица D=
1 2 3 4
5 6 7 8
9 10 11 1
1 1 1 2

детерминант det(D) =0,
но система имеет решения при x1=1, x2=2, x3=3, x4=4, а также при
x1=-2, x2=8, x3=0, x4=4, и при многих других.
ПРи введении фиктивного члена x5=1 система приобретает вид
x1+ 2*x2 +3*x3 + 4*x4 +x5= 31
5*x1+ 6*x2 +7*x3 + 8*x4 +x5= 71
9*x1+ 10*x2 +11*x3 + 1*x4 +x5= 67
x1+ 1*x2 +1*x3 + 2*x4 +x5= 15
x2+x5 = 3
Матрица D1=
1 2 3 4 1
5 6 7 8 1
9 10 11 1 1
1 1 1 2 1
0 1 0 0 1
детерминант det(D1) =-88,
и система имеет одно решение при x1=1, x2=2, x3=3, x4=4, x5=1
Но мне нужно работать с огромным массивом чисел, и понять как вводить фиктивную переменную и сколько их нужно для единственного решения - это я не могу пока.

Что-то такое детерминант матрицы ?
Если определитель матрицы равен нулю, то обратной матрицы не существует.
Если система имеет множество решений, то система имеет множество решений. smile.gif С этим ничего не поделаешь. vly67, ты же вроде решаешь методом Ньютона ? Вычисление обратной матрицы есть на форуме. Да сам метод есть у меня. Ты хоть расскажи, что надо сделать, как и каким методом.

 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской

Репутация: -  0  +


Цитата(Гость @ 17.07.2007 2:04) *

Что-то такое детерминант матрицы ?
Если определитель матрицы равен нулю, то обратной матрицы не существует.
Если система имеет множество решений, то система имеет множество решений. smile.gif С этим ничего не поделаешь. vly67, ты же вроде решаешь методом Ньютона ? Вычисление обратной матрицы есть на форуме. Да сам метод есть у меня. Ты хоть расскажи, что надо сделать, как и каким методом.


Ты вообще мало что понял из того , что я изложил.Если сказать точнее - ты вообще ничего не понял. В общем это пустая трата времени.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Пионер
**

Группа: Пользователи
Сообщений: 52
Пол: Мужской

Репутация: -  0  +


Цитата(vly67 @ 18.07.2007 12:23) *

Ты вообще мало что понял из того , что я изложил.Если сказать точнее - ты вообще ничего не понял. В общем это пустая трата времени.

Предыдущий пост гостя – мой.
Удачи.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 17.04.2024 4:33
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name