Система уравнений

maidan

Местный
Регистрация
6 Янв 2005
Сообщения
93
Реакции
4
Credits
150
epgeva.jpg

вот пример, надите х1-х9 . жду ответов и алгоритмы решения
 
Последнее редактирование модератором:

ploki

Местный
Регистрация
16 Май 2005
Сообщения
237
Реакции
180
Credits
0
А такая система сразу становится разрешимой! Так бы сразу и написали.
Ранг равен 6, =>

Решение в общем виде (один из вариантов!):
x1=C1
x2=C2
x3=-C1-C2+37
x4=-C2+2*C3+4
x5=-C1-C3+28
x6=C1+C2-C3-12
x7=-C1+C2-2*C3+17
x8=C1-C2+C3-9
x9=C3
 

ploki

Местный
Регистрация
16 Май 2005
Сообщения
237
Реакции
180
Credits
0
Правильно, но наверно седьмое уравнение для этого и нужно

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

maidan

Местный
Регистрация
6 Янв 2005
Сообщения
93
Реакции
4
Credits
150
ploki написал(а):
...лучше в нормальном учебнике линейной алгебры почитайте про линейную зависимость...
Во-первых мне приятней когда разговоривают на "ты",
Во-вторых , где взять нормальный учебник (в электроном виде) , уже поиск юзел, результатов - null :(
 

maidan

Местный
Регистрация
6 Янв 2005
Сообщения
93
Реакции
4
Credits
150
Нужен алгоритм решения таких же систем уравнений, где количество неизвестных
n^2,количество уравнений 2*n+1 , где n - натуральное число , n>2
 
Последнее редактирование модератором:

ploki

Местный
Регистрация
16 Май 2005
Сообщения
237
Реакции
180
Credits
0
А можешь привести общий вид системы, зависящий от n?
В виде, наподобие x(i)+x(i+1)+... = d(i), где i=[1, 2*n+1].
А то из приведённого частного случая он не совсем ясен.
Или хотя бы вариант при n=4.
А лучше полную формулировку технического задания на разработку программного продукта.
 

maidan

Местный
Регистрация
6 Янв 2005
Сообщения
93
Реакции
4
Credits
150
Задание такое : найти значения квадратной матрицы по известным суммам строк и столбцов, но так как решить это не возможно, добавляется сумма диагонали.Вариант для n=4:
Код:
x1+x2+x3+x4=d1;
x5+x6+x7+x8=d2;
x9+x10+x11+x12=d3;
x13+x14+x15+x16=d4;
x1+x5+x9+x13=d5;
x2+x6+x10+x14=d6;
x3+x7+x11+x15=d7;
x4+x8+x12+x16=d8;
x1+x6+x11+x16=d9;
Предполагается что n будет больше 200 , а может и 5000.
 
C

Casp(!)

_http://math1.front.ru/-позыркай тут учебники есть неплохие

maidan, я поколдовал немного над исходником,но все равно он непригоден для вычисления подобных уравнений,у которых все коэ-ты перед х=1:(
можно его полностью перелопатить,но это и есть та проблема которую ты изначально хотел решить
 
Последнее редактирование модератором:

maidan

Местный
Регистрация
6 Янв 2005
Сообщения
93
Реакции
4
Credits
150
:( решение должго быть, надо только всем разом подумать .Если квадратный корень с отрицательного числа добыть можно, то в матеметике нет ничего не решаемого. :)
 

ploki

Местный
Регистрация
16 Май 2005
Сообщения
237
Реакции
180
Credits
0
Решать в общем виде можно следующим образом:
1.
Проверяем условие (d(1)+...+d(n)=d(n+1)+...+d(2*n))
2.
Неизвестным x(1), ..., x(n-1) сопоставляем константы С(1), ...,C(n-1), неизвестным x(n+1), ..., x(2*n-1) сопоставляем константы С(n), ...,C(2*n-2) и т.д. вплоть до С(n^2-2*n).
3.
Неизвестные x(n), x(2*n), ..., x((n-2)*n), x(n^2-n+1), x(n^2-n+2), ..., x(n^2-2) выражаем через уже известные C(i).
4.
Получаем нормальную систему из пяти уравнений с 4 неизвестными, одно из первых четырёх уравнений выкидываем (они линейно зависимы) и решаем любым методом (например, Якоби).
5.
Ура, это всё.

Пример для n=4:
x1=C1
x2=C2
x3=C3
x5=C4
x6=C5
x7=C6
x9=C7
x10=C8

x5=-C1-C2-C3+d1
x8=-C4-C5-C6+d2
x13=-C1-C4-C7+d5
x14=-C2-C5-C8+d6

Осталась система:
x11+x12=d3-...
x15+x16=d4-...
x11+x15=d7-...
x12+x16=d8-...
x11+x16=d9-...
(Замечу, что правые части просто лень писать - долго, я тут попробовал, страницу исписал и надоело, надо на компе!)
Первое уравнение (x11+x12=...) выкидываем.
Остальные решаем. Всё.

Проверь, может я где ошибся :)
 
Последнее редактирование модератором:

maidan

Местный
Регистрация
6 Янв 2005
Сообщения
93
Реакции
4
Credits
150
Спасибо, вроде всё ок. Теперь буду пробовать писать прогу.
 
Последнее редактирование модератором:

maidan

Местный
Регистрация
6 Янв 2005
Сообщения
93
Реакции
4
Credits
150
Перед тем как писать прогу решил еще раз проверить, но не получилось(5 раз проверял).На первой странице есть пример для n=3 , решите плз, и напишите ответ(х1-х9). Или я не вьехал или где то ошибка.Если это я не понял, распишите пример для n=3 или n=4 , pls :help: :help2: :confused:
 

Ognev

ex-Team DUMPz
Местный
Регистрация
20 Авг 2004
Сообщения
2,079
Реакции
908
Credits
0
Хрена, мужики, вы даете! Линейные системы всю жизнь через определители решали. Ну а для склонных к извращениям - можно программно искать преобразование, приводящее матрицу к диагональному виду.
Удачи.
 

ploki

Местный
Регистрация
16 Май 2005
Сообщения
237
Реакции
180
Credits
0
To Ognev - это совсем не тот случай.

To maidan - проверил для n=4. Мой алгоритм сработал правильно. Вот полный ответ:
x1=C1
x2=C2
x3=C3
x4=-C1-C2-C3+d1
x5=C4
x6=C5
x7=C6
x8=-C4-C5-C6+d2
x9=C7
x10=C8
x11=1/2*d9+1/2*d7-1/2*C3-1/2*C6-1/2*d4+1/2*d5-1/2*C4-1/2*C7+1/2*d6-1/2*C2-1/2*C8-C1-C5
x12=-1/2*d9+1/2*d7+1/2*C3+1/2*C6-1/2*d4+1/2*d5+1/2*C4-1/2*C7+1/2*d6+1/2*C2-1/2*C8+d8-d1+C1-d2+C5
x13=-C1-C4-C7+d5
x14=-C2-C5-C8+d6
x15=-1/2*d9+1/2*d7-1/2*C3-1/2*C6+1/2*d4-1/2*d5+1/2*C4+1/2*C7-1/2*d6+1/2*C2+1/2*C8+C1+C5
x16=1/2*d9-1/2*d7+1/2*C3+1/2*C6+1/2*d4-1/2*d5+1/2*C4+1/2*C7-1/2*d6+1/2*C2+1/2*C8

Я проверил, что уровнения выполняются. Но может, где при перезаписи на форум слегка ошибся.

Добавление - заметил ошибку в своём предыдущем посте: было x5=-C1-C2-C3+d1, надо x4=-C1-C2-C3+d1!
 
Последнее редактирование модератором: